case NOARG:
fprintf(ofile,"%s\t|\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mkop(GETNXTPATT(),op_%s);\n",s);
+ fprintf(ofile,"\tEM_Nop(op_%s);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
case CSTOPT:
fprintf(ofile,"%s_narg\t|\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mknarg(GETNXTPATT(),op_%s);\n",s);
+ fprintf(ofile,"\tEM_Nnarg(op_%s);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
case CST:
fprintf(ofile,"%s\t| arith:n\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mkcst(GETNXTPATT(),op_%s,n);\n",s);
+ fprintf(ofile,"\tEM_Ncst(op_%s,n);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
case DEFILB:
fprintf(ofile,"df_ilb\t| label:l\t|\n");
if(op->id_used) {
- fprintf(ofile,"\tEM_mkdefilb(GETNXTPATT(),op_%s,l);\n",s);
+ fprintf(ofile,"\tEM_Ndefilb(op_%s,l);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
case PNAM:
fprintf(ofile,"%s\t| char *:s\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mkpro(GETNXTPATT(),op_%s,s);\n",s);
+ fprintf(ofile,"\tEM_Npro(op_%s,s);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
case LAB:
fprintf(ofile,"%s\t| label:l\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mkilb(GETNXTPATT(),op_%s,l);\n",s);
+ fprintf(ofile,"\tEM_Nilb(op_%s,l);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
case EXT:
fprintf(ofile,"%s\t| arith:n\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mkcst(GETNXTPATT(),op_%s,n);\n",s);
+ fprintf(ofile,"\tEM_Ncst(op_%s,n);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
}
fprintf(ofile,"%s_dnam\t| char *:s arith:n\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mksof(GETNXTPATT(),op_%s,s,n);\n",s);
+ fprintf(ofile,"\tEM_Nsof(op_%s,s,n);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
}
fprintf(ofile,"%s_dlb\t| label:l arith:n\t|\n",s);
if(op->id_used) {
- fprintf(ofile,"\tEM_mknof(GETNXTPATT(),op_%s,l,n);\n",s);
+ fprintf(ofile,"\tEM_Nnof(op_%s,l,n);\n",s);
fprintf(ofile,"\tOO_dfa(op_%s);\n",s);
}
else {
int s1,s2;
struct exp_node *e1,*e2;
{
- /* retrun 1 if tests are identical */
+ /* return 1 if tests are identical */
if(e1) {
if(!e2) return 0;
if(e1->node_type!=e2->node_type) return 0;
if (e1->leaf_val != e2->leaf_val) return 0;
return (patterns[s1].m_elems[e1->leaf_val-1]->
op_code->id_argfmt
- == patterns[s1].m_elems[e2->leaf_val-1]->
+ == patterns[s2].m_elems[e2->leaf_val-1]->
op_code->id_argfmt);
case PSIZE:
case WSIZE:
+ case DWSIZE:
return 1;
}
+ /*NOTREACHED*/
}
else return (e2==0);
}
char *mnem = ri->op_code->id_text;
switch(ri->op_code->id_argfmt) {
case NOARG:
- fprintf(ofile,"\t\tEM_mkop(GETNXTREPL(),op_%s);\n",mnem);
+ fprintf(ofile,"\t\tEM_Rop(op_%s);\n",mnem);
break;
case CST:
- fprintf(ofile,"\t\tEM_mkcst(GETNXTREPL(),op_%s,",mnem);
+ fprintf(ofile,"\t\tEM_Rcst(op_%s,",mnem);
fprintf(ofile,"(arith)");
outexp(ri->arg,state);
fprintf(ofile,");\n");
break;
case CSTOPT:
if(ri->arg) {
- fprintf(ofile,"\t\tEM_mkcst(GETNXTREPL(),op_%s,",mnem);
+ fprintf(ofile,"\t\tEM_Rcst(op_%s,",mnem);
fprintf(ofile,"(arith)");
outexp(ri->arg,state);
}
else {
- fprintf(ofile,"\t\tEM_mknarg(GETNXTREPL(),op_%s);\n",mnem);
+ fprintf(ofile,"\t\tEM_Rnarg(op_%s);\n",mnem);
}
fprintf(ofile,");\n");
break;
case LAB:
- fprintf(ofile,"\t\tEM_mkilb(GETNXTREPL(),op_%s,",mnem);
+ fprintf(ofile,"\t\tEM_Rilb(op_%s,",mnem);
outexp(ri->arg,state);
fprintf(ofile,");\n");
break;
case DEFILB:
- fprintf(ofile,"\t\tEM_mkdefilb(GETNXTREPL(),op_%s,",mnem);
+ fprintf(ofile,"\t\tEM_Rdefilb(op_%s,",mnem);
outexp(ri->arg,state);
fprintf(ofile,");\n");
break;
case PNAM:
- fprintf(ofile,"\t\tEM_mkpro(GETNXTREPL(),op_%s,",mnem);
+ fprintf(ofile,"\t\tEM_Rpro(op_%s,",mnem);
outexp(ri->arg,state);
fprintf(ofile,");\n");
break;
case EXT:
- fprintf(ofile,"\t\tOO_mkext(GETNXTREPL(),op_%s,",mnem);
+ fprintf(ofile,"\t\tOO_mkext(GETNXTREPL(), op_%s,",mnem);
outexp(ri->arg,state);
fprintf(ofile,");\n");
break;
fprintf(ofile,"OO_PSIZE"); break;
case WSIZE:
fprintf(ofile,"OO_WSIZE"); break;
+ case DWSIZE:
+ fprintf(ofile,"OO_DWSIZE"); break;
case INT:
fprintf(ofile,"%d",e->leaf_val); break;
}
inc loc sbi w : loc $2-1 sbi w
dec loc adi w : loc $2-1 adi w
dec loc sbi w : loc $2+1 sbi w
-ldc adi 2*w ldc sbi 2*w : ldc $1-$3 adi 2*w
+ldc adi w2 ldc sbi w2 : ldc $1-$3 adi w2
loc adi w loc adi w : loc $1+$3 adi w
-ldc adi 2*w ldc adi 2*w : ldc $1+$3 adi 2*w
+ldc adi w2 ldc adi w2 : ldc $1+$3 adi w2
loc adi w loc mli w : loc $3 mli w loc $1*$3 adi w
loc adi w loc 1 sli w : loc $3 sli w loc 2*$1 adi w
adp 0 :
adp lof : lof $1+$2
adp ldf : ldf $1+$2
adp !=0 loi w : lof $1
-adp !=0 loi 2*w : ldf $1
+adp !=0 loi w2 : ldf $1
adp stf : stf $1+$2
adp sdf : sdf $1+$2
adp !=0 sti w : stf $1
-adp !=0 sti 2*w : sdf $1
+adp !=0 sti w2 : sdf $1
asp 0 :
asp asp : asp $1+$2
blm 0 : asp 2*p
dvi ngi $1 : ngi $1 dvi $1
lae adp : lae $1+$2
lae blm w : loi w ste $1
-lae blm 2*w : loi 2*w sde $1
+lae blm w2 : loi w2 sde $1
lae ldf : lde $1+$2
lae lof : loe $1+$2
lae loi w : loe $1
-lae loi 2*w : lde $1
+lae loi w2 : lde $1
#ifdef INT
lae loi loe $1-w ? $2%w==0: lae $3 loi $2+w
-lae loi lde $1-2*w ? $2%w==0: lae $3 loi $2+2*w
+lae loi lde $1-w2 ? $2%w==0: lae $3 loi $2+w2
lae $3+$4 loi lae loi ? $2%w==0 && $4%w==0: lae $3 loi $2+$4
lae sti ste $1+$2 : lae $1 sti $2+w
-lae sti sde $1+$2 : lae $1 sti $2+2*w
+lae sti sde $1+$2 : lae $1 sti $2+w2
lae sti loc ste $1-w : loc $3 lae $4 sti $2+w
lae sti lol ste $1-w : lol $3 lae $4 sti $2+w
#endif
lae lae blm loe $1+$3 ste $2+$3 : lae $1 lae $2 blm $3+w
-lae lae blm lde $1+$3 sde $2+$3 : lae $1 lae $2 blm $3+2*w
+lae lae blm lde $1+$3 sde $2+$3 : lae $1 lae $2 blm $3+w2
lae lae blm lae $1+$3 lae $2+$3 blm : lae $1 lae $2 blm $3+$6
lae lal blm lae $1+$3 lal $2+$3 blm ? samesign($2,$5):
lae $1 lal $2 blm $3+$6
lae sdf : sde $1+$2
lae stf : ste $1+$2
lae sti w : ste $1
-lae sti 2*w : sde $1
+lae sti w2 : sde $1
lal adp ? samesign($1,$1+$2): lal $1+$2
lal blm w : loi w stl $1
-lal blm 2*w : loi 2*w sdl $1
+lal blm w2 : loi w2 sdl $1
#ifdef INT
/*lal sti loc stl $1-w ? notreg($4) && samesign($1,$4): */
/* loc $3 lal $4 sti $2+w */
lal ldf ? samesign($1,$1+$2): ldl $1+$2
lal lof ? samesign($1,$1+$2): lol $1+$2
lal loi w : lol $1
-lal loi 2*w : ldl $1
+lal loi w2 : ldl $1
#ifdef INT
/*lal loi lol $1-w ? notreg($3) && samesign($1,$3) && $2%w==0: */
/* lal $3 loi $2+w */
-/*lal loi ldl $1-2*w ? notreg($3) && samesign($1,$3) && $2%w==0: */
-/* lal $3 loi $2+2*w */
+/*lal loi ldl $1-w2 ? notreg($3) && samesign($1,$3) && $2%w==0: */
+/* lal $3 loi $2+w2 */
lal loi lal loi $1-$3 ? samesign($1,$3) && $2%w==0 && $4%w==0:
lal $3 loi $2+$4
/*lal sti stl $1+$2 ? notreg($3) && samesign($1,$3): lal $1 sti $2+w */
-/*lal sti sdl $1+$2 ? notreg($3) && samesign($1,$3): lal $1 sti $2+2*w*/
+/*lal sti sdl $1+$2 ? notreg($3) && samesign($1,$3): lal $1 sti $2+w2*/
#endif
lal sdf ? samesign($1,$1+$2): sdl $1+$2
lal stf ? samesign($1,$1+$2): stl $1+$2
lal sti w : stl $1
-lal sti 2*w : sdl $1
+lal sti w2 : sdl $1
#ifdef INT
-lde lde $1-2*w : lae $2 loi 4*w
+lde lde $1-w2 : lae $2 loi 4*w
lde loe $1-w : lae $2 loi 3*w
#endif
lde sde $1 :
-lde sde lde $1+2*w sde $2+2*w : lae $1 lae $2 blm 4*w
+lde sde lde $1+w2 sde $2+w2 : lae $1 lae $2 blm 4*w
#ifdef INT
-/*ldl ldl $1-2*w ? notreg($1) && notreg($2) && samesign($1,$2):*/
+/*ldl ldl $1-w2 ? notreg($1) && notreg($2) && samesign($1,$2):*/
/* lal $2 loi 4*w */
/*ldl lol $1-w ? notreg($1) && notreg($2) && samesign($1,$2): */
/* lal $2 loi 3*w */
lxa lof lxa $1 stf $2 :
lxa ldf lxa $1 sdf $2 :
lxa >1 stf lxa $1 lof $2 : dup w lxa $1 stf $2
-lxa >1 sdf lxa $1 ldf $2 : dup 2*w lxa $1 sdf $2
+lxa >1 sdf lxa $1 ldf $2 : dup w2 lxa $1 sdf $2
lxl lof lxl $1 stf $2 :
lxl ldf lxl $1 sdf $2 :
lxl >1 stf lxl $1 lof $2 : dup w lxl $1 stf $2
-lxl >1 sdf lxl $1 ldf $2 : dup 2*w lxl $1 sdf $2
+lxl >1 sdf lxl $1 ldf $2 : dup w2 lxl $1 sdf $2
lxa >1 sti lxa $1 loi $2 ? $2%w==0: dup $2 lxa $1 sti $2
loc -1 adi w : dec
loc dec ? sfit($1-1,8*w) : loc $1-1
loc -1 bgt : zge $2
loc -1 ble : zlt $2
loc -1 dvi w : ngi w
-ldc -1 dvi 2*w : ngi 2*w
+ldc -1 dvi w2 : ngi w2
loc -1 loe adi w : loe $2 dec
loc -1 lol adi w : lol $2 dec
loc -1 mli w : ngi w
-ldc -1 mli 2*w : ngi 2*w
+ldc -1 mli w2 : ngi w2
loc -1 sbi w : inc
loc inc ? sfit($1+1,8*w) : loc $1+1
loc 0 adi w :
-ldc 0 adi 2*w :
+ldc 0 adi w2 :
loc 0 ads w :
-ldc 0 ads 2*w :
+ldc 0 ads w2 :
zer adi $1 :
loc 0 beq : zeq $2
loc 0 bge : zge $2
loc 0 cmu w zeq : zeq $3
loc 0 cmu w zne : zne $3
loc 0 ior w :
-ldc 0 ior 2*w :
+ldc 0 ior w2 :
zer ior $1 :
loc 0 ste : zre $2
loc 0 stl : zrl $2
loc 0 sbi w :
-ldc 0 sbi 2*w :
+ldc 0 sbi w2 :
zer sbi $1 :
loc 0 xor w :
-ldc 0 xor 2*w :
+ldc 0 xor w2 :
zer xor $1 :
loc 1 adi w : inc
loc 1 bge : zgt $2
loc 1 blt : zle $2
loc 1 dvi w :
-ldc 1 dvi 2*w :
+ldc 1 dvi w2 :
loc 1 dvu w :
-loc 1 dvu 2*w :
+loc 1 dvu w2 :
loc 1 loe adi w : loe $2 inc
loc 1 lol adi w : lol $2 inc
loc 0 mli w : asp w loc 0
-ldc 0 mli 2*w : asp 2*w ldc 0
+ldc 0 mli w2 : asp w2 ldc 0
loc 0 mlu w : asp w loc 0
-ldc 0 mlu 2*w : asp 2*w ldc 0
+ldc 0 mlu w2 : asp w2 ldc 0
loc 1 mli w :
-ldc 1 mli 2*w :
+ldc 1 mli w2 :
loc 1 mlu w :
-ldc 1 mlu 2*w :
+ldc 1 mlu w2 :
loc 1 sbi w : dec
loc loe mli w : loe $2 loc $1 mli w
loc loe mlu w : loe $2 loc $1 mlu w
loc lol adi w loc : lol $2 loc $1 adi w loc $4
loc lol adi w inc : lol $2 loc $1 adi w dec
loc lol adi w dec : lol $2 loc $1 adi w dec
-ldc lde mli 2*w : lde $2 ldc $1 mli 2*w
-ldc lde mlu 2*w : lde $2 ldc $1 mlu 2*w
-ldc lde adi 2*w : lde $2 ldc $1 adi 2*w
-ldc ldl mli 2*w : ldl $2 ldc $1 mli 2*w
-ldc ldl mlu 2*w : ldl $2 ldc $1 mlu 2*w
-ldc ldl adi 2*w : ldl $2 ldc $1 adi 2*w
+ldc lde mli w2 : lde $2 ldc $1 mli w2
+ldc lde mlu w2 : lde $2 ldc $1 mlu w2
+ldc lde adi w2 : lde $2 ldc $1 adi w2
+ldc ldl mli w2 : ldl $2 ldc $1 mli w2
+ldc ldl mlu w2 : ldl $2 ldc $1 mlu w2
+ldc ldl adi w2 : ldl $2 ldc $1 adi w2
loc 2 mli w : loc 1 sli w
loc 4 mli w : loc 2 sli w
loc 8 mli w : loc 3 sli w
loc los w : loi $1
loc sts w : sti $1
loc ads w : adp $1
-ldc ads 2*w ? sfit($1,8*w): adp $1
+ldc ads w2 ? sfit($1,8*w): adp $1
loc ass w : asp $1
loc bls w : blm $1
loc dus w : dup $1
#endif
loe ste $1 :
lol blm w ? p==w : loi w sil $1
-ldl blm w ? p==2*w : loi w sil $1
+ldl blm w ? p==w2 : loi w sil $1
lol dec stl $1 : del $1
lol inc stl $1 : inl $1
lol loc 0 mli w : loc 0
lol loi w ? w==p : lil $1
-ldl loi w ? p==2*w : lil $1
+ldl loi w ? p==w2 : lil $1
#ifdef INT
/*lol lol $1-w ? notreg($1) && notreg($2) && samesign($1,$2): */
/* ldl $2 */
#endif
lol stl $1:
lol sti w ? p==w : sil $1
-ldl sti w ? p==2*w : sil $1
+ldl sti w ? p==w2 : sil $1
mli ngi $1: ngi $1 mli $1
ngi adi $1: sbi $1
ngf adf $1: sbf $1
ngi ngi $1:
ngf ngf $1:
#ifdef INT
-sde sde $1+2*w : lae $1 sti 4*w
-sde ste $1+2*w : lae $1 sti 3*w
+sde sde $1+w2 : lae $1 sti 4*w
+sde ste $1+w2 : lae $1 sti 3*w
sde loc ste $1-w : loc $2 lae $3 sti 3*w
sde lol ste $1-w : lol $2 lae $3 sti 3*w
-sde lde $1 : dup 2*w sde $1
+sde lde $1 : dup w2 sde $1
#endif
-sdf 0 : sti 2*w
+sdf 0 : sti w2
#ifdef INT
-/*sdl sdl $1+2*w ? notreg($1) && notreg($2) && samesign($1,$2): */
+/*sdl sdl $1+w2 ? notreg($1) && notreg($2) && samesign($1,$2): */
/* lal $1 sti 4*w */
-/*sdl stl $1+2*w ? notreg($1) && notreg($2) && samesign($1,$2): */
+/*sdl stl $1+w2 ? notreg($1) && notreg($2) && samesign($1,$2): */
/* lal $1 sti 3*w */
/*sdl loc stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
/* loc $2 lal $3 sti 3*w */
/*sdl loe stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
/* loe $2 lal $3 sti 3*w */
-sdl ldl $1 : dup 2*w sdl $1
+sdl ldl $1 : dup w2 sdl $1
ste loe $1 : dup w ste $1
ste ste $1-w : sde $2
ste loc ste $1-w : loc $2 sde $3
stl lol $1 : dup w stl $1
#endif
stf 0 : sti w
-sdl ldl $1 ret 2*w : ret 2*w
+sdl ldl $1 ret w2 : ret w2
#ifdef INT
/*stl stl $1+w ? notreg($1) && notreg($2) && samesign($1,$2): sdl $1 */
/*stl loc stl $1-w ? notreg($1) && notreg($3) && samesign($1,$3): */
stl lol $1 ret w : ret w
lal sti lal $1 loi $2 ret $2 : ret $2
loc sbi w loc sbi w : loc $1+$3 sbi w
-ldc sbi 2*w ldc sbi 2*w : ldc $1+$3 sbi 2*w
+ldc sbi w2 ldc sbi w2 : ldc $1+$3 sbi w2
loc sbi w loc adi w : loc $1-$3 sbi w
-ldc sbi 2*w ldc adi 2*w : ldc $1-$3 sbi 2*w
+ldc sbi w2 ldc adi w2 : ldc $1-$3 sbi w2
loc sbi w loc mli w : loc $3 mli w loc $1*$3 sbi w
loc sbi w loc 1 sli w : loc $3 sli w loc 2*$1 sbi w
teq teq : tne
lol $4 inc dup w stl : inl $1 lol $1
lol $4 dec dup w stl : del $1 lol $1
adp dup p ste adp -$1 ? p==w : dup p adp $1 ste $3
-adp dup p sde adp -$1 ? p==2*w : dup p adp $1 sde $3
+adp dup p sde adp -$1 ? p==w2 : dup p adp $1 sde $3
adp dup p stl adp -$1 ? p==w : dup p adp $1 stl $3
-adp dup p sdl adp -$1 ? p==2*w : dup p adp $1 sdl $3
+adp dup p sdl adp -$1 ? p==w2 : dup p adp $1 sdl $3
inc dup w ste dec : dup w inc ste $3
inc dup w stl dec : dup w inc stl $3
#endif
lin bra : bra $2
#ifdef INT
dup p stl loi w ? p==w : stl $2 lil $2
-dup p sdl loi w ? p==2*w : sdl $2 lil $2
+dup p sdl loi w ? p==w2 : sdl $2 lil $2
dup p stl sti w ? p==w : stl $2 sil $2
-dup p sdl sti w ? p==2*w : sdl $2 sil $2
+dup p sdl sti w ? p==w2 : sdl $2 sil $2
#endif
loc 0 cms w : tne
zer w : loc 0
loc loc !=0 dvi w : loc $1/$2
loc loc and w : loc $1&$2
loc loc ior w : loc $1|$2
-loc 0 loc 0 ior 2*w :
+loc 0 loc 0 ior w2 :
loc loc xor w : loc $1^$2
-loc 0 loc 0 xor 2*w :
+loc 0 loc 0 xor w2 :
loc loc rol w : loc rotate($1,$2)
loc loc ror w : loc rotate($1,8*w-$2)
loc ngi w ? sfit(-$1,8*w) : loc -$1
loc com w : loc ~$1
-ldc ngi 2*w : ldc -$1
+ldc ngi w2 : ldc -$1
/*loc lae aar w ? $1>=rom(2,0) && $1 <= rom(2,0)+rom(2,1) : */
/* adp ($1-rom(2,0))*rom(2,2) */
/*loc lae lar w ? $1>=rom(2,0) && $1 <= rom(2,0)+rom(2,1) : */
lae loi >4*w lae sti $2 ? ($3<=$1-$2 || $3>=$1+$2) :
lae $1 lae $3 blm $2
loc 0 loc w loc cif : zrf $3
-loc >=0 loc w loc 2*w ciu : ldc $1
-loc loc w loc 2*w cii : ldc $1
+loc >=0 loc w loc w2 ciu : ldc $1
+loc loc w loc w2 cii : ldc $1
loi loc >=0 inn $1 ? $2<$1*8 :
lof ($2/(8*w))*w loc $2&(8*w-1) inn w
-ldl loc >=0 inn 2*w ? $2<16*w :
+ldl loc >=0 inn w2 ? $2<16*w :
lol $1+($2/(8*w))*w loc $2&(8*w-1) inn w
-lde loc >=0 inn 2*w ? $2<16*w :
+lde loc >=0 inn w2 ? $2<16*w :
loe $1+($2/(8*w))*w loc $2&(8*w-1) inn w
-ldf loc >=0 inn 2*w ? $2<16*w :
+ldf loc >=0 inn w2 ? $2<16*w :
lof $1+($2/(8*w))*w loc $2&(8*w-1) inn w
loc inn ? $1<0 || $1>=8*$2 : asp $2 loc 0
lol loc adi w stl $1 : loc $2 lol $1 adi w stl $4
loe lol and w ste $1 : lol $2 loe $1 and w ste $4
loi asp $1 : asp p
lal loi 4*w loc loc loc loc ior 4*w ? ($3==0)+($4==0)+($5==0)+($6==0)>2 :
- lol $1+3*w loc $3 ior w lol $1+2*w loc $4 ior w lol $1+w loc $5 ior w lol $1 loc $6 ior w
+ lol $1+3*w loc $3 ior w lol $1+w2 loc $4 ior w lol $1+w loc $5 ior w lol $1 loc $6 ior w
loc dup 2 stl loc dup 2 stl :
loc $1 stl $3 loc $4 stl $6 loc $1 loc $4
lol lol adp stl $2 sti != p ? p==w : lol $1 sti $5 lol $2 adp $3 stl $4
-ldl ldl adp sdl $2 sti != p ? p==2*w : ldl $1 sti $5 ldl $2 adp $3 sdl $4
+ldl ldl adp sdl $2 sti != p ? p==w2 : ldl $1 sti $5 ldl $2 adp $3 sdl $4
loe loe adp ste $2 sti !=p ? p==w : loe $1 sti $5 loe $2 adp $3 ste $4
-lde lde adp sde $2 sti !=p ? p==2*w : lde $1 sti $5 lde $2 adp $3 sde $4
+lde lde adp sde $2 sti !=p ? p==w2 : lde $1 sti $5 lde $2 adp $3 sde $4
#ifndef INT
dup w stl : stl $2 lol $2
dup w ste : ste $2 loe $2
dup w sil : sil $2 lil $2
dup w loe sti w ? p==w : loe $2 sti w loe $2 loi w
-dup w lde sti w ? p==2*w : lde $2 sti w lde $2 loi w
+dup w lde sti w ? p==w2 : lde $2 sti w lde $2 loi w
dup w lol stf ? p==w : lol $2 stf $3 lol $2 lof $3
-dup w ldl stf ? p==2*w : ldl $2 stf $3 ldl $2 lof $3
+dup w ldl stf ? p==w2 : ldl $2 stf $3 ldl $2 lof $3
dup w loe stf ? p==w : loe $2 stf $3 loe $2 lof $3
-dup w lde stf ? p==2*w : lde $2 stf $3 lde $2 lof $3
-dup 2*w sdl : sdl $2 ldl $2
-dup 2*w sde : sde $2 lde $2
-dup 2*w lol sti 2*w ? p==w : lol $2 sti 2*w lol $2 loi 2*w
-dup 2*w ldl sti 2*w ? p==2*w : ldl $2 sti 2*w ldl $2 loi 2*w
-dup 2*w loe sti 2*w ? p==w : loe $2 sti 2*w loe $2 loi 2*w
-dup 2*w lde sti 2*w ? p==2*w : lde $2 sti 2*w lde $2 loi 2*w
-dup 2*w lol sdf ? p==w : lol $2 sdf $3 lol $2 ldf $3
-dup 2*w ldl sdf ? p==2*w : ldl $2 sdf $3 ldl $2 ldf $3
-dup 2*w loe sdf ? p==w : loe $2 sdf $3 loe $2 ldf $3
-dup 2*w lde sdf ? p==2*w : lde $2 sdf $3 lde $2 ldf $3
+dup w lde stf ? p==w2 : lde $2 stf $3 lde $2 lof $3
+dup w2 sdl : sdl $2 ldl $2
+dup w2 sde : sde $2 lde $2
+dup w2 lol sti w2 ? p==w : lol $2 sti w2 lol $2 loi w2
+dup w2 ldl sti w2 ? p==w2 : ldl $2 sti w2 ldl $2 loi w2
+dup w2 loe sti w2 ? p==w : loe $2 sti w2 loe $2 loi w2
+dup w2 lde sti w2 ? p==w2 : lde $2 sti w2 lde $2 loi w2
+dup w2 lol sdf ? p==w : lol $2 sdf $3 lol $2 ldf $3
+dup w2 ldl sdf ? p==w2 : ldl $2 sdf $3 ldl $2 ldf $3
+dup w2 loe sdf ? p==w : loe $2 sdf $3 loe $2 ldf $3
+dup w2 lde sdf ? p==w2 : lde $2 sdf $3 lde $2 ldf $3
lol dup w : lol $1 lol $1
loe dup w : loe $1 loe $1
lil dup w : lil $1 lil $1
loe loi w dup 2 ? p==w : loe $1 loi w loe $1 loi w
-lde loi w dup 2 ? p==2*w : lde $1 loi w lde $1 loi w
-ldl dup 2*w : ldl $1 ldl $1
-lde dup 2*w : lde $1 lde $1
+lde loi w dup 2 ? p==w2 : lde $1 loi w lde $1 loi w
+ldl dup w2 : ldl $1 ldl $1
+lde dup w2 : lde $1 lde $1
#endif
adp stl lol $2 adp -$1 ? p==w : dup p adp $1 stl $2
-adp sdl ldl $2 adp -$1 ? p==2*w : dup p adp $1 sdl $2
+adp sdl ldl $2 adp -$1 ? p==w2 : dup p adp $1 sdl $2
adp ste loe $2 adp -$1 ? p==w : dup p adp $1 ste $2
-adp sde lde $2 adp -$1 ? p==2*w : dup p adp $1 sde $2
+adp sde lde $2 adp -$1 ? p==w2 : dup p adp $1 sde $2
adp sil lil $2 adp -$1 ? p==w : dup p adp $1 sil $2
adp lol sti p lol $2 loi p adp -$1 ? p==w : dup p adp $1 lol $2 sti p
-adp ldl sti p ldl $2 loi p adp -$1 ? p==2*w : dup p adp $1 ldl $2 sti p
+adp ldl sti p ldl $2 loi p adp -$1 ? p==w2 : dup p adp $1 ldl $2 sti p
adp loe sti p loe $2 loi p adp -$1 ? p==w : dup p adp $1 loe $2 sti p
-adp lde sti p lde $2 loi p adp -$1 ? p==2*w : dup p adp $1 lde $2 sti p
+adp lde sti p lde $2 loi p adp -$1 ? p==w2 : dup p adp $1 lde $2 sti p
/* dead code patterns */
bra aar : bra $1
bra adf : bra $1