;/*************************************************************************
;** interpcom-2.3   (command interpreter)                                 **
;** magic : a program for the command interpreter                         **
;**                                                                       **
;** Copyright (C) 2001  Jean-Marc Drezet                                  **
;**                                                                       **
;**  This library is free software; you can redistribute it and/or        **
;**  modify it under the terms of the GNU Library General Public          **
;**  License as published by the Free Software Foundation; either         **
;**  version 2 of the License, or (at your option) any later version.     **
;**									  **
;**  This library 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    **
;**  Library General Public License for more details. 			  **
;**									  **
;**  You should have received a copy of the GNU Library General Public    **
;**  License along with this library; if not, write to the Free		  **
;**  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   **
;**                                                                       **
;** Please mail any bug reports/fixes/enhancements to me at:              **
;**      drezet@math.jussieu.fr                                           **
;** or                                                                    **
;**      Jean-Marc Drezet                                                 **
;**      Institut de Mathematiques                                        **
;**      Aile 45-55                                                       **
;**      2, place Jussieu                                                 **
;**      75251 Paris Cedex 05                                             **
;**      France								  **
;**                                                                       **
; *************************************************************************/
;
;
;
;
:magic2
1
0
-1
echo 2 - With instructions sent directly to expr. ev.
echo \n
[
j=0
do a 2 10 1
do b a+1 16-a/2 1
c=33-a-b
if> c-16 lll0
do x a+1 10 1
if= x-b lll1
if= x-c lll1
do y x+1 16-x/2 1
if= y-b lll2
if= y-c lll2
l=33-x-y
if> l-16 lll2
if= l-b lll2
if= l-c lll2
do u 2 16 1
if< 29-a-u lll3
if= u-a lll3
if= u-b lll3
if= u-c lll3
if= u-x lll3
if= u-y lll3
if= u-l lll3
do v 2 16 1
if< 32-a-u-v lll4
if= v-u lll4
if= v-a lll4
if= v-b lll4
if= v-c lll4
if= v-x lll4
if= v-y lll4
if= v-l lll4
w=34-a-u-v
if> w-16 lll4
if< w-2 lll4
if= w-a lll4
if= w-b lll4
if= w-c lll4
if= w-x lll4
if= w-y lll4
if= w-l lll4
if= w-u lll4
if= w-v lll4
do t 2 16 1
if< 32-u-x-t lll6
if< 29-t-b lll6
if= t-w lll6
if= t-a lll6
if= t-b lll6
if= t-c lll6
if= t-x lll6
if= t-y lll6
if= t-l lll6
if= t-u lll6
if= t-v lll6
do s 2 16 1
if< 32-y-v-s lll7
if< 32-s-t-b lll7
if= s-w lll7
if= s-a lll7
if= s-b lll7
if= s-c lll7
if= s-x lll7
if= s-y lll7
if= s-l lll7
if= s-u lll7
if= s-v lll7
if= s-t lll7
r=34-b-t-s
p=34-x-u-t
q=34-y-v-s
n=34-c-p-q
if< r-2 lll7
if< p-2 lll7
if< q-2 lll7
if< n-2 lll7
if> r-16 lll7
if> p-16 lll7
if> q-16 lll7
if> n-16 lll7
if= r-w lll7
if= r-a lll7
if= r-b lll7
if= r-c lll7
if= r-x lll7
if= r-y lll7
if= r-l lll7
if= r-u lll7
if= r-v lll7
if= r-t lll7
if= r-s lll7
if= p-w lll7
if= p-a lll7
if= p-b lll7
if= p-c lll7
if= p-x lll7
if= p-y lll7
if= p-l lll7
if= p-u lll7
if= p-v lll7
if= p-t lll7
if= p-s lll7
if= p-r lll7
if= q-w lll7
if= q-a lll7
if= q-b lll7
if= q-c lll7
if= q-x lll7
if= q-y lll7
if= q-l lll7
if= q-u lll7
if= q-v lll7
if= q-t lll7
if= q-s lll7
if= q-r lll7
if= q-p lll7
j=j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
]
echoi j
undef *
echo \n
echo \n
;
:magic1
1
0
-1
echo 1 - With no optimizations
echo \n
jb=0
do ab 2 10 1
do bb ab+1 16-ab/2 1
cb=33-ab-bb
if> cb-16 lll0
do xb ab+1 10 1
if= xb-bb lll1
if= xb-cb lll1
do yb xb+1 16-xb/2 1
if= yb-bb lll2
if= yb-cb lll2
lb=33-xb-yb
if> lb-16 lll2
if= lb-bb lll2
if= lb-cb lll2
do ub 2 16 1
if< 29-ab-ub lll3
if= ub-ab lll3
if= ub-bb lll3
if= ub-cb lll3
if= ub-xb lll3
if= ub-yb lll3
if= ub-lb lll3
do vb 2 16 1
if< 32-ab-ub-vb lll4
if= vb-ub lll4
if= vb-ab lll4
if= vb-bb lll4
if= vb-cb lll4
if= vb-xb lll4
if= vb-yb lll4
if= vb-lb lll4
wb=34-ab-ub-vb
if> wb-16 lll4
if< wb-2 lll4
if= wb-ab lll4
if= wb-bb lll4
if= wb-cb lll4
if= wb-xb lll4
if= wb-yb lll4
if= wb-lb lll4
if= wb-ub lll4
if= wb-vb lll4
do tb 2 16 1
if< 32-ub-xb-tb lll6
if< 29-tb-bb lll6
if= tb-wb lll6
if= tb-ab lll6
if= tb-bb lll6
if= tb-cb lll6
if= tb-xb lll6
if= tb-yb lll6
if= tb-lb lll6
if= tb-ub lll6
if= tb-vb lll6
do sb 2 16 1
if< 32-yb-vb-sb lll7
if< 32-sb-tb-bb lll7
if= sb-wb lll7
if= sb-ab lll7
if= sb-bb lll7
if= sb-cb lll7
if= sb-xb lll7
if= sb-yb lll7
if= sb-lb lll7
if= sb-ub lll7
if= sb-vb lll7
if= sb-tb lll7
rb=34-bb-tb-sb
pb=34-xb-ub-tb
qb=34-yb-vb-sb
nb=34-cb-pb-qb
if< rb-2 lll7
if< pb-2 lll7
if< qb-2 lll7
if< nb-2 lll7
if> rb-16 lll7
if> pb-16 lll7
if> qb-16 lll7
if> nb-16 lll7
if= rb-wb lll7
if= rb-ab lll7
if= rb-bb lll7
if= rb-cb lll7
if= rb-xb lll7
if= rb-yb lll7
if= rb-lb lll7
if= rb-ub lll7
if= rb-vb lll7
if= rb-tb lll7
if= rb-sb lll7
if= pb-wb lll7
if= pb-ab lll7
if= pb-bb lll7
if= pb-cb lll7
if= pb-xb lll7
if= pb-yb lll7
if= pb-lb lll7
if= pb-ub lll7
if= pb-vb lll7
if= pb-tb lll7
if= pb-sb lll7
if= pb-rb lll7
if= qb-wb lll7
if= qb-ab lll7
if= qb-bb lll7
if= qb-cb lll7
if= qb-xb lll7
if= qb-yb lll7
if= qb-lb lll7
if= qb-ub lll7
if= qb-vb lll7
if= qb-tb lll7
if= qb-sb lll7
if= qb-rb lll7
if= qb-pb lll7
jb=jb+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
echoi jb
undef *
echo \n
echo \n
;
:magic3
1
0
-1
echo 3 - With instructions sent directly to expr. ev. + no parse obj.
echo \n
[0
j=0
do a 2 10 1
do b a+1 16-a/2 1
c=33-a-b
if> c-16 lll0
do x a+1 10 1
if= x-b lll1
if= x-c lll1
do y x+1 16-x/2 1
if= y-b lll2
if= y-c lll2
l=33-x-y
if> l-16 lll2
if= l-b lll2
if= l-c lll2
do u 2 16 1
if< 29-a-u lll3
if= u-a lll3
if= u-b lll3
if= u-c lll3
if= u-x lll3
if= u-y lll3
if= u-l lll3
do v 2 16 1
if< 32-a-u-v lll4
if= v-u lll4
if= v-a lll4
if= v-b lll4
if= v-c lll4
if= v-x lll4
if= v-y lll4
if= v-l lll4
w=34-a-u-v
if> w-16 lll4
if< w-2 lll4
if= w-a lll4
if= w-b lll4
if= w-c lll4
if= w-x lll4
if= w-y lll4
if= w-l lll4
if= w-u lll4
if= w-v lll4
do t 2 16 1
if< 32-u-x-t lll6
if< 29-t-b lll6
if= t-w lll6
if= t-a lll6
if= t-b lll6
if= t-c lll6
if= t-x lll6
if= t-y lll6
if= t-l lll6
if= t-u lll6
if= t-v lll6
do s 2 16 1
if< 32-y-v-s lll7
if< 32-s-t-b lll7
if= s-w lll7
if= s-a lll7
if= s-b lll7
if= s-c lll7
if= s-x lll7
if= s-y lll7
if= s-l lll7
if= s-u lll7
if= s-v lll7
if= s-t lll7
r=34-b-t-s
p=34-x-u-t
q=34-y-v-s
n=34-c-p-q
if< r-2 lll7
if< p-2 lll7
if< q-2 lll7
if< n-2 lll7
if> r-16 lll7
if> p-16 lll7
if> q-16 lll7
if> n-16 lll7
if= r-w lll7
if= r-a lll7
if= r-b lll7
if= r-c lll7
if= r-x lll7
if= r-y lll7
if= r-l lll7
if= r-u lll7
if= r-v lll7
if= r-t lll7
if= r-s lll7
if= p-w lll7
if= p-a lll7
if= p-b lll7
if= p-c lll7
if= p-x lll7
if= p-y lll7
if= p-l lll7
if= p-u lll7
if= p-v lll7
if= p-t lll7
if= p-s lll7
if= p-r lll7
if= q-w lll7
if= q-a lll7
if= q-b lll7
if= q-c lll7
if= q-x lll7
if= q-y lll7
if= q-l lll7
if= q-u lll7
if= q-v lll7
if= q-t lll7
if= q-s lll7
if= q-r lll7
if= q-p lll7
j=j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
]
echo \n
echoi j
undef *
echo \n
echo \n
;
;
;
:magic4
1
0
-1
echo 4 - With instructions sent directly to expr. ev. + no parse obj. + xxx
echo \n
[1
j=0
do a 2 10 1
do b a+1 16-a/2 1
c=33-a-b
if> c-16 lll0
do x a+1 10 1
if= x-b lll1
if= x-c lll1
do y x+1 16-x/2 1
if= y-b lll2
if= y-c lll2
l=33-x-y
if> l-16 lll2
if= l-b lll2
if= l-c lll2
do u 2 16 1
if< 29-a-u lll3
if= u-a lll3
if= u-b lll3
if= u-c lll3
if= u-x lll3
if= u-y lll3
if= u-l lll3
do v 2 16 1
if< 32-a-u-v lll4
if= v-u lll4
if= v-a lll4
if= v-b lll4
if= v-c lll4
if= v-x lll4
if= v-y lll4
if= v-l lll4
w=34-a-u-v
if> w-16 lll4
if< w-2 lll4
if= w-a lll4
if= w-b lll4
if= w-c lll4
if= w-x lll4
if= w-y lll4
if= w-l lll4
if= w-u lll4
if= w-v lll4
do t 2 16 1
if< 32-u-x-t lll6
if< 29-t-b lll6
if= t-w lll6
if= t-a lll6
if= t-b lll6
if= t-c lll6
if= t-x lll6
if= t-y lll6
if= t-l lll6
if= t-u lll6
if= t-v lll6
do s 2 16 1
if< 32-y-v-s lll7
if< 32-s-t-b lll7
if= s-w lll7
if= s-a lll7
if= s-b lll7
if= s-c lll7
if= s-x lll7
if= s-y lll7
if= s-l lll7
if= s-u lll7
if= s-v lll7
if= s-t lll7
r=34-b-t-s
p=34-x-u-t
q=34-y-v-s
n=34-c-p-q
if< r-2 lll7
if< p-2 lll7
if< q-2 lll7
if< n-2 lll7
if> r-16 lll7
if> p-16 lll7
if> q-16 lll7
if> n-16 lll7
if= r-w lll7
if= r-a lll7
if= r-b lll7
if= r-c lll7
if= r-x lll7
if= r-y lll7
if= r-l lll7
if= r-u lll7
if= r-v lll7
if= r-t lll7
if= r-s lll7
if= p-w lll7
if= p-a lll7
if= p-b lll7
if= p-c lll7
if= p-x lll7
if= p-y lll7
if= p-l lll7
if= p-u lll7
if= p-v lll7
if= p-t lll7
if= p-s lll7
if= p-r lll7
if= q-w lll7
if= q-a lll7
if= q-b lll7
if= q-c lll7
if= q-x lll7
if= q-y lll7
if= q-l lll7
if= q-u lll7
if= q-v lll7
if= q-t lll7
if= q-s lll7
if= q-r lll7
if= q-p lll7
j=j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
]
echo \n
echoi j
undef *
echo \n
echo \n
;
:magic5
1
0
-1
echo 5 - With direct access variables
echo \n
@j=0
do @a 2 10 1
do @b @a+1 16-@a/2 1
@c=33-@a-@b
if> @c-16 lll0
do @x @a+1 10 1
if= @x-@b lll1
if= @x-@c lll1
do @y @x+1 16-@x/2 1
if= @y-@b lll2
if= @y-@c lll2
@l=33-@x-@y
if> @l-16 lll2
if= @l-@b lll2
if= @l-@c lll2
do @u 2 16 1
if< 29-@a-@u lll3
if= @u-@a lll3
if= @u-@b lll3
if= @u-@c lll3
if= @u-@x lll3
if= @u-@y lll3
if= @u-@l lll3
do @v 2 16 1
if< 32-@a-@u-@v lll4
if= @v-@u lll4
if= @v-@a lll4
if= @v-@b lll4
if= @v-@c lll4
if= @v-@x lll4
if= @v-@y lll4
if= @v-@l lll4
@w=34-@a-@u-@v
if> @w-16 lll4
if< @w-2 lll4
if= @w-@a lll4
if= @w-@b lll4
if= @w-@c lll4
if= @w-@x lll4
if= @w-@y lll4
if= @w-@l lll4
if= @w-@u lll4
if= @w-@v lll4
do @t 2 16 1
if< 32-@u-@x-@t lll6
if< 29-@t-@b lll6
if= @t-@w lll6
if= @t-@a lll6
if= @t-@b lll6
if= @t-@c lll6
if= @t-@x lll6
if= @t-@y lll6
if= @t-@l lll6
if= @t-@u lll6
if= @t-@v lll6
do @s 2 16 1
if< 32-@y-@v-@s lll7
if< 32-@s-@t-@b lll7
if= @s-@w lll7
if= @s-@a lll7
if= @s-@b lll7
if= @s-@c lll7
if= @s-@x lll7
if= @s-@y lll7
if= @s-@l lll7
if= @s-@u lll7
if= @s-@v lll7
if= @s-@t lll7
@r=34-@b-@t-@s
@p=34-@x-@u-@t
@q=34-@y-@v-@s
@n=34-@c-@p-@q
if< @r-2 lll7
if< @p-2 lll7
if< @q-2 lll7
if< @n-2 lll7
if> @r-16 lll7
if> @p-16 lll7
if> @q-16 lll7
if> @n-16 lll7
if= @r-@w lll7
if= @r-@a lll7
if= @r-@b lll7
if= @r-@c lll7
if= @r-@x lll7
if= @r-@y lll7
if= @r-@l lll7
if= @r-@u lll7
if= @r-@v lll7
if= @r-@t lll7
if= @r-@s lll7
if= @p-@w lll7
if= @p-@a lll7
if= @p-@b lll7
if= @p-@c lll7
if= @p-@x lll7
if= @p-@y lll7
if= @p-@l lll7
if= @p-@u lll7
if= @p-@v lll7
if= @p-@t lll7
if= @p-@s lll7
if= @p-@r lll7
if= @q-@w lll7
if= @q-@a lll7
if= @q-@b lll7
if= @q-@c lll7
if= @q-@x lll7
if= @q-@y lll7
if= @q-@l lll7
if= @q-@u lll7
if= @q-@v lll7
if= @q-@t lll7
if= @q-@s lll7
if= @q-@r lll7
if= @q-@p lll7
@j=@j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
@a=0
@b=0
@c=0
@p=0
@q=0
@l=0
@x=0
@y=0
@u=0
@v=0
@s=0
@t=0
@w=0
@n=0
@r=0
echoi @j
echo \n
echo \n
;
:magic6
1
0
-1
echo 6 - With direct access vars + instructions sent directly to expr. ev.
echo \n
[
@j=0
do @a 2 10 1
do @b @a+1 16-@a/2 1
@c=33-@a-@b
if> @c-16 lll0
do @x @a+1 10 1
if= @x-@b lll1
if= @x-@c lll1
do @y @x+1 16-@x/2 1
if= @y-@b lll2
if= @y-@c lll2
@l=33-@x-@y
if> @l-16 lll2
if= @l-@b lll2
if= @l-@c lll2
do @u 2 16 1
if< 29-@a-@u lll3
if= @u-@a lll3
if= @u-@b lll3
if= @u-@c lll3
if= @u-@x lll3
if= @u-@y lll3
if= @u-@l lll3
do @v 2 16 1
if< 32-@a-@u-@v lll4
if= @v-@u lll4
if= @v-@a lll4
if= @v-@b lll4
if= @v-@c lll4
if= @v-@x lll4
if= @v-@y lll4
if= @v-@l lll4
@w=34-@a-@u-@v
if> @w-16 lll4
if< @w-2 lll4
if= @w-@a lll4
if= @w-@b lll4
if= @w-@c lll4
if= @w-@x lll4
if= @w-@y lll4
if= @w-@l lll4
if= @w-@u lll4
if= @w-@v lll4
do @t 2 16 1
if< 32-@u-@x-@t lll6
if< 29-@t-@b lll6
if= @t-@w lll6
if= @t-@a lll6
if= @t-@b lll6
if= @t-@c lll6
if= @t-@x lll6
if= @t-@y lll6
if= @t-@l lll6
if= @t-@u lll6
if= @t-@v lll6
do @s 2 16 1
if< 32-@y-@v-@s lll7
if< 32-@s-@t-@b lll7
if= @s-@w lll7
if= @s-@a lll7
if= @s-@b lll7
if= @s-@c lll7
if= @s-@x lll7
if= @s-@y lll7
if= @s-@l lll7
if= @s-@u lll7
if= @s-@v lll7
if= @s-@t lll7
@r=34-@b-@t-@s
@p=34-@x-@u-@t
@q=34-@y-@v-@s
@n=34-@c-@p-@q
if< @r-2 lll7
if< @p-2 lll7
if< @q-2 lll7
if< @n-2 lll7
if> @r-16 lll7
if> @p-16 lll7
if> @q-16 lll7
if> @n-16 lll7
if= @r-@w lll7
if= @r-@a lll7
if= @r-@b lll7
if= @r-@c lll7
if= @r-@x lll7
if= @r-@y lll7
if= @r-@l lll7
if= @r-@u lll7
if= @r-@v lll7
if= @r-@t lll7
if= @r-@s lll7
if= @p-@w lll7
if= @p-@a lll7
if= @p-@b lll7
if= @p-@c lll7
if= @p-@x lll7
if= @p-@y lll7
if= @p-@l lll7
if= @p-@u lll7
if= @p-@v lll7
if= @p-@t lll7
if= @p-@s lll7
if= @p-@r lll7
if= @q-@w lll7
if= @q-@a lll7
if= @q-@b lll7
if= @q-@c lll7
if= @q-@x lll7
if= @q-@y lll7
if= @q-@l lll7
if= @q-@u lll7
if= @q-@v lll7
if= @q-@t lll7
if= @q-@s lll7
if= @q-@r lll7
if= @q-@p lll7
@j=@j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
]
@a=0
@b=0
@c=0
@p=0
@q=0
@l=0
@x=0
@y=0
@u=0
@v=0
@s=0
@t=0
@w=0
@n=0
@r=0
echoi @j
echo \n
echo \n
;
;
;
:magic7
1
0
-1
echo 7 - With dir. access vars + instr. directly to expr. ev. + no parse obj.
echo \n
[0
@j=0
do @a 2 10 1
do @b @a+1 16-@a/2 1
@c=33-@a-@b
if> @c-16 lll0
do @x @a+1 10 1
if= @x-@b lll1
if= @x-@c lll1
do @y @x+1 16-@x/2 1
if= @y-@b lll2
if= @y-@c lll2
@l=33-@x-@y
if> @l-16 lll2
if= @l-@b lll2
if= @l-@c lll2
do @u 2 16 1
if< 29-@a-@u lll3
if= @u-@a lll3
if= @u-@b lll3
if= @u-@c lll3
if= @u-@x lll3
if= @u-@y lll3
if= @u-@l lll3
do @v 2 16 1
if< 32-@a-@u-@v lll4
if= @v-@u lll4
if= @v-@a lll4
if= @v-@b lll4
if= @v-@c lll4
if= @v-@x lll4
if= @v-@y lll4
if= @v-@l lll4
@w=34-@a-@u-@v
if> @w-16 lll4
if< @w-2 lll4
if= @w-@a lll4
if= @w-@b lll4
if= @w-@c lll4
if= @w-@x lll4
if= @w-@y lll4
if= @w-@l lll4
if= @w-@u lll4
if= @w-@v lll4
do @t 2 16 1
if< 32-@u-@x-@t lll6
if< 29-@t-@b lll6
if= @t-@w lll6
if= @t-@a lll6
if= @t-@b lll6
if= @t-@c lll6
if= @t-@x lll6
if= @t-@y lll6
if= @t-@l lll6
if= @t-@u lll6
if= @t-@v lll6
do @s 2 16 1
if< 32-@y-@v-@s lll7
if< 32-@s-@t-@b lll7
if= @s-@w lll7
if= @s-@a lll7
if= @s-@b lll7
if= @s-@c lll7
if= @s-@x lll7
if= @s-@y lll7
if= @s-@l lll7
if= @s-@u lll7
if= @s-@v lll7
if= @s-@t lll7
@r=34-@b-@t-@s
@p=34-@x-@u-@t
@q=34-@y-@v-@s
@n=34-@c-@p-@q
if< @r-2 lll7
if< @p-2 lll7
if< @q-2 lll7
if< @n-2 lll7
if> @r-16 lll7
if> @p-16 lll7
if> @q-16 lll7
if> @n-16 lll7
if= @r-@w lll7
if= @r-@a lll7
if= @r-@b lll7
if= @r-@c lll7
if= @r-@x lll7
if= @r-@y lll7
if= @r-@l lll7
if= @r-@u lll7
if= @r-@v lll7
if= @r-@t lll7
if= @r-@s lll7
if= @p-@w lll7
if= @p-@a lll7
if= @p-@b lll7
if= @p-@c lll7
if= @p-@x lll7
if= @p-@y lll7
if= @p-@l lll7
if= @p-@u lll7
if= @p-@v lll7
if= @p-@t lll7
if= @p-@s lll7
if= @p-@r lll7
if= @q-@w lll7
if= @q-@a lll7
if= @q-@b lll7
if= @q-@c lll7
if= @q-@x lll7
if= @q-@y lll7
if= @q-@l lll7
if= @q-@u lll7
if= @q-@v lll7
if= @q-@t lll7
if= @q-@s lll7
if= @q-@r lll7
if= @q-@p lll7
@j=@j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
]
@a=0
@b=0
@c=0
@p=0
@q=0
@l=0
@x=0
@y=0
@u=0
@v=0
@s=0
@t=0
@w=0
@n=0
@r=0
echoi @j
echo \n
echo \n
;
;
;
:magic8
1
0
-1
echo 8 - With dir. access vars + instr. dir. to expr. ev. + no parse obj. + xx
echo \n
[1
@j=0
do @a 2 10 1
do @b @a+1 16-@a/2 1
@c=33-@a-@b
if> @c-16 lll0
do @x @a+1 10 1
if= @x-@b lll1
if= @x-@c lll1
do @y @x+1 16-@x/2 1
if= @y-@b lll2
if= @y-@c lll2
@l=33-@x-@y
if> @l-16 lll2
if= @l-@b lll2
if= @l-@c lll2
do @u 2 16 1
if< 29-@a-@u lll3
if= @u-@a lll3
if= @u-@b lll3
if= @u-@c lll3
if= @u-@x lll3
if= @u-@y lll3
if= @u-@l lll3
do @v 2 16 1
if< 32-@a-@u-@v lll4
if= @v-@u lll4
if= @v-@a lll4
if= @v-@b lll4
if= @v-@c lll4
if= @v-@x lll4
if= @v-@y lll4
if= @v-@l lll4
@w=34-@a-@u-@v
if> @w-16 lll4
if< @w-2 lll4
if= @w-@a lll4
if= @w-@b lll4
if= @w-@c lll4
if= @w-@x lll4
if= @w-@y lll4
if= @w-@l lll4
if= @w-@u lll4
if= @w-@v lll4
do @t 2 16 1
if< 32-@u-@x-@t lll6
if< 29-@t-@b lll6
if= @t-@w lll6
if= @t-@a lll6
if= @t-@b lll6
if= @t-@c lll6
if= @t-@x lll6
if= @t-@y lll6
if= @t-@l lll6
if= @t-@u lll6
if= @t-@v lll6
do @s 2 16 1
if< 32-@y-@v-@s lll7
if< 32-@s-@t-@b lll7
if= @s-@w lll7
if= @s-@a lll7
if= @s-@b lll7
if= @s-@c lll7
if= @s-@x lll7
if= @s-@y lll7
if= @s-@l lll7
if= @s-@u lll7
if= @s-@v lll7
if= @s-@t lll7
@r=34-@b-@t-@s
@p=34-@x-@u-@t
@q=34-@y-@v-@s
@n=34-@c-@p-@q
if< @r-2 lll7
if< @p-2 lll7
if< @q-2 lll7
if< @n-2 lll7
if> @r-16 lll7
if> @p-16 lll7
if> @q-16 lll7
if> @n-16 lll7
if= @r-@w lll7
if= @r-@a lll7
if= @r-@b lll7
if= @r-@c lll7
if= @r-@x lll7
if= @r-@y lll7
if= @r-@l lll7
if= @r-@u lll7
if= @r-@v lll7
if= @r-@t lll7
if= @r-@s lll7
if= @p-@w lll7
if= @p-@a lll7
if= @p-@b lll7
if= @p-@c lll7
if= @p-@x lll7
if= @p-@y lll7
if= @p-@l lll7
if= @p-@u lll7
if= @p-@v lll7
if= @p-@t lll7
if= @p-@s lll7
if= @p-@r lll7
if= @q-@w lll7
if= @q-@a lll7
if= @q-@b lll7
if= @q-@c lll7
if= @q-@x lll7
if= @q-@y lll7
if= @q-@l lll7
if= @q-@u lll7
if= @q-@v lll7
if= @q-@t lll7
if= @q-@s lll7
if= @q-@r lll7
if= @q-@p lll7
@j=@j+1
lll7:
enddo
lll6:
enddo
lll4:
enddo
lll3:
enddo
lll2:
enddo
lll1:
enddo
lll0:
enddo
enddo
]
@a=0
@b=0
@c=0
@p=0
@q=0
@l=0
@x=0
@y=0
@u=0
@v=0
@s=0
@t=0
@w=0
@n=0
@r=0
echoi @j
echo \n
echo \n
;
;
;
:tout
1
1
-1
;
;
clock 1
magic1
magic2
magic3
magic4
magic5
magic6
magic7
magic8
;
;
