Generated on Thu Apr 11 13:59:22 2019 for Gecode by doxygen 1.6.3

mm-bool.cpp

Go to the documentation of this file.
00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
00002 /*
00003  *  Main authors:
00004  *     Christian Schulte <schulte@gecode.org>
00005  *
00006  * Contributing authors:
00007  *     Matthias Balzer <matthias.balzer@itwm.fraunhofer.de>
00008  *
00009  *  Copyright:
00010  *     Christian Schulte, 2008
00011  *     Matthias Balzer, 2016
00012  *
00013  *  This file is part of Gecode, the generic constraint
00014  *  development environment:
00015  *     http://www.gecode.org
00016  *
00017  *  Permission is hereby granted, free of charge, to any person obtaining
00018  *  a copy of this software and associated documentation files (the
00019  *  "Software"), to deal in the Software without restriction, including
00020  *  without limitation the rights to use, copy, modify, merge, publish,
00021  *  distribute, sublicense, and/or sell copies of the Software, and to
00022  *  permit persons to whom the Software is furnished to do so, subject to
00023  *  the following conditions:
00024  *
00025  *  The above copyright notice and this permission notice shall be
00026  *  included in all copies or substantial portions of the Software.
00027  *
00028  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00029  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00030  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00031  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00032  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00033  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00034  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00035  *
00036  */
00037 
00038 #include "test/int.hh"
00039 
00040 #include <gecode/minimodel.hh>
00041 
00042 namespace Test { namespace Int {
00043 
00045   namespace MiniModelBoolean {
00046 
00048      enum BoolOpcode {
00049        BO_NOT, 
00050        BO_AND, 
00051        BO_OR,  
00052        BO_IMP, 
00053        BO_XOR, 
00054        BO_EQV, 
00055        BO_HLT  
00056      };
00057 
00059      class BoolInstr {
00060      public:
00061        BoolOpcode o; 
00062        unsigned char x, y, z;  
00063      };
00064 
00066      int
00067      eval(const BoolInstr* pc, int reg[]) {
00068        while (true) {
00069          switch (pc->o) {
00070          case BO_NOT: reg[pc->y] = !reg[pc->x]; break;
00071          case BO_AND: reg[pc->z] = reg[pc->x] & reg[pc->y]; break;
00072          case BO_OR:  reg[pc->z] = reg[pc->x] | reg[pc->y]; break;
00073          case BO_IMP: reg[pc->z] = (!reg[pc->x]) | reg[pc->y]; break;
00074          case BO_XOR: reg[pc->z] = reg[pc->x] ^ reg[pc->y]; break;
00075          case BO_EQV: reg[pc->z] = reg[pc->x] == reg[pc->y]; break;
00076          case BO_HLT: return reg[pc->x];
00077          default: GECODE_NEVER;
00078          }
00079          pc++;
00080        }
00081        GECODE_NEVER;
00082      }
00083 
00085      Gecode::BoolExpr
00086      eval(const BoolInstr* pc, Gecode::BoolExpr reg[]) {
00087        using namespace Gecode;
00088        while (true) {
00089          switch (pc->o) {
00090          case BO_NOT: reg[pc->y] = !reg[pc->x]; break;
00091          case BO_AND: reg[pc->z] = reg[pc->x] && reg[pc->y]; break;
00092          case BO_OR:  reg[pc->z] = reg[pc->x] || reg[pc->y]; break;
00093          case BO_IMP: reg[pc->z] = (reg[pc->x] >> reg[pc->y]); break;
00094          case BO_XOR: reg[pc->z] = reg[pc->x] ^ reg[pc->y]; break;
00095          case BO_EQV: reg[pc->z] = (reg[pc->x] == reg[pc->y]); break;
00096          case BO_HLT: return reg[pc->x];
00097          default: GECODE_NEVER;
00098          }
00099          pc++;
00100        }
00101        GECODE_NEVER;
00102      }
00103 
00109 
00110      class BoolExprInt : public Test {
00111      protected:
00113        const BoolInstr* bis;
00115        int c;
00116      public:
00118        BoolExprInt(const BoolInstr* bis0, const std::string& s, int c0)
00119          : Test("MiniModel::BoolExpr::Int::"+s+"::"+str(c0),4,0,1),
00120            bis(bis0), c(c0) {}
00122        virtual bool solution(const Assignment& x) const {
00123          int reg[4] = {(x[0] != x[2]), x[1],
00124                        (x[2] > 0), x[3]};
00125          return eval(bis, reg) == c;
00126        }
00128        virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) {
00129          using namespace Gecode;
00130          Gecode::BoolExpr reg[4] = {
00131            (x[0] != x[2]),channel(home,x[1]),
00132            (x[2] > 0),channel(home,x[3])
00133          };
00134          if (c == 0)
00135            Gecode::rel(home, !(eval(bis,reg)));
00136          else
00137            Gecode::rel(home, eval(bis,reg));
00138        }
00139      };
00140 
00142      class BoolExprVar : public Test {
00143      protected:
00145        const BoolInstr* bis;
00146      public:
00148        BoolExprVar(const BoolInstr* bis0, const std::string& s)
00149          : Test("MiniModel::BoolExpr::Var::"+s,5,0,1), bis(bis0) {}
00151        virtual bool solution(const Assignment& x) const {
00152          int reg[4] = {(x[0] > x[2]), x[1],
00153                        (x[2] != 1), x[3]};
00154          return eval(bis, reg) == x[4];
00155        }
00157        virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) {
00158          using namespace Gecode;
00159          Gecode::BoolExpr reg[4] = {
00160            (x[0] > x[2]),channel(home,x[1]),
00161            (channel(home,x[2]) != 1),channel(home,x[3])
00162          };
00163          rel(home, Gecode::expr(home, eval(bis,reg)), IRT_EQ,
00164              channel(home,x[4]));
00165        }
00166      };
00167 
00168     const BoolInstr bi000[] = {
00169       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
00170       {BO_HLT,0,0,0}
00171     };
00172     const BoolInstr bi001[] = {
00173       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
00174       {BO_HLT,0,0,0}
00175     };
00176     const BoolInstr bi002[] = {
00177       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
00178       {BO_HLT,0,0,0}
00179     };
00180     const BoolInstr bi003[] = {
00181       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00182       {BO_AND,0,1,0},
00183       {BO_HLT,0,0,0}
00184     };
00185     const BoolInstr bi004[] = {
00186       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00187       {BO_AND,2,3,1},{BO_AND,0,1,0},
00188       {BO_HLT,0,0,0}
00189     };
00190     const BoolInstr bi005[] = {
00191       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00192       {BO_AND,0,1,0},
00193       {BO_HLT,0,0,0}
00194     };
00195     const BoolInstr bi006[] = {
00196       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00197       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00198       {BO_HLT,0,0,0}
00199     };
00200     const BoolInstr bi007[] = {
00201       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
00202       {BO_HLT,0,0,0}
00203     };
00204     const BoolInstr bi008[] = {
00205       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
00206       {BO_HLT,0,0,0}
00207     };
00208     const BoolInstr bi009[] = {
00209       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
00210       {BO_HLT,0,0,0}
00211     };
00212     const BoolInstr bi010[] = {
00213       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00214       {BO_OR ,0,1,0},
00215       {BO_HLT,0,0,0}
00216     };
00217     const BoolInstr bi011[] = {
00218       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00219       {BO_AND,2,3,1},{BO_OR ,0,1,0},
00220       {BO_HLT,0,0,0}
00221     };
00222     const BoolInstr bi012[] = {
00223       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00224       {BO_OR ,0,1,0},
00225       {BO_HLT,0,0,0}
00226     };
00227     const BoolInstr bi013[] = {
00228       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00229       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00230       {BO_HLT,0,0,0}
00231     };
00232     const BoolInstr bi014[] = {
00233       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
00234       {BO_HLT,0,0,0}
00235     };
00236     const BoolInstr bi015[] = {
00237       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
00238       {BO_HLT,0,0,0}
00239     };
00240     const BoolInstr bi016[] = {
00241       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
00242       {BO_HLT,0,0,0}
00243     };
00244     const BoolInstr bi017[] = {
00245       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00246       {BO_IMP,0,1,0},
00247       {BO_HLT,0,0,0}
00248     };
00249     const BoolInstr bi018[] = {
00250       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00251       {BO_AND,2,3,1},{BO_IMP,0,1,0},
00252       {BO_HLT,0,0,0}
00253     };
00254     const BoolInstr bi019[] = {
00255       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00256       {BO_IMP,0,1,0},
00257       {BO_HLT,0,0,0}
00258     };
00259     const BoolInstr bi020[] = {
00260       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00261       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00262       {BO_HLT,0,0,0}
00263     };
00264     const BoolInstr bi021[] = {
00265       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
00266       {BO_HLT,0,0,0}
00267     };
00268     const BoolInstr bi022[] = {
00269       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
00270       {BO_HLT,0,0,0}
00271     };
00272     const BoolInstr bi023[] = {
00273       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
00274       {BO_HLT,0,0,0}
00275     };
00276     const BoolInstr bi024[] = {
00277       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00278       {BO_XOR,0,1,0},
00279       {BO_HLT,0,0,0}
00280     };
00281     const BoolInstr bi025[] = {
00282       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00283       {BO_AND,2,3,1},{BO_XOR,0,1,0},
00284       {BO_HLT,0,0,0}
00285     };
00286     const BoolInstr bi026[] = {
00287       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00288       {BO_XOR,0,1,0},
00289       {BO_HLT,0,0,0}
00290     };
00291     const BoolInstr bi027[] = {
00292       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00293       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00294       {BO_HLT,0,0,0}
00295     };
00296     const BoolInstr bi028[] = {
00297       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
00298       {BO_HLT,0,0,0}
00299     };
00300     const BoolInstr bi029[] = {
00301       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
00302       {BO_HLT,0,0,0}
00303     };
00304     const BoolInstr bi030[] = {
00305       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
00306       {BO_HLT,0,0,0}
00307     };
00308     const BoolInstr bi031[] = {
00309       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00310       {BO_EQV,0,1,0},
00311       {BO_HLT,0,0,0}
00312     };
00313     const BoolInstr bi032[] = {
00314       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00315       {BO_AND,2,3,1},{BO_EQV,0,1,0},
00316       {BO_HLT,0,0,0}
00317     };
00318     const BoolInstr bi033[] = {
00319       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00320       {BO_EQV,0,1,0},
00321       {BO_HLT,0,0,0}
00322     };
00323     const BoolInstr bi034[] = {
00324       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00325       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00326       {BO_HLT,0,0,0}
00327     };
00328     const BoolInstr bi035[] = {
00329       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
00330       {BO_HLT,0,0,0}
00331     };
00332     const BoolInstr bi036[] = {
00333       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
00334       {BO_HLT,0,0,0}
00335     };
00336     const BoolInstr bi037[] = {
00337       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
00338       {BO_HLT,0,0,0}
00339     };
00340     const BoolInstr bi038[] = {
00341       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00342       {BO_AND,0,1,0},
00343       {BO_HLT,0,0,0}
00344     };
00345     const BoolInstr bi039[] = {
00346       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00347       {BO_OR ,2,3,1},{BO_AND,0,1,0},
00348       {BO_HLT,0,0,0}
00349     };
00350     const BoolInstr bi040[] = {
00351       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00352       {BO_AND,0,1,0},
00353       {BO_HLT,0,0,0}
00354     };
00355     const BoolInstr bi041[] = {
00356       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00357       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00358       {BO_HLT,0,0,0}
00359     };
00360     const BoolInstr bi042[] = {
00361       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
00362       {BO_HLT,0,0,0}
00363     };
00364     const BoolInstr bi043[] = {
00365       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
00366       {BO_HLT,0,0,0}
00367     };
00368     const BoolInstr bi044[] = {
00369       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
00370       {BO_HLT,0,0,0}
00371     };
00372     const BoolInstr bi045[] = {
00373       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00374       {BO_OR ,0,1,0},
00375       {BO_HLT,0,0,0}
00376     };
00377     const BoolInstr bi046[] = {
00378       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00379       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
00380       {BO_HLT,0,0,0}
00381     };
00382     const BoolInstr bi047[] = {
00383       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00384       {BO_OR ,0,1,0},
00385       {BO_HLT,0,0,0}
00386     };
00387     const BoolInstr bi048[] = {
00388       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00389       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00390       {BO_HLT,0,0,0}
00391     };
00392     const BoolInstr bi049[] = {
00393       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
00394       {BO_HLT,0,0,0}
00395     };
00396     const BoolInstr bi050[] = {
00397       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
00398       {BO_HLT,0,0,0}
00399     };
00400     const BoolInstr bi051[] = {
00401       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
00402       {BO_HLT,0,0,0}
00403     };
00404     const BoolInstr bi052[] = {
00405       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00406       {BO_IMP,0,1,0},
00407       {BO_HLT,0,0,0}
00408     };
00409     const BoolInstr bi053[] = {
00410       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00411       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
00412       {BO_HLT,0,0,0}
00413     };
00414     const BoolInstr bi054[] = {
00415       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00416       {BO_IMP,0,1,0},
00417       {BO_HLT,0,0,0}
00418     };
00419     const BoolInstr bi055[] = {
00420       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00421       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00422       {BO_HLT,0,0,0}
00423     };
00424     const BoolInstr bi056[] = {
00425       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
00426       {BO_HLT,0,0,0}
00427     };
00428     const BoolInstr bi057[] = {
00429       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
00430       {BO_HLT,0,0,0}
00431     };
00432     const BoolInstr bi058[] = {
00433       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
00434       {BO_HLT,0,0,0}
00435     };
00436     const BoolInstr bi059[] = {
00437       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00438       {BO_XOR,0,1,0},
00439       {BO_HLT,0,0,0}
00440     };
00441     const BoolInstr bi060[] = {
00442       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00443       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
00444       {BO_HLT,0,0,0}
00445     };
00446     const BoolInstr bi061[] = {
00447       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00448       {BO_XOR,0,1,0},
00449       {BO_HLT,0,0,0}
00450     };
00451     const BoolInstr bi062[] = {
00452       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00453       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00454       {BO_HLT,0,0,0}
00455     };
00456     const BoolInstr bi063[] = {
00457       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
00458       {BO_HLT,0,0,0}
00459     };
00460     const BoolInstr bi064[] = {
00461       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
00462       {BO_HLT,0,0,0}
00463     };
00464     const BoolInstr bi065[] = {
00465       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
00466       {BO_HLT,0,0,0}
00467     };
00468     const BoolInstr bi066[] = {
00469       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00470       {BO_EQV,0,1,0},
00471       {BO_HLT,0,0,0}
00472     };
00473     const BoolInstr bi067[] = {
00474       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00475       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
00476       {BO_HLT,0,0,0}
00477     };
00478     const BoolInstr bi068[] = {
00479       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00480       {BO_EQV,0,1,0},
00481       {BO_HLT,0,0,0}
00482     };
00483     const BoolInstr bi069[] = {
00484       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00485       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00486       {BO_HLT,0,0,0}
00487     };
00488     const BoolInstr bi070[] = {
00489       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
00490       {BO_HLT,0,0,0}
00491     };
00492     const BoolInstr bi071[] = {
00493       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
00494       {BO_HLT,0,0,0}
00495     };
00496     const BoolInstr bi072[] = {
00497       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
00498       {BO_HLT,0,0,0}
00499     };
00500     const BoolInstr bi073[] = {
00501       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00502       {BO_AND,0,1,0},
00503       {BO_HLT,0,0,0}
00504     };
00505     const BoolInstr bi074[] = {
00506       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00507       {BO_IMP,2,3,1},{BO_AND,0,1,0},
00508       {BO_HLT,0,0,0}
00509     };
00510     const BoolInstr bi075[] = {
00511       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00512       {BO_AND,0,1,0},
00513       {BO_HLT,0,0,0}
00514     };
00515     const BoolInstr bi076[] = {
00516       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00517       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00518       {BO_HLT,0,0,0}
00519     };
00520     const BoolInstr bi077[] = {
00521       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
00522       {BO_HLT,0,0,0}
00523     };
00524     const BoolInstr bi078[] = {
00525       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
00526       {BO_HLT,0,0,0}
00527     };
00528     const BoolInstr bi079[] = {
00529       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
00530       {BO_HLT,0,0,0}
00531     };
00532     const BoolInstr bi080[] = {
00533       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00534       {BO_OR ,0,1,0},
00535       {BO_HLT,0,0,0}
00536     };
00537     const BoolInstr bi081[] = {
00538       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00539       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
00540       {BO_HLT,0,0,0}
00541     };
00542     const BoolInstr bi082[] = {
00543       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00544       {BO_OR ,0,1,0},
00545       {BO_HLT,0,0,0}
00546     };
00547     const BoolInstr bi083[] = {
00548       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00549       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00550       {BO_HLT,0,0,0}
00551     };
00552     const BoolInstr bi084[] = {
00553       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
00554       {BO_HLT,0,0,0}
00555     };
00556     const BoolInstr bi085[] = {
00557       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
00558       {BO_HLT,0,0,0}
00559     };
00560     const BoolInstr bi086[] = {
00561       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
00562       {BO_HLT,0,0,0}
00563     };
00564     const BoolInstr bi087[] = {
00565       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00566       {BO_IMP,0,1,0},
00567       {BO_HLT,0,0,0}
00568     };
00569     const BoolInstr bi088[] = {
00570       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00571       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
00572       {BO_HLT,0,0,0}
00573     };
00574     const BoolInstr bi089[] = {
00575       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00576       {BO_IMP,0,1,0},
00577       {BO_HLT,0,0,0}
00578     };
00579     const BoolInstr bi090[] = {
00580       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00581       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00582       {BO_HLT,0,0,0}
00583     };
00584     const BoolInstr bi091[] = {
00585       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
00586       {BO_HLT,0,0,0}
00587     };
00588     const BoolInstr bi092[] = {
00589       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
00590       {BO_HLT,0,0,0}
00591     };
00592     const BoolInstr bi093[] = {
00593       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
00594       {BO_HLT,0,0,0}
00595     };
00596     const BoolInstr bi094[] = {
00597       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00598       {BO_XOR,0,1,0},
00599       {BO_HLT,0,0,0}
00600     };
00601     const BoolInstr bi095[] = {
00602       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00603       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
00604       {BO_HLT,0,0,0}
00605     };
00606     const BoolInstr bi096[] = {
00607       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00608       {BO_XOR,0,1,0},
00609       {BO_HLT,0,0,0}
00610     };
00611     const BoolInstr bi097[] = {
00612       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00613       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00614       {BO_HLT,0,0,0}
00615     };
00616     const BoolInstr bi098[] = {
00617       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
00618       {BO_HLT,0,0,0}
00619     };
00620     const BoolInstr bi099[] = {
00621       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
00622       {BO_HLT,0,0,0}
00623     };
00624     const BoolInstr bi100[] = {
00625       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
00626       {BO_HLT,0,0,0}
00627     };
00628     const BoolInstr bi101[] = {
00629       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00630       {BO_EQV,0,1,0},
00631       {BO_HLT,0,0,0}
00632     };
00633     const BoolInstr bi102[] = {
00634       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00635       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
00636       {BO_HLT,0,0,0}
00637     };
00638     const BoolInstr bi103[] = {
00639       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00640       {BO_EQV,0,1,0},
00641       {BO_HLT,0,0,0}
00642     };
00643     const BoolInstr bi104[] = {
00644       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00645       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00646       {BO_HLT,0,0,0}
00647     };
00648     const BoolInstr bi105[] = {
00649       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
00650       {BO_HLT,0,0,0}
00651     };
00652     const BoolInstr bi106[] = {
00653       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
00654       {BO_HLT,0,0,0}
00655     };
00656     const BoolInstr bi107[] = {
00657       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
00658       {BO_HLT,0,0,0}
00659     };
00660     const BoolInstr bi108[] = {
00661       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00662       {BO_AND,0,1,0},
00663       {BO_HLT,0,0,0}
00664     };
00665     const BoolInstr bi109[] = {
00666       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00667       {BO_XOR,2,3,1},{BO_AND,0,1,0},
00668       {BO_HLT,0,0,0}
00669     };
00670     const BoolInstr bi110[] = {
00671       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00672       {BO_AND,0,1,0},
00673       {BO_HLT,0,0,0}
00674     };
00675     const BoolInstr bi111[] = {
00676       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00677       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00678       {BO_HLT,0,0,0}
00679     };
00680     const BoolInstr bi112[] = {
00681       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
00682       {BO_HLT,0,0,0}
00683     };
00684     const BoolInstr bi113[] = {
00685       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
00686       {BO_HLT,0,0,0}
00687     };
00688     const BoolInstr bi114[] = {
00689       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
00690       {BO_HLT,0,0,0}
00691     };
00692     const BoolInstr bi115[] = {
00693       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00694       {BO_OR ,0,1,0},
00695       {BO_HLT,0,0,0}
00696     };
00697     const BoolInstr bi116[] = {
00698       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00699       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
00700       {BO_HLT,0,0,0}
00701     };
00702     const BoolInstr bi117[] = {
00703       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00704       {BO_OR ,0,1,0},
00705       {BO_HLT,0,0,0}
00706     };
00707     const BoolInstr bi118[] = {
00708       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00709       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00710       {BO_HLT,0,0,0}
00711     };
00712     const BoolInstr bi119[] = {
00713       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
00714       {BO_HLT,0,0,0}
00715     };
00716     const BoolInstr bi120[] = {
00717       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
00718       {BO_HLT,0,0,0}
00719     };
00720     const BoolInstr bi121[] = {
00721       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
00722       {BO_HLT,0,0,0}
00723     };
00724     const BoolInstr bi122[] = {
00725       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00726       {BO_IMP,0,1,0},
00727       {BO_HLT,0,0,0}
00728     };
00729     const BoolInstr bi123[] = {
00730       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00731       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
00732       {BO_HLT,0,0,0}
00733     };
00734     const BoolInstr bi124[] = {
00735       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00736       {BO_IMP,0,1,0},
00737       {BO_HLT,0,0,0}
00738     };
00739     const BoolInstr bi125[] = {
00740       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00741       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00742       {BO_HLT,0,0,0}
00743     };
00744     const BoolInstr bi126[] = {
00745       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
00746       {BO_HLT,0,0,0}
00747     };
00748     const BoolInstr bi127[] = {
00749       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
00750       {BO_HLT,0,0,0}
00751     };
00752     const BoolInstr bi128[] = {
00753       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
00754       {BO_HLT,0,0,0}
00755     };
00756     const BoolInstr bi129[] = {
00757       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00758       {BO_XOR,0,1,0},
00759       {BO_HLT,0,0,0}
00760     };
00761     const BoolInstr bi130[] = {
00762       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00763       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
00764       {BO_HLT,0,0,0}
00765     };
00766     const BoolInstr bi131[] = {
00767       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00768       {BO_XOR,0,1,0},
00769       {BO_HLT,0,0,0}
00770     };
00771     const BoolInstr bi132[] = {
00772       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00773       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00774       {BO_HLT,0,0,0}
00775     };
00776     const BoolInstr bi133[] = {
00777       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
00778       {BO_HLT,0,0,0}
00779     };
00780     const BoolInstr bi134[] = {
00781       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
00782       {BO_HLT,0,0,0}
00783     };
00784     const BoolInstr bi135[] = {
00785       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
00786       {BO_HLT,0,0,0}
00787     };
00788     const BoolInstr bi136[] = {
00789       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00790       {BO_EQV,0,1,0},
00791       {BO_HLT,0,0,0}
00792     };
00793     const BoolInstr bi137[] = {
00794       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00795       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
00796       {BO_HLT,0,0,0}
00797     };
00798     const BoolInstr bi138[] = {
00799       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00800       {BO_EQV,0,1,0},
00801       {BO_HLT,0,0,0}
00802     };
00803     const BoolInstr bi139[] = {
00804       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00805       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00806       {BO_HLT,0,0,0}
00807     };
00808     const BoolInstr bi140[] = {
00809       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
00810       {BO_HLT,0,0,0}
00811     };
00812     const BoolInstr bi141[] = {
00813       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
00814       {BO_HLT,0,0,0}
00815     };
00816     const BoolInstr bi142[] = {
00817       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
00818       {BO_HLT,0,0,0}
00819     };
00820     const BoolInstr bi143[] = {
00821       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00822       {BO_AND,0,1,0},
00823       {BO_HLT,0,0,0}
00824     };
00825     const BoolInstr bi144[] = {
00826       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00827       {BO_EQV,2,3,1},{BO_AND,0,1,0},
00828       {BO_HLT,0,0,0}
00829     };
00830     const BoolInstr bi145[] = {
00831       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00832       {BO_AND,0,1,0},
00833       {BO_HLT,0,0,0}
00834     };
00835     const BoolInstr bi146[] = {
00836       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00837       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00838       {BO_HLT,0,0,0}
00839     };
00840     const BoolInstr bi147[] = {
00841       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
00842       {BO_HLT,0,0,0}
00843     };
00844     const BoolInstr bi148[] = {
00845       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
00846       {BO_HLT,0,0,0}
00847     };
00848     const BoolInstr bi149[] = {
00849       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
00850       {BO_HLT,0,0,0}
00851     };
00852     const BoolInstr bi150[] = {
00853       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00854       {BO_OR ,0,1,0},
00855       {BO_HLT,0,0,0}
00856     };
00857     const BoolInstr bi151[] = {
00858       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00859       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
00860       {BO_HLT,0,0,0}
00861     };
00862     const BoolInstr bi152[] = {
00863       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00864       {BO_OR ,0,1,0},
00865       {BO_HLT,0,0,0}
00866     };
00867     const BoolInstr bi153[] = {
00868       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00869       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00870       {BO_HLT,0,0,0}
00871     };
00872     const BoolInstr bi154[] = {
00873       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
00874       {BO_HLT,0,0,0}
00875     };
00876     const BoolInstr bi155[] = {
00877       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
00878       {BO_HLT,0,0,0}
00879     };
00880     const BoolInstr bi156[] = {
00881       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
00882       {BO_HLT,0,0,0}
00883     };
00884     const BoolInstr bi157[] = {
00885       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00886       {BO_IMP,0,1,0},
00887       {BO_HLT,0,0,0}
00888     };
00889     const BoolInstr bi158[] = {
00890       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00891       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
00892       {BO_HLT,0,0,0}
00893     };
00894     const BoolInstr bi159[] = {
00895       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00896       {BO_IMP,0,1,0},
00897       {BO_HLT,0,0,0}
00898     };
00899     const BoolInstr bi160[] = {
00900       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00901       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00902       {BO_HLT,0,0,0}
00903     };
00904     const BoolInstr bi161[] = {
00905       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
00906       {BO_HLT,0,0,0}
00907     };
00908     const BoolInstr bi162[] = {
00909       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
00910       {BO_HLT,0,0,0}
00911     };
00912     const BoolInstr bi163[] = {
00913       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
00914       {BO_HLT,0,0,0}
00915     };
00916     const BoolInstr bi164[] = {
00917       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00918       {BO_XOR,0,1,0},
00919       {BO_HLT,0,0,0}
00920     };
00921     const BoolInstr bi165[] = {
00922       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00923       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
00924       {BO_HLT,0,0,0}
00925     };
00926     const BoolInstr bi166[] = {
00927       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00928       {BO_XOR,0,1,0},
00929       {BO_HLT,0,0,0}
00930     };
00931     const BoolInstr bi167[] = {
00932       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00933       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00934       {BO_HLT,0,0,0}
00935     };
00936     const BoolInstr bi168[] = {
00937       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
00938       {BO_HLT,0,0,0}
00939     };
00940     const BoolInstr bi169[] = {
00941       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
00942       {BO_HLT,0,0,0}
00943     };
00944     const BoolInstr bi170[] = {
00945       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
00946       {BO_HLT,0,0,0}
00947     };
00948     const BoolInstr bi171[] = {
00949       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00950       {BO_EQV,0,1,0},
00951       {BO_HLT,0,0,0}
00952     };
00953     const BoolInstr bi172[] = {
00954       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00955       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
00956       {BO_HLT,0,0,0}
00957     };
00958     const BoolInstr bi173[] = {
00959       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00960       {BO_EQV,0,1,0},
00961       {BO_HLT,0,0,0}
00962     };
00963     const BoolInstr bi174[] = {
00964       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00965       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00966       {BO_HLT,0,0,0}
00967     };
00968     const BoolInstr bi175[] = {
00969       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
00970       {BO_HLT,0,0,0}
00971     };
00972     const BoolInstr bi176[] = {
00973       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
00974       {BO_HLT,0,0,0}
00975     };
00976     const BoolInstr bi177[] = {
00977       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
00978       {BO_HLT,0,0,0}
00979     };
00980     const BoolInstr bi178[] = {
00981       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
00982       {BO_AND,0,1,0},
00983       {BO_HLT,0,0,0}
00984     };
00985     const BoolInstr bi179[] = {
00986       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
00987       {BO_AND,2,3,1},{BO_AND,0,1,0},
00988       {BO_HLT,0,0,0}
00989     };
00990     const BoolInstr bi180[] = {
00991       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00992       {BO_AND,0,1,0},
00993       {BO_HLT,0,0,0}
00994     };
00995     const BoolInstr bi181[] = {
00996       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00997       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00998       {BO_HLT,0,0,0}
00999     };
01000     const BoolInstr bi182[] = {
01001       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
01002       {BO_HLT,0,0,0}
01003     };
01004     const BoolInstr bi183[] = {
01005       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
01006       {BO_HLT,0,0,0}
01007     };
01008     const BoolInstr bi184[] = {
01009       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
01010       {BO_HLT,0,0,0}
01011     };
01012     const BoolInstr bi185[] = {
01013       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01014       {BO_OR ,0,1,0},
01015       {BO_HLT,0,0,0}
01016     };
01017     const BoolInstr bi186[] = {
01018       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01019       {BO_AND,2,3,1},{BO_OR ,0,1,0},
01020       {BO_HLT,0,0,0}
01021     };
01022     const BoolInstr bi187[] = {
01023       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01024       {BO_OR ,0,1,0},
01025       {BO_HLT,0,0,0}
01026     };
01027     const BoolInstr bi188[] = {
01028       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01029       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01030       {BO_HLT,0,0,0}
01031     };
01032     const BoolInstr bi189[] = {
01033       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
01034       {BO_HLT,0,0,0}
01035     };
01036     const BoolInstr bi190[] = {
01037       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
01038       {BO_HLT,0,0,0}
01039     };
01040     const BoolInstr bi191[] = {
01041       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
01042       {BO_HLT,0,0,0}
01043     };
01044     const BoolInstr bi192[] = {
01045       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01046       {BO_IMP,0,1,0},
01047       {BO_HLT,0,0,0}
01048     };
01049     const BoolInstr bi193[] = {
01050       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01051       {BO_AND,2,3,1},{BO_IMP,0,1,0},
01052       {BO_HLT,0,0,0}
01053     };
01054     const BoolInstr bi194[] = {
01055       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01056       {BO_IMP,0,1,0},
01057       {BO_HLT,0,0,0}
01058     };
01059     const BoolInstr bi195[] = {
01060       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01061       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01062       {BO_HLT,0,0,0}
01063     };
01064     const BoolInstr bi196[] = {
01065       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
01066       {BO_HLT,0,0,0}
01067     };
01068     const BoolInstr bi197[] = {
01069       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
01070       {BO_HLT,0,0,0}
01071     };
01072     const BoolInstr bi198[] = {
01073       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
01074       {BO_HLT,0,0,0}
01075     };
01076     const BoolInstr bi199[] = {
01077       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01078       {BO_XOR,0,1,0},
01079       {BO_HLT,0,0,0}
01080     };
01081     const BoolInstr bi200[] = {
01082       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01083       {BO_AND,2,3,1},{BO_XOR,0,1,0},
01084       {BO_HLT,0,0,0}
01085     };
01086     const BoolInstr bi201[] = {
01087       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01088       {BO_XOR,0,1,0},
01089       {BO_HLT,0,0,0}
01090     };
01091     const BoolInstr bi202[] = {
01092       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01093       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01094       {BO_HLT,0,0,0}
01095     };
01096     const BoolInstr bi203[] = {
01097       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
01098       {BO_HLT,0,0,0}
01099     };
01100     const BoolInstr bi204[] = {
01101       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
01102       {BO_HLT,0,0,0}
01103     };
01104     const BoolInstr bi205[] = {
01105       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
01106       {BO_HLT,0,0,0}
01107     };
01108     const BoolInstr bi206[] = {
01109       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01110       {BO_EQV,0,1,0},
01111       {BO_HLT,0,0,0}
01112     };
01113     const BoolInstr bi207[] = {
01114       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01115       {BO_AND,2,3,1},{BO_EQV,0,1,0},
01116       {BO_HLT,0,0,0}
01117     };
01118     const BoolInstr bi208[] = {
01119       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01120       {BO_EQV,0,1,0},
01121       {BO_HLT,0,0,0}
01122     };
01123     const BoolInstr bi209[] = {
01124       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01125       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01126       {BO_HLT,0,0,0}
01127     };
01128     const BoolInstr bi210[] = {
01129       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
01130       {BO_HLT,0,0,0}
01131     };
01132     const BoolInstr bi211[] = {
01133       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
01134       {BO_HLT,0,0,0}
01135     };
01136     const BoolInstr bi212[] = {
01137       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
01138       {BO_HLT,0,0,0}
01139     };
01140     const BoolInstr bi213[] = {
01141       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01142       {BO_AND,0,1,0},
01143       {BO_HLT,0,0,0}
01144     };
01145     const BoolInstr bi214[] = {
01146       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01147       {BO_OR ,2,3,1},{BO_AND,0,1,0},
01148       {BO_HLT,0,0,0}
01149     };
01150     const BoolInstr bi215[] = {
01151       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01152       {BO_AND,0,1,0},
01153       {BO_HLT,0,0,0}
01154     };
01155     const BoolInstr bi216[] = {
01156       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01157       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01158       {BO_HLT,0,0,0}
01159     };
01160     const BoolInstr bi217[] = {
01161       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
01162       {BO_HLT,0,0,0}
01163     };
01164     const BoolInstr bi218[] = {
01165       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
01166       {BO_HLT,0,0,0}
01167     };
01168     const BoolInstr bi219[] = {
01169       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
01170       {BO_HLT,0,0,0}
01171     };
01172     const BoolInstr bi220[] = {
01173       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01174       {BO_OR ,0,1,0},
01175       {BO_HLT,0,0,0}
01176     };
01177     const BoolInstr bi221[] = {
01178       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01179       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
01180       {BO_HLT,0,0,0}
01181     };
01182     const BoolInstr bi222[] = {
01183       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01184       {BO_OR ,0,1,0},
01185       {BO_HLT,0,0,0}
01186     };
01187     const BoolInstr bi223[] = {
01188       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01189       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01190       {BO_HLT,0,0,0}
01191     };
01192     const BoolInstr bi224[] = {
01193       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
01194       {BO_HLT,0,0,0}
01195     };
01196     const BoolInstr bi225[] = {
01197       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
01198       {BO_HLT,0,0,0}
01199     };
01200     const BoolInstr bi226[] = {
01201       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
01202       {BO_HLT,0,0,0}
01203     };
01204     const BoolInstr bi227[] = {
01205       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01206       {BO_IMP,0,1,0},
01207       {BO_HLT,0,0,0}
01208     };
01209     const BoolInstr bi228[] = {
01210       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01211       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
01212       {BO_HLT,0,0,0}
01213     };
01214     const BoolInstr bi229[] = {
01215       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01216       {BO_IMP,0,1,0},
01217       {BO_HLT,0,0,0}
01218     };
01219     const BoolInstr bi230[] = {
01220       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01221       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01222       {BO_HLT,0,0,0}
01223     };
01224     const BoolInstr bi231[] = {
01225       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
01226       {BO_HLT,0,0,0}
01227     };
01228     const BoolInstr bi232[] = {
01229       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
01230       {BO_HLT,0,0,0}
01231     };
01232     const BoolInstr bi233[] = {
01233       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
01234       {BO_HLT,0,0,0}
01235     };
01236     const BoolInstr bi234[] = {
01237       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01238       {BO_XOR,0,1,0},
01239       {BO_HLT,0,0,0}
01240     };
01241     const BoolInstr bi235[] = {
01242       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01243       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
01244       {BO_HLT,0,0,0}
01245     };
01246     const BoolInstr bi236[] = {
01247       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01248       {BO_XOR,0,1,0},
01249       {BO_HLT,0,0,0}
01250     };
01251     const BoolInstr bi237[] = {
01252       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01253       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01254       {BO_HLT,0,0,0}
01255     };
01256     const BoolInstr bi238[] = {
01257       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
01258       {BO_HLT,0,0,0}
01259     };
01260     const BoolInstr bi239[] = {
01261       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
01262       {BO_HLT,0,0,0}
01263     };
01264     const BoolInstr bi240[] = {
01265       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
01266       {BO_HLT,0,0,0}
01267     };
01268     const BoolInstr bi241[] = {
01269       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01270       {BO_EQV,0,1,0},
01271       {BO_HLT,0,0,0}
01272     };
01273     const BoolInstr bi242[] = {
01274       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01275       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
01276       {BO_HLT,0,0,0}
01277     };
01278     const BoolInstr bi243[] = {
01279       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01280       {BO_EQV,0,1,0},
01281       {BO_HLT,0,0,0}
01282     };
01283     const BoolInstr bi244[] = {
01284       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01285       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01286       {BO_HLT,0,0,0}
01287     };
01288     const BoolInstr bi245[] = {
01289       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
01290       {BO_HLT,0,0,0}
01291     };
01292     const BoolInstr bi246[] = {
01293       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
01294       {BO_HLT,0,0,0}
01295     };
01296     const BoolInstr bi247[] = {
01297       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
01298       {BO_HLT,0,0,0}
01299     };
01300     const BoolInstr bi248[] = {
01301       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01302       {BO_AND,0,1,0},
01303       {BO_HLT,0,0,0}
01304     };
01305     const BoolInstr bi249[] = {
01306       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01307       {BO_IMP,2,3,1},{BO_AND,0,1,0},
01308       {BO_HLT,0,0,0}
01309     };
01310     const BoolInstr bi250[] = {
01311       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01312       {BO_AND,0,1,0},
01313       {BO_HLT,0,0,0}
01314     };
01315     const BoolInstr bi251[] = {
01316       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01317       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01318       {BO_HLT,0,0,0}
01319     };
01320     const BoolInstr bi252[] = {
01321       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
01322       {BO_HLT,0,0,0}
01323     };
01324     const BoolInstr bi253[] = {
01325       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
01326       {BO_HLT,0,0,0}
01327     };
01328     const BoolInstr bi254[] = {
01329       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
01330       {BO_HLT,0,0,0}
01331     };
01332     const BoolInstr bi255[] = {
01333       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01334       {BO_OR ,0,1,0},
01335       {BO_HLT,0,0,0}
01336     };
01337     const BoolInstr bi256[] = {
01338       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01339       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
01340       {BO_HLT,0,0,0}
01341     };
01342     const BoolInstr bi257[] = {
01343       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01344       {BO_OR ,0,1,0},
01345       {BO_HLT,0,0,0}
01346     };
01347     const BoolInstr bi258[] = {
01348       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01349       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01350       {BO_HLT,0,0,0}
01351     };
01352     const BoolInstr bi259[] = {
01353       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
01354       {BO_HLT,0,0,0}
01355     };
01356     const BoolInstr bi260[] = {
01357       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
01358       {BO_HLT,0,0,0}
01359     };
01360     const BoolInstr bi261[] = {
01361       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
01362       {BO_HLT,0,0,0}
01363     };
01364     const BoolInstr bi262[] = {
01365       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01366       {BO_IMP,0,1,0},
01367       {BO_HLT,0,0,0}
01368     };
01369     const BoolInstr bi263[] = {
01370       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01371       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
01372       {BO_HLT,0,0,0}
01373     };
01374     const BoolInstr bi264[] = {
01375       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01376       {BO_IMP,0,1,0},
01377       {BO_HLT,0,0,0}
01378     };
01379     const BoolInstr bi265[] = {
01380       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01381       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01382       {BO_HLT,0,0,0}
01383     };
01384     const BoolInstr bi266[] = {
01385       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
01386       {BO_HLT,0,0,0}
01387     };
01388     const BoolInstr bi267[] = {
01389       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
01390       {BO_HLT,0,0,0}
01391     };
01392     const BoolInstr bi268[] = {
01393       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
01394       {BO_HLT,0,0,0}
01395     };
01396     const BoolInstr bi269[] = {
01397       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01398       {BO_XOR,0,1,0},
01399       {BO_HLT,0,0,0}
01400     };
01401     const BoolInstr bi270[] = {
01402       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01403       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
01404       {BO_HLT,0,0,0}
01405     };
01406     const BoolInstr bi271[] = {
01407       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01408       {BO_XOR,0,1,0},
01409       {BO_HLT,0,0,0}
01410     };
01411     const BoolInstr bi272[] = {
01412       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01413       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01414       {BO_HLT,0,0,0}
01415     };
01416     const BoolInstr bi273[] = {
01417       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
01418       {BO_HLT,0,0,0}
01419     };
01420     const BoolInstr bi274[] = {
01421       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
01422       {BO_HLT,0,0,0}
01423     };
01424     const BoolInstr bi275[] = {
01425       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
01426       {BO_HLT,0,0,0}
01427     };
01428     const BoolInstr bi276[] = {
01429       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01430       {BO_EQV,0,1,0},
01431       {BO_HLT,0,0,0}
01432     };
01433     const BoolInstr bi277[] = {
01434       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01435       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
01436       {BO_HLT,0,0,0}
01437     };
01438     const BoolInstr bi278[] = {
01439       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01440       {BO_EQV,0,1,0},
01441       {BO_HLT,0,0,0}
01442     };
01443     const BoolInstr bi279[] = {
01444       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01445       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01446       {BO_HLT,0,0,0}
01447     };
01448     const BoolInstr bi280[] = {
01449       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
01450       {BO_HLT,0,0,0}
01451     };
01452     const BoolInstr bi281[] = {
01453       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
01454       {BO_HLT,0,0,0}
01455     };
01456     const BoolInstr bi282[] = {
01457       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
01458       {BO_HLT,0,0,0}
01459     };
01460     const BoolInstr bi283[] = {
01461       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01462       {BO_AND,0,1,0},
01463       {BO_HLT,0,0,0}
01464     };
01465     const BoolInstr bi284[] = {
01466       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01467       {BO_XOR,2,3,1},{BO_AND,0,1,0},
01468       {BO_HLT,0,0,0}
01469     };
01470     const BoolInstr bi285[] = {
01471       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01472       {BO_AND,0,1,0},
01473       {BO_HLT,0,0,0}
01474     };
01475     const BoolInstr bi286[] = {
01476       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01477       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01478       {BO_HLT,0,0,0}
01479     };
01480     const BoolInstr bi287[] = {
01481       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
01482       {BO_HLT,0,0,0}
01483     };
01484     const BoolInstr bi288[] = {
01485       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
01486       {BO_HLT,0,0,0}
01487     };
01488     const BoolInstr bi289[] = {
01489       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
01490       {BO_HLT,0,0,0}
01491     };
01492     const BoolInstr bi290[] = {
01493       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01494       {BO_OR ,0,1,0},
01495       {BO_HLT,0,0,0}
01496     };
01497     const BoolInstr bi291[] = {
01498       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01499       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
01500       {BO_HLT,0,0,0}
01501     };
01502     const BoolInstr bi292[] = {
01503       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01504       {BO_OR ,0,1,0},
01505       {BO_HLT,0,0,0}
01506     };
01507     const BoolInstr bi293[] = {
01508       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01509       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01510       {BO_HLT,0,0,0}
01511     };
01512     const BoolInstr bi294[] = {
01513       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
01514       {BO_HLT,0,0,0}
01515     };
01516     const BoolInstr bi295[] = {
01517       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
01518       {BO_HLT,0,0,0}
01519     };
01520     const BoolInstr bi296[] = {
01521       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
01522       {BO_HLT,0,0,0}
01523     };
01524     const BoolInstr bi297[] = {
01525       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01526       {BO_IMP,0,1,0},
01527       {BO_HLT,0,0,0}
01528     };
01529     const BoolInstr bi298[] = {
01530       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01531       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
01532       {BO_HLT,0,0,0}
01533     };
01534     const BoolInstr bi299[] = {
01535       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01536       {BO_IMP,0,1,0},
01537       {BO_HLT,0,0,0}
01538     };
01539     const BoolInstr bi300[] = {
01540       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01541       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01542       {BO_HLT,0,0,0}
01543     };
01544     const BoolInstr bi301[] = {
01545       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
01546       {BO_HLT,0,0,0}
01547     };
01548     const BoolInstr bi302[] = {
01549       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
01550       {BO_HLT,0,0,0}
01551     };
01552     const BoolInstr bi303[] = {
01553       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
01554       {BO_HLT,0,0,0}
01555     };
01556     const BoolInstr bi304[] = {
01557       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01558       {BO_XOR,0,1,0},
01559       {BO_HLT,0,0,0}
01560     };
01561     const BoolInstr bi305[] = {
01562       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01563       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
01564       {BO_HLT,0,0,0}
01565     };
01566     const BoolInstr bi306[] = {
01567       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01568       {BO_XOR,0,1,0},
01569       {BO_HLT,0,0,0}
01570     };
01571     const BoolInstr bi307[] = {
01572       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01573       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01574       {BO_HLT,0,0,0}
01575     };
01576     const BoolInstr bi308[] = {
01577       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
01578       {BO_HLT,0,0,0}
01579     };
01580     const BoolInstr bi309[] = {
01581       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
01582       {BO_HLT,0,0,0}
01583     };
01584     const BoolInstr bi310[] = {
01585       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
01586       {BO_HLT,0,0,0}
01587     };
01588     const BoolInstr bi311[] = {
01589       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01590       {BO_EQV,0,1,0},
01591       {BO_HLT,0,0,0}
01592     };
01593     const BoolInstr bi312[] = {
01594       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01595       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
01596       {BO_HLT,0,0,0}
01597     };
01598     const BoolInstr bi313[] = {
01599       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01600       {BO_EQV,0,1,0},
01601       {BO_HLT,0,0,0}
01602     };
01603     const BoolInstr bi314[] = {
01604       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01605       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01606       {BO_HLT,0,0,0}
01607     };
01608     const BoolInstr bi315[] = {
01609       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
01610       {BO_HLT,0,0,0}
01611     };
01612     const BoolInstr bi316[] = {
01613       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
01614       {BO_HLT,0,0,0}
01615     };
01616     const BoolInstr bi317[] = {
01617       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
01618       {BO_HLT,0,0,0}
01619     };
01620     const BoolInstr bi318[] = {
01621       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01622       {BO_AND,0,1,0},
01623       {BO_HLT,0,0,0}
01624     };
01625     const BoolInstr bi319[] = {
01626       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01627       {BO_EQV,2,3,1},{BO_AND,0,1,0},
01628       {BO_HLT,0,0,0}
01629     };
01630     const BoolInstr bi320[] = {
01631       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01632       {BO_AND,0,1,0},
01633       {BO_HLT,0,0,0}
01634     };
01635     const BoolInstr bi321[] = {
01636       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01637       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01638       {BO_HLT,0,0,0}
01639     };
01640     const BoolInstr bi322[] = {
01641       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
01642       {BO_HLT,0,0,0}
01643     };
01644     const BoolInstr bi323[] = {
01645       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
01646       {BO_HLT,0,0,0}
01647     };
01648     const BoolInstr bi324[] = {
01649       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
01650       {BO_HLT,0,0,0}
01651     };
01652     const BoolInstr bi325[] = {
01653       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01654       {BO_OR ,0,1,0},
01655       {BO_HLT,0,0,0}
01656     };
01657     const BoolInstr bi326[] = {
01658       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01659       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
01660       {BO_HLT,0,0,0}
01661     };
01662     const BoolInstr bi327[] = {
01663       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01664       {BO_OR ,0,1,0},
01665       {BO_HLT,0,0,0}
01666     };
01667     const BoolInstr bi328[] = {
01668       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01669       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01670       {BO_HLT,0,0,0}
01671     };
01672     const BoolInstr bi329[] = {
01673       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
01674       {BO_HLT,0,0,0}
01675     };
01676     const BoolInstr bi330[] = {
01677       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
01678       {BO_HLT,0,0,0}
01679     };
01680     const BoolInstr bi331[] = {
01681       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
01682       {BO_HLT,0,0,0}
01683     };
01684     const BoolInstr bi332[] = {
01685       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01686       {BO_IMP,0,1,0},
01687       {BO_HLT,0,0,0}
01688     };
01689     const BoolInstr bi333[] = {
01690       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01691       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
01692       {BO_HLT,0,0,0}
01693     };
01694     const BoolInstr bi334[] = {
01695       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01696       {BO_IMP,0,1,0},
01697       {BO_HLT,0,0,0}
01698     };
01699     const BoolInstr bi335[] = {
01700       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01701       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01702       {BO_HLT,0,0,0}
01703     };
01704     const BoolInstr bi336[] = {
01705       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
01706       {BO_HLT,0,0,0}
01707     };
01708     const BoolInstr bi337[] = {
01709       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
01710       {BO_HLT,0,0,0}
01711     };
01712     const BoolInstr bi338[] = {
01713       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
01714       {BO_HLT,0,0,0}
01715     };
01716     const BoolInstr bi339[] = {
01717       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01718       {BO_XOR,0,1,0},
01719       {BO_HLT,0,0,0}
01720     };
01721     const BoolInstr bi340[] = {
01722       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01723       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
01724       {BO_HLT,0,0,0}
01725     };
01726     const BoolInstr bi341[] = {
01727       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01728       {BO_XOR,0,1,0},
01729       {BO_HLT,0,0,0}
01730     };
01731     const BoolInstr bi342[] = {
01732       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01733       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01734       {BO_HLT,0,0,0}
01735     };
01736     const BoolInstr bi343[] = {
01737       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
01738       {BO_HLT,0,0,0}
01739     };
01740     const BoolInstr bi344[] = {
01741       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
01742       {BO_HLT,0,0,0}
01743     };
01744     const BoolInstr bi345[] = {
01745       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
01746       {BO_HLT,0,0,0}
01747     };
01748     const BoolInstr bi346[] = {
01749       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01750       {BO_EQV,0,1,0},
01751       {BO_HLT,0,0,0}
01752     };
01753     const BoolInstr bi347[] = {
01754       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01755       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
01756       {BO_HLT,0,0,0}
01757     };
01758     const BoolInstr bi348[] = {
01759       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01760       {BO_EQV,0,1,0},
01761       {BO_HLT,0,0,0}
01762     };
01763     const BoolInstr bi349[] = {
01764       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01765       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01766       {BO_HLT,0,0,0}
01767     };
01768     const BoolInstr bi350[] = {
01769       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
01770       {BO_HLT,0,0,0}
01771     };
01772     const BoolInstr bi351[] = {
01773       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
01774       {BO_HLT,0,0,0}
01775     };
01776     const BoolInstr bi352[] = {
01777       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
01778       {BO_HLT,0,0,0}
01779     };
01780     const BoolInstr bi353[] = {
01781       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01782       {BO_AND,0,1,0},
01783       {BO_HLT,0,0,0}
01784     };
01785     const BoolInstr bi354[] = {
01786       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01787       {BO_AND,2,3,1},{BO_AND,0,1,0},
01788       {BO_HLT,0,0,0}
01789     };
01790     const BoolInstr bi355[] = {
01791       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01792       {BO_AND,0,1,0},
01793       {BO_HLT,0,0,0}
01794     };
01795     const BoolInstr bi356[] = {
01796       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01797       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01798       {BO_HLT,0,0,0}
01799     };
01800     const BoolInstr bi357[] = {
01801       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
01802       {BO_HLT,0,0,0}
01803     };
01804     const BoolInstr bi358[] = {
01805       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
01806       {BO_HLT,0,0,0}
01807     };
01808     const BoolInstr bi359[] = {
01809       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
01810       {BO_HLT,0,0,0}
01811     };
01812     const BoolInstr bi360[] = {
01813       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01814       {BO_OR ,0,1,0},
01815       {BO_HLT,0,0,0}
01816     };
01817     const BoolInstr bi361[] = {
01818       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01819       {BO_AND,2,3,1},{BO_OR ,0,1,0},
01820       {BO_HLT,0,0,0}
01821     };
01822     const BoolInstr bi362[] = {
01823       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01824       {BO_OR ,0,1,0},
01825       {BO_HLT,0,0,0}
01826     };
01827     const BoolInstr bi363[] = {
01828       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01829       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01830       {BO_HLT,0,0,0}
01831     };
01832     const BoolInstr bi364[] = {
01833       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
01834       {BO_HLT,0,0,0}
01835     };
01836     const BoolInstr bi365[] = {
01837       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
01838       {BO_HLT,0,0,0}
01839     };
01840     const BoolInstr bi366[] = {
01841       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
01842       {BO_HLT,0,0,0}
01843     };
01844     const BoolInstr bi367[] = {
01845       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01846       {BO_IMP,0,1,0},
01847       {BO_HLT,0,0,0}
01848     };
01849     const BoolInstr bi368[] = {
01850       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01851       {BO_AND,2,3,1},{BO_IMP,0,1,0},
01852       {BO_HLT,0,0,0}
01853     };
01854     const BoolInstr bi369[] = {
01855       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01856       {BO_IMP,0,1,0},
01857       {BO_HLT,0,0,0}
01858     };
01859     const BoolInstr bi370[] = {
01860       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01861       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01862       {BO_HLT,0,0,0}
01863     };
01864     const BoolInstr bi371[] = {
01865       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
01866       {BO_HLT,0,0,0}
01867     };
01868     const BoolInstr bi372[] = {
01869       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
01870       {BO_HLT,0,0,0}
01871     };
01872     const BoolInstr bi373[] = {
01873       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
01874       {BO_HLT,0,0,0}
01875     };
01876     const BoolInstr bi374[] = {
01877       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01878       {BO_XOR,0,1,0},
01879       {BO_HLT,0,0,0}
01880     };
01881     const BoolInstr bi375[] = {
01882       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01883       {BO_AND,2,3,1},{BO_XOR,0,1,0},
01884       {BO_HLT,0,0,0}
01885     };
01886     const BoolInstr bi376[] = {
01887       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01888       {BO_XOR,0,1,0},
01889       {BO_HLT,0,0,0}
01890     };
01891     const BoolInstr bi377[] = {
01892       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01893       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01894       {BO_HLT,0,0,0}
01895     };
01896     const BoolInstr bi378[] = {
01897       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
01898       {BO_HLT,0,0,0}
01899     };
01900     const BoolInstr bi379[] = {
01901       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
01902       {BO_HLT,0,0,0}
01903     };
01904     const BoolInstr bi380[] = {
01905       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
01906       {BO_HLT,0,0,0}
01907     };
01908     const BoolInstr bi381[] = {
01909       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01910       {BO_EQV,0,1,0},
01911       {BO_HLT,0,0,0}
01912     };
01913     const BoolInstr bi382[] = {
01914       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01915       {BO_AND,2,3,1},{BO_EQV,0,1,0},
01916       {BO_HLT,0,0,0}
01917     };
01918     const BoolInstr bi383[] = {
01919       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01920       {BO_EQV,0,1,0},
01921       {BO_HLT,0,0,0}
01922     };
01923     const BoolInstr bi384[] = {
01924       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01925       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01926       {BO_HLT,0,0,0}
01927     };
01928     const BoolInstr bi385[] = {
01929       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
01930       {BO_HLT,0,0,0}
01931     };
01932     const BoolInstr bi386[] = {
01933       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
01934       {BO_HLT,0,0,0}
01935     };
01936     const BoolInstr bi387[] = {
01937       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
01938       {BO_HLT,0,0,0}
01939     };
01940     const BoolInstr bi388[] = {
01941       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
01942       {BO_AND,0,1,0},
01943       {BO_HLT,0,0,0}
01944     };
01945     const BoolInstr bi389[] = {
01946       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01947       {BO_OR ,2,3,1},{BO_AND,0,1,0},
01948       {BO_HLT,0,0,0}
01949     };
01950     const BoolInstr bi390[] = {
01951       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01952       {BO_AND,0,1,0},
01953       {BO_HLT,0,0,0}
01954     };
01955     const BoolInstr bi391[] = {
01956       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01957       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01958       {BO_HLT,0,0,0}
01959     };
01960     const BoolInstr bi392[] = {
01961       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
01962       {BO_HLT,0,0,0}
01963     };
01964     const BoolInstr bi393[] = {
01965       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
01966       {BO_HLT,0,0,0}
01967     };
01968     const BoolInstr bi394[] = {
01969       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
01970       {BO_HLT,0,0,0}
01971     };
01972     const BoolInstr bi395[] = {
01973       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
01974       {BO_OR ,0,1,0},
01975       {BO_HLT,0,0,0}
01976     };
01977     const BoolInstr bi396[] = {
01978       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01979       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
01980       {BO_HLT,0,0,0}
01981     };
01982     const BoolInstr bi397[] = {
01983       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01984       {BO_OR ,0,1,0},
01985       {BO_HLT,0,0,0}
01986     };
01987     const BoolInstr bi398[] = {
01988       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01989       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01990       {BO_HLT,0,0,0}
01991     };
01992     const BoolInstr bi399[] = {
01993       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
01994       {BO_HLT,0,0,0}
01995     };
01996     const BoolInstr bi400[] = {
01997       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
01998       {BO_HLT,0,0,0}
01999     };
02000     const BoolInstr bi401[] = {
02001       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
02002       {BO_HLT,0,0,0}
02003     };
02004     const BoolInstr bi402[] = {
02005       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
02006       {BO_IMP,0,1,0},
02007       {BO_HLT,0,0,0}
02008     };
02009     const BoolInstr bi403[] = {
02010       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02011       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
02012       {BO_HLT,0,0,0}
02013     };
02014     const BoolInstr bi404[] = {
02015       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02016       {BO_IMP,0,1,0},
02017       {BO_HLT,0,0,0}
02018     };
02019     const BoolInstr bi405[] = {
02020       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02021       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02022       {BO_HLT,0,0,0}
02023     };
02024     const BoolInstr bi406[] = {
02025       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
02026       {BO_HLT,0,0,0}
02027     };
02028     const BoolInstr bi407[] = {
02029       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
02030       {BO_HLT,0,0,0}
02031     };
02032     const BoolInstr bi408[] = {
02033       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
02034       {BO_HLT,0,0,0}
02035     };
02036     const BoolInstr bi409[] = {
02037       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
02038       {BO_XOR,0,1,0},
02039       {BO_HLT,0,0,0}
02040     };
02041     const BoolInstr bi410[] = {
02042       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02043       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
02044       {BO_HLT,0,0,0}
02045     };
02046     const BoolInstr bi411[] = {
02047       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02048       {BO_XOR,0,1,0},
02049       {BO_HLT,0,0,0}
02050     };
02051     const BoolInstr bi412[] = {
02052       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02053       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02054       {BO_HLT,0,0,0}
02055     };
02056     const BoolInstr bi413[] = {
02057       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
02058       {BO_HLT,0,0,0}
02059     };
02060     const BoolInstr bi414[] = {
02061       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
02062       {BO_HLT,0,0,0}
02063     };
02064     const BoolInstr bi415[] = {
02065       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
02066       {BO_HLT,0,0,0}
02067     };
02068     const BoolInstr bi416[] = {
02069       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
02070       {BO_EQV,0,1,0},
02071       {BO_HLT,0,0,0}
02072     };
02073     const BoolInstr bi417[] = {
02074       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02075       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
02076       {BO_HLT,0,0,0}
02077     };
02078     const BoolInstr bi418[] = {
02079       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02080       {BO_EQV,0,1,0},
02081       {BO_HLT,0,0,0}
02082     };
02083     const BoolInstr bi419[] = {
02084       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02085       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02086       {BO_HLT,0,0,0}
02087     };
02088     const BoolInstr bi420[] = {
02089       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
02090       {BO_HLT,0,0,0}
02091     };
02092     const BoolInstr bi421[] = {
02093       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
02094       {BO_HLT,0,0,0}
02095     };
02096     const BoolInstr bi422[] = {
02097       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
02098       {BO_HLT,0,0,0}
02099     };
02100     const BoolInstr bi423[] = {
02101       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02102       {BO_AND,0,1,0},
02103       {BO_HLT,0,0,0}
02104     };
02105     const BoolInstr bi424[] = {
02106       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02107       {BO_IMP,2,3,1},{BO_AND,0,1,0},
02108       {BO_HLT,0,0,0}
02109     };
02110     const BoolInstr bi425[] = {
02111       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02112       {BO_AND,0,1,0},
02113       {BO_HLT,0,0,0}
02114     };
02115     const BoolInstr bi426[] = {
02116       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02117       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02118       {BO_HLT,0,0,0}
02119     };
02120     const BoolInstr bi427[] = {
02121       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
02122       {BO_HLT,0,0,0}
02123     };
02124     const BoolInstr bi428[] = {
02125       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
02126       {BO_HLT,0,0,0}
02127     };
02128     const BoolInstr bi429[] = {
02129       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
02130       {BO_HLT,0,0,0}
02131     };
02132     const BoolInstr bi430[] = {
02133       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02134       {BO_OR ,0,1,0},
02135       {BO_HLT,0,0,0}
02136     };
02137     const BoolInstr bi431[] = {
02138       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02139       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
02140       {BO_HLT,0,0,0}
02141     };
02142     const BoolInstr bi432[] = {
02143       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02144       {BO_OR ,0,1,0},
02145       {BO_HLT,0,0,0}
02146     };
02147     const BoolInstr bi433[] = {
02148       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02149       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02150       {BO_HLT,0,0,0}
02151     };
02152     const BoolInstr bi434[] = {
02153       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
02154       {BO_HLT,0,0,0}
02155     };
02156     const BoolInstr bi435[] = {
02157       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
02158       {BO_HLT,0,0,0}
02159     };
02160     const BoolInstr bi436[] = {
02161       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
02162       {BO_HLT,0,0,0}
02163     };
02164     const BoolInstr bi437[] = {
02165       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02166       {BO_IMP,0,1,0},
02167       {BO_HLT,0,0,0}
02168     };
02169     const BoolInstr bi438[] = {
02170       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02171       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
02172       {BO_HLT,0,0,0}
02173     };
02174     const BoolInstr bi439[] = {
02175       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02176       {BO_IMP,0,1,0},
02177       {BO_HLT,0,0,0}
02178     };
02179     const BoolInstr bi440[] = {
02180       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02181       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02182       {BO_HLT,0,0,0}
02183     };
02184     const BoolInstr bi441[] = {
02185       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
02186       {BO_HLT,0,0,0}
02187     };
02188     const BoolInstr bi442[] = {
02189       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
02190       {BO_HLT,0,0,0}
02191     };
02192     const BoolInstr bi443[] = {
02193       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
02194       {BO_HLT,0,0,0}
02195     };
02196     const BoolInstr bi444[] = {
02197       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02198       {BO_XOR,0,1,0},
02199       {BO_HLT,0,0,0}
02200     };
02201     const BoolInstr bi445[] = {
02202       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02203       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
02204       {BO_HLT,0,0,0}
02205     };
02206     const BoolInstr bi446[] = {
02207       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02208       {BO_XOR,0,1,0},
02209       {BO_HLT,0,0,0}
02210     };
02211     const BoolInstr bi447[] = {
02212       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02213       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02214       {BO_HLT,0,0,0}
02215     };
02216     const BoolInstr bi448[] = {
02217       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
02218       {BO_HLT,0,0,0}
02219     };
02220     const BoolInstr bi449[] = {
02221       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
02222       {BO_HLT,0,0,0}
02223     };
02224     const BoolInstr bi450[] = {
02225       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
02226       {BO_HLT,0,0,0}
02227     };
02228     const BoolInstr bi451[] = {
02229       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02230       {BO_EQV,0,1,0},
02231       {BO_HLT,0,0,0}
02232     };
02233     const BoolInstr bi452[] = {
02234       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02235       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
02236       {BO_HLT,0,0,0}
02237     };
02238     const BoolInstr bi453[] = {
02239       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02240       {BO_EQV,0,1,0},
02241       {BO_HLT,0,0,0}
02242     };
02243     const BoolInstr bi454[] = {
02244       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02245       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02246       {BO_HLT,0,0,0}
02247     };
02248     const BoolInstr bi455[] = {
02249       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
02250       {BO_HLT,0,0,0}
02251     };
02252     const BoolInstr bi456[] = {
02253       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
02254       {BO_HLT,0,0,0}
02255     };
02256     const BoolInstr bi457[] = {
02257       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
02258       {BO_HLT,0,0,0}
02259     };
02260     const BoolInstr bi458[] = {
02261       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02262       {BO_AND,0,1,0},
02263       {BO_HLT,0,0,0}
02264     };
02265     const BoolInstr bi459[] = {
02266       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02267       {BO_XOR,2,3,1},{BO_AND,0,1,0},
02268       {BO_HLT,0,0,0}
02269     };
02270     const BoolInstr bi460[] = {
02271       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02272       {BO_AND,0,1,0},
02273       {BO_HLT,0,0,0}
02274     };
02275     const BoolInstr bi461[] = {
02276       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02277       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02278       {BO_HLT,0,0,0}
02279     };
02280     const BoolInstr bi462[] = {
02281       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
02282       {BO_HLT,0,0,0}
02283     };
02284     const BoolInstr bi463[] = {
02285       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
02286       {BO_HLT,0,0,0}
02287     };
02288     const BoolInstr bi464[] = {
02289       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
02290       {BO_HLT,0,0,0}
02291     };
02292     const BoolInstr bi465[] = {
02293       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02294       {BO_OR ,0,1,0},
02295       {BO_HLT,0,0,0}
02296     };
02297     const BoolInstr bi466[] = {
02298       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02299       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
02300       {BO_HLT,0,0,0}
02301     };
02302     const BoolInstr bi467[] = {
02303       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02304       {BO_OR ,0,1,0},
02305       {BO_HLT,0,0,0}
02306     };
02307     const BoolInstr bi468[] = {
02308       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02309       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02310       {BO_HLT,0,0,0}
02311     };
02312     const BoolInstr bi469[] = {
02313       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
02314       {BO_HLT,0,0,0}
02315     };
02316     const BoolInstr bi470[] = {
02317       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
02318       {BO_HLT,0,0,0}
02319     };
02320     const BoolInstr bi471[] = {
02321       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
02322       {BO_HLT,0,0,0}
02323     };
02324     const BoolInstr bi472[] = {
02325       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02326       {BO_IMP,0,1,0},
02327       {BO_HLT,0,0,0}
02328     };
02329     const BoolInstr bi473[] = {
02330       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02331       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
02332       {BO_HLT,0,0,0}
02333     };
02334     const BoolInstr bi474[] = {
02335       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02336       {BO_IMP,0,1,0},
02337       {BO_HLT,0,0,0}
02338     };
02339     const BoolInstr bi475[] = {
02340       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02341       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02342       {BO_HLT,0,0,0}
02343     };
02344     const BoolInstr bi476[] = {
02345       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
02346       {BO_HLT,0,0,0}
02347     };
02348     const BoolInstr bi477[] = {
02349       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
02350       {BO_HLT,0,0,0}
02351     };
02352     const BoolInstr bi478[] = {
02353       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
02354       {BO_HLT,0,0,0}
02355     };
02356     const BoolInstr bi479[] = {
02357       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02358       {BO_XOR,0,1,0},
02359       {BO_HLT,0,0,0}
02360     };
02361     const BoolInstr bi480[] = {
02362       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02363       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
02364       {BO_HLT,0,0,0}
02365     };
02366     const BoolInstr bi481[] = {
02367       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02368       {BO_XOR,0,1,0},
02369       {BO_HLT,0,0,0}
02370     };
02371     const BoolInstr bi482[] = {
02372       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02373       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02374       {BO_HLT,0,0,0}
02375     };
02376     const BoolInstr bi483[] = {
02377       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
02378       {BO_HLT,0,0,0}
02379     };
02380     const BoolInstr bi484[] = {
02381       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
02382       {BO_HLT,0,0,0}
02383     };
02384     const BoolInstr bi485[] = {
02385       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
02386       {BO_HLT,0,0,0}
02387     };
02388     const BoolInstr bi486[] = {
02389       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02390       {BO_EQV,0,1,0},
02391       {BO_HLT,0,0,0}
02392     };
02393     const BoolInstr bi487[] = {
02394       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02395       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
02396       {BO_HLT,0,0,0}
02397     };
02398     const BoolInstr bi488[] = {
02399       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02400       {BO_EQV,0,1,0},
02401       {BO_HLT,0,0,0}
02402     };
02403     const BoolInstr bi489[] = {
02404       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02405       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02406       {BO_HLT,0,0,0}
02407     };
02408     const BoolInstr bi490[] = {
02409       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
02410       {BO_HLT,0,0,0}
02411     };
02412     const BoolInstr bi491[] = {
02413       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
02414       {BO_HLT,0,0,0}
02415     };
02416     const BoolInstr bi492[] = {
02417       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
02418       {BO_HLT,0,0,0}
02419     };
02420     const BoolInstr bi493[] = {
02421       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02422       {BO_AND,0,1,0},
02423       {BO_HLT,0,0,0}
02424     };
02425     const BoolInstr bi494[] = {
02426       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02427       {BO_EQV,2,3,1},{BO_AND,0,1,0},
02428       {BO_HLT,0,0,0}
02429     };
02430     const BoolInstr bi495[] = {
02431       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02432       {BO_AND,0,1,0},
02433       {BO_HLT,0,0,0}
02434     };
02435     const BoolInstr bi496[] = {
02436       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02437       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02438       {BO_HLT,0,0,0}
02439     };
02440     const BoolInstr bi497[] = {
02441       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
02442       {BO_HLT,0,0,0}
02443     };
02444     const BoolInstr bi498[] = {
02445       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
02446       {BO_HLT,0,0,0}
02447     };
02448     const BoolInstr bi499[] = {
02449       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
02450       {BO_HLT,0,0,0}
02451     };
02452     const BoolInstr bi500[] = {
02453       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02454       {BO_OR ,0,1,0},
02455       {BO_HLT,0,0,0}
02456     };
02457     const BoolInstr bi501[] = {
02458       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02459       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
02460       {BO_HLT,0,0,0}
02461     };
02462     const BoolInstr bi502[] = {
02463       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02464       {BO_OR ,0,1,0},
02465       {BO_HLT,0,0,0}
02466     };
02467     const BoolInstr bi503[] = {
02468       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02469       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02470       {BO_HLT,0,0,0}
02471     };
02472     const BoolInstr bi504[] = {
02473       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
02474       {BO_HLT,0,0,0}
02475     };
02476     const BoolInstr bi505[] = {
02477       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
02478       {BO_HLT,0,0,0}
02479     };
02480     const BoolInstr bi506[] = {
02481       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
02482       {BO_HLT,0,0,0}
02483     };
02484     const BoolInstr bi507[] = {
02485       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02486       {BO_IMP,0,1,0},
02487       {BO_HLT,0,0,0}
02488     };
02489     const BoolInstr bi508[] = {
02490       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02491       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
02492       {BO_HLT,0,0,0}
02493     };
02494     const BoolInstr bi509[] = {
02495       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02496       {BO_IMP,0,1,0},
02497       {BO_HLT,0,0,0}
02498     };
02499     const BoolInstr bi510[] = {
02500       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02501       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02502       {BO_HLT,0,0,0}
02503     };
02504     const BoolInstr bi511[] = {
02505       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
02506       {BO_HLT,0,0,0}
02507     };
02508     const BoolInstr bi512[] = {
02509       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
02510       {BO_HLT,0,0,0}
02511     };
02512     const BoolInstr bi513[] = {
02513       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
02514       {BO_HLT,0,0,0}
02515     };
02516     const BoolInstr bi514[] = {
02517       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02518       {BO_XOR,0,1,0},
02519       {BO_HLT,0,0,0}
02520     };
02521     const BoolInstr bi515[] = {
02522       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02523       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
02524       {BO_HLT,0,0,0}
02525     };
02526     const BoolInstr bi516[] = {
02527       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02528       {BO_XOR,0,1,0},
02529       {BO_HLT,0,0,0}
02530     };
02531     const BoolInstr bi517[] = {
02532       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02533       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02534       {BO_HLT,0,0,0}
02535     };
02536     const BoolInstr bi518[] = {
02537       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
02538       {BO_HLT,0,0,0}
02539     };
02540     const BoolInstr bi519[] = {
02541       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
02542       {BO_HLT,0,0,0}
02543     };
02544     const BoolInstr bi520[] = {
02545       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
02546       {BO_HLT,0,0,0}
02547     };
02548     const BoolInstr bi521[] = {
02549       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02550       {BO_EQV,0,1,0},
02551       {BO_HLT,0,0,0}
02552     };
02553     const BoolInstr bi522[] = {
02554       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02555       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
02556       {BO_HLT,0,0,0}
02557     };
02558     const BoolInstr bi523[] = {
02559       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02560       {BO_EQV,0,1,0},
02561       {BO_HLT,0,0,0}
02562     };
02563     const BoolInstr bi524[] = {
02564       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02565       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02566       {BO_HLT,0,0,0}
02567     };
02568     const BoolInstr bi525[] = {
02569       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
02570       {BO_HLT,0,0,0}
02571     };
02572     const BoolInstr bi526[] = {
02573       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
02574       {BO_HLT,0,0,0}
02575     };
02576     const BoolInstr bi527[] = {
02577       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
02578       {BO_HLT,0,0,0}
02579     };
02580     const BoolInstr bi528[] = {
02581       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02582       {BO_AND,0,1,0},
02583       {BO_HLT,0,0,0}
02584     };
02585     const BoolInstr bi529[] = {
02586       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02587       {BO_AND,2,3,1},{BO_AND,0,1,0},
02588       {BO_HLT,0,0,0}
02589     };
02590     const BoolInstr bi530[] = {
02591       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02592       {BO_AND,0,1,0},
02593       {BO_HLT,0,0,0}
02594     };
02595     const BoolInstr bi531[] = {
02596       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02597       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02598       {BO_HLT,0,0,0}
02599     };
02600     const BoolInstr bi532[] = {
02601       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
02602       {BO_HLT,0,0,0}
02603     };
02604     const BoolInstr bi533[] = {
02605       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
02606       {BO_HLT,0,0,0}
02607     };
02608     const BoolInstr bi534[] = {
02609       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
02610       {BO_HLT,0,0,0}
02611     };
02612     const BoolInstr bi535[] = {
02613       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02614       {BO_OR ,0,1,0},
02615       {BO_HLT,0,0,0}
02616     };
02617     const BoolInstr bi536[] = {
02618       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02619       {BO_AND,2,3,1},{BO_OR ,0,1,0},
02620       {BO_HLT,0,0,0}
02621     };
02622     const BoolInstr bi537[] = {
02623       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02624       {BO_OR ,0,1,0},
02625       {BO_HLT,0,0,0}
02626     };
02627     const BoolInstr bi538[] = {
02628       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02629       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02630       {BO_HLT,0,0,0}
02631     };
02632     const BoolInstr bi539[] = {
02633       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
02634       {BO_HLT,0,0,0}
02635     };
02636     const BoolInstr bi540[] = {
02637       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
02638       {BO_HLT,0,0,0}
02639     };
02640     const BoolInstr bi541[] = {
02641       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
02642       {BO_HLT,0,0,0}
02643     };
02644     const BoolInstr bi542[] = {
02645       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02646       {BO_IMP,0,1,0},
02647       {BO_HLT,0,0,0}
02648     };
02649     const BoolInstr bi543[] = {
02650       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02651       {BO_AND,2,3,1},{BO_IMP,0,1,0},
02652       {BO_HLT,0,0,0}
02653     };
02654     const BoolInstr bi544[] = {
02655       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02656       {BO_IMP,0,1,0},
02657       {BO_HLT,0,0,0}
02658     };
02659     const BoolInstr bi545[] = {
02660       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02661       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02662       {BO_HLT,0,0,0}
02663     };
02664     const BoolInstr bi546[] = {
02665       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
02666       {BO_HLT,0,0,0}
02667     };
02668     const BoolInstr bi547[] = {
02669       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
02670       {BO_HLT,0,0,0}
02671     };
02672     const BoolInstr bi548[] = {
02673       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
02674       {BO_HLT,0,0,0}
02675     };
02676     const BoolInstr bi549[] = {
02677       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02678       {BO_XOR,0,1,0},
02679       {BO_HLT,0,0,0}
02680     };
02681     const BoolInstr bi550[] = {
02682       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02683       {BO_AND,2,3,1},{BO_XOR,0,1,0},
02684       {BO_HLT,0,0,0}
02685     };
02686     const BoolInstr bi551[] = {
02687       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02688       {BO_XOR,0,1,0},
02689       {BO_HLT,0,0,0}
02690     };
02691     const BoolInstr bi552[] = {
02692       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02693       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02694       {BO_HLT,0,0,0}
02695     };
02696     const BoolInstr bi553[] = {
02697       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
02698       {BO_HLT,0,0,0}
02699     };
02700     const BoolInstr bi554[] = {
02701       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
02702       {BO_HLT,0,0,0}
02703     };
02704     const BoolInstr bi555[] = {
02705       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
02706       {BO_HLT,0,0,0}
02707     };
02708     const BoolInstr bi556[] = {
02709       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02710       {BO_EQV,0,1,0},
02711       {BO_HLT,0,0,0}
02712     };
02713     const BoolInstr bi557[] = {
02714       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02715       {BO_AND,2,3,1},{BO_EQV,0,1,0},
02716       {BO_HLT,0,0,0}
02717     };
02718     const BoolInstr bi558[] = {
02719       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02720       {BO_EQV,0,1,0},
02721       {BO_HLT,0,0,0}
02722     };
02723     const BoolInstr bi559[] = {
02724       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02725       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02726       {BO_HLT,0,0,0}
02727     };
02728     const BoolInstr bi560[] = {
02729       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
02730       {BO_HLT,0,0,0}
02731     };
02732     const BoolInstr bi561[] = {
02733       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
02734       {BO_HLT,0,0,0}
02735     };
02736     const BoolInstr bi562[] = {
02737       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
02738       {BO_HLT,0,0,0}
02739     };
02740     const BoolInstr bi563[] = {
02741       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02742       {BO_AND,0,1,0},
02743       {BO_HLT,0,0,0}
02744     };
02745     const BoolInstr bi564[] = {
02746       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02747       {BO_OR ,2,3,1},{BO_AND,0,1,0},
02748       {BO_HLT,0,0,0}
02749     };
02750     const BoolInstr bi565[] = {
02751       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02752       {BO_AND,0,1,0},
02753       {BO_HLT,0,0,0}
02754     };
02755     const BoolInstr bi566[] = {
02756       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02757       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02758       {BO_HLT,0,0,0}
02759     };
02760     const BoolInstr bi567[] = {
02761       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
02762       {BO_HLT,0,0,0}
02763     };
02764     const BoolInstr bi568[] = {
02765       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
02766       {BO_HLT,0,0,0}
02767     };
02768     const BoolInstr bi569[] = {
02769       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
02770       {BO_HLT,0,0,0}
02771     };
02772     const BoolInstr bi570[] = {
02773       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02774       {BO_OR ,0,1,0},
02775       {BO_HLT,0,0,0}
02776     };
02777     const BoolInstr bi571[] = {
02778       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02779       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
02780       {BO_HLT,0,0,0}
02781     };
02782     const BoolInstr bi572[] = {
02783       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02784       {BO_OR ,0,1,0},
02785       {BO_HLT,0,0,0}
02786     };
02787     const BoolInstr bi573[] = {
02788       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02789       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02790       {BO_HLT,0,0,0}
02791     };
02792     const BoolInstr bi574[] = {
02793       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
02794       {BO_HLT,0,0,0}
02795     };
02796     const BoolInstr bi575[] = {
02797       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
02798       {BO_HLT,0,0,0}
02799     };
02800     const BoolInstr bi576[] = {
02801       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
02802       {BO_HLT,0,0,0}
02803     };
02804     const BoolInstr bi577[] = {
02805       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02806       {BO_IMP,0,1,0},
02807       {BO_HLT,0,0,0}
02808     };
02809     const BoolInstr bi578[] = {
02810       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02811       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
02812       {BO_HLT,0,0,0}
02813     };
02814     const BoolInstr bi579[] = {
02815       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02816       {BO_IMP,0,1,0},
02817       {BO_HLT,0,0,0}
02818     };
02819     const BoolInstr bi580[] = {
02820       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02821       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02822       {BO_HLT,0,0,0}
02823     };
02824     const BoolInstr bi581[] = {
02825       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
02826       {BO_HLT,0,0,0}
02827     };
02828     const BoolInstr bi582[] = {
02829       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
02830       {BO_HLT,0,0,0}
02831     };
02832     const BoolInstr bi583[] = {
02833       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
02834       {BO_HLT,0,0,0}
02835     };
02836     const BoolInstr bi584[] = {
02837       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02838       {BO_XOR,0,1,0},
02839       {BO_HLT,0,0,0}
02840     };
02841     const BoolInstr bi585[] = {
02842       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02843       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
02844       {BO_HLT,0,0,0}
02845     };
02846     const BoolInstr bi586[] = {
02847       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02848       {BO_XOR,0,1,0},
02849       {BO_HLT,0,0,0}
02850     };
02851     const BoolInstr bi587[] = {
02852       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02853       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02854       {BO_HLT,0,0,0}
02855     };
02856     const BoolInstr bi588[] = {
02857       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
02858       {BO_HLT,0,0,0}
02859     };
02860     const BoolInstr bi589[] = {
02861       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
02862       {BO_HLT,0,0,0}
02863     };
02864     const BoolInstr bi590[] = {
02865       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
02866       {BO_HLT,0,0,0}
02867     };
02868     const BoolInstr bi591[] = {
02869       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02870       {BO_EQV,0,1,0},
02871       {BO_HLT,0,0,0}
02872     };
02873     const BoolInstr bi592[] = {
02874       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02875       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
02876       {BO_HLT,0,0,0}
02877     };
02878     const BoolInstr bi593[] = {
02879       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02880       {BO_EQV,0,1,0},
02881       {BO_HLT,0,0,0}
02882     };
02883     const BoolInstr bi594[] = {
02884       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02885       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02886       {BO_HLT,0,0,0}
02887     };
02888     const BoolInstr bi595[] = {
02889       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
02890       {BO_HLT,0,0,0}
02891     };
02892     const BoolInstr bi596[] = {
02893       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
02894       {BO_HLT,0,0,0}
02895     };
02896     const BoolInstr bi597[] = {
02897       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
02898       {BO_HLT,0,0,0}
02899     };
02900     const BoolInstr bi598[] = {
02901       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02902       {BO_AND,0,1,0},
02903       {BO_HLT,0,0,0}
02904     };
02905     const BoolInstr bi599[] = {
02906       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02907       {BO_IMP,2,3,1},{BO_AND,0,1,0},
02908       {BO_HLT,0,0,0}
02909     };
02910     const BoolInstr bi600[] = {
02911       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02912       {BO_AND,0,1,0},
02913       {BO_HLT,0,0,0}
02914     };
02915     const BoolInstr bi601[] = {
02916       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02917       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02918       {BO_HLT,0,0,0}
02919     };
02920     const BoolInstr bi602[] = {
02921       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
02922       {BO_HLT,0,0,0}
02923     };
02924     const BoolInstr bi603[] = {
02925       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
02926       {BO_HLT,0,0,0}
02927     };
02928     const BoolInstr bi604[] = {
02929       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
02930       {BO_HLT,0,0,0}
02931     };
02932     const BoolInstr bi605[] = {
02933       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02934       {BO_OR ,0,1,0},
02935       {BO_HLT,0,0,0}
02936     };
02937     const BoolInstr bi606[] = {
02938       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02939       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
02940       {BO_HLT,0,0,0}
02941     };
02942     const BoolInstr bi607[] = {
02943       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02944       {BO_OR ,0,1,0},
02945       {BO_HLT,0,0,0}
02946     };
02947     const BoolInstr bi608[] = {
02948       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02949       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02950       {BO_HLT,0,0,0}
02951     };
02952     const BoolInstr bi609[] = {
02953       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
02954       {BO_HLT,0,0,0}
02955     };
02956     const BoolInstr bi610[] = {
02957       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
02958       {BO_HLT,0,0,0}
02959     };
02960     const BoolInstr bi611[] = {
02961       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
02962       {BO_HLT,0,0,0}
02963     };
02964     const BoolInstr bi612[] = {
02965       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02966       {BO_IMP,0,1,0},
02967       {BO_HLT,0,0,0}
02968     };
02969     const BoolInstr bi613[] = {
02970       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02971       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
02972       {BO_HLT,0,0,0}
02973     };
02974     const BoolInstr bi614[] = {
02975       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02976       {BO_IMP,0,1,0},
02977       {BO_HLT,0,0,0}
02978     };
02979     const BoolInstr bi615[] = {
02980       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02981       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02982       {BO_HLT,0,0,0}
02983     };
02984     const BoolInstr bi616[] = {
02985       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
02986       {BO_HLT,0,0,0}
02987     };
02988     const BoolInstr bi617[] = {
02989       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
02990       {BO_HLT,0,0,0}
02991     };
02992     const BoolInstr bi618[] = {
02993       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
02994       {BO_HLT,0,0,0}
02995     };
02996     const BoolInstr bi619[] = {
02997       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02998       {BO_XOR,0,1,0},
02999       {BO_HLT,0,0,0}
03000     };
03001     const BoolInstr bi620[] = {
03002       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03003       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
03004       {BO_HLT,0,0,0}
03005     };
03006     const BoolInstr bi621[] = {
03007       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03008       {BO_XOR,0,1,0},
03009       {BO_HLT,0,0,0}
03010     };
03011     const BoolInstr bi622[] = {
03012       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03013       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03014       {BO_HLT,0,0,0}
03015     };
03016     const BoolInstr bi623[] = {
03017       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
03018       {BO_HLT,0,0,0}
03019     };
03020     const BoolInstr bi624[] = {
03021       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
03022       {BO_HLT,0,0,0}
03023     };
03024     const BoolInstr bi625[] = {
03025       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
03026       {BO_HLT,0,0,0}
03027     };
03028     const BoolInstr bi626[] = {
03029       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
03030       {BO_EQV,0,1,0},
03031       {BO_HLT,0,0,0}
03032     };
03033     const BoolInstr bi627[] = {
03034       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03035       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
03036       {BO_HLT,0,0,0}
03037     };
03038     const BoolInstr bi628[] = {
03039       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03040       {BO_EQV,0,1,0},
03041       {BO_HLT,0,0,0}
03042     };
03043     const BoolInstr bi629[] = {
03044       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03045       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03046       {BO_HLT,0,0,0}
03047     };
03048     const BoolInstr bi630[] = {
03049       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
03050       {BO_HLT,0,0,0}
03051     };
03052     const BoolInstr bi631[] = {
03053       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
03054       {BO_HLT,0,0,0}
03055     };
03056     const BoolInstr bi632[] = {
03057       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
03058       {BO_HLT,0,0,0}
03059     };
03060     const BoolInstr bi633[] = {
03061       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03062       {BO_AND,0,1,0},
03063       {BO_HLT,0,0,0}
03064     };
03065     const BoolInstr bi634[] = {
03066       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03067       {BO_XOR,2,3,1},{BO_AND,0,1,0},
03068       {BO_HLT,0,0,0}
03069     };
03070     const BoolInstr bi635[] = {
03071       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03072       {BO_AND,0,1,0},
03073       {BO_HLT,0,0,0}
03074     };
03075     const BoolInstr bi636[] = {
03076       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03077       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03078       {BO_HLT,0,0,0}
03079     };
03080     const BoolInstr bi637[] = {
03081       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
03082       {BO_HLT,0,0,0}
03083     };
03084     const BoolInstr bi638[] = {
03085       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
03086       {BO_HLT,0,0,0}
03087     };
03088     const BoolInstr bi639[] = {
03089       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
03090       {BO_HLT,0,0,0}
03091     };
03092     const BoolInstr bi640[] = {
03093       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03094       {BO_OR ,0,1,0},
03095       {BO_HLT,0,0,0}
03096     };
03097     const BoolInstr bi641[] = {
03098       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03099       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
03100       {BO_HLT,0,0,0}
03101     };
03102     const BoolInstr bi642[] = {
03103       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03104       {BO_OR ,0,1,0},
03105       {BO_HLT,0,0,0}
03106     };
03107     const BoolInstr bi643[] = {
03108       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03109       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03110       {BO_HLT,0,0,0}
03111     };
03112     const BoolInstr bi644[] = {
03113       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
03114       {BO_HLT,0,0,0}
03115     };
03116     const BoolInstr bi645[] = {
03117       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
03118       {BO_HLT,0,0,0}
03119     };
03120     const BoolInstr bi646[] = {
03121       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
03122       {BO_HLT,0,0,0}
03123     };
03124     const BoolInstr bi647[] = {
03125       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03126       {BO_IMP,0,1,0},
03127       {BO_HLT,0,0,0}
03128     };
03129     const BoolInstr bi648[] = {
03130       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03131       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
03132       {BO_HLT,0,0,0}
03133     };
03134     const BoolInstr bi649[] = {
03135       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03136       {BO_IMP,0,1,0},
03137       {BO_HLT,0,0,0}
03138     };
03139     const BoolInstr bi650[] = {
03140       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03141       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03142       {BO_HLT,0,0,0}
03143     };
03144     const BoolInstr bi651[] = {
03145       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
03146       {BO_HLT,0,0,0}
03147     };
03148     const BoolInstr bi652[] = {
03149       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
03150       {BO_HLT,0,0,0}
03151     };
03152     const BoolInstr bi653[] = {
03153       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
03154       {BO_HLT,0,0,0}
03155     };
03156     const BoolInstr bi654[] = {
03157       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03158       {BO_XOR,0,1,0},
03159       {BO_HLT,0,0,0}
03160     };
03161     const BoolInstr bi655[] = {
03162       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03163       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
03164       {BO_HLT,0,0,0}
03165     };
03166     const BoolInstr bi656[] = {
03167       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03168       {BO_XOR,0,1,0},
03169       {BO_HLT,0,0,0}
03170     };
03171     const BoolInstr bi657[] = {
03172       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03173       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03174       {BO_HLT,0,0,0}
03175     };
03176     const BoolInstr bi658[] = {
03177       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
03178       {BO_HLT,0,0,0}
03179     };
03180     const BoolInstr bi659[] = {
03181       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
03182       {BO_HLT,0,0,0}
03183     };
03184     const BoolInstr bi660[] = {
03185       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
03186       {BO_HLT,0,0,0}
03187     };
03188     const BoolInstr bi661[] = {
03189       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03190       {BO_EQV,0,1,0},
03191       {BO_HLT,0,0,0}
03192     };
03193     const BoolInstr bi662[] = {
03194       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03195       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
03196       {BO_HLT,0,0,0}
03197     };
03198     const BoolInstr bi663[] = {
03199       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03200       {BO_EQV,0,1,0},
03201       {BO_HLT,0,0,0}
03202     };
03203     const BoolInstr bi664[] = {
03204       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03205       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03206       {BO_HLT,0,0,0}
03207     };
03208     const BoolInstr bi665[] = {
03209       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
03210       {BO_HLT,0,0,0}
03211     };
03212     const BoolInstr bi666[] = {
03213       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
03214       {BO_HLT,0,0,0}
03215     };
03216     const BoolInstr bi667[] = {
03217       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
03218       {BO_HLT,0,0,0}
03219     };
03220     const BoolInstr bi668[] = {
03221       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03222       {BO_AND,0,1,0},
03223       {BO_HLT,0,0,0}
03224     };
03225     const BoolInstr bi669[] = {
03226       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03227       {BO_EQV,2,3,1},{BO_AND,0,1,0},
03228       {BO_HLT,0,0,0}
03229     };
03230     const BoolInstr bi670[] = {
03231       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03232       {BO_AND,0,1,0},
03233       {BO_HLT,0,0,0}
03234     };
03235     const BoolInstr bi671[] = {
03236       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03237       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03238       {BO_HLT,0,0,0}
03239     };
03240     const BoolInstr bi672[] = {
03241       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
03242       {BO_HLT,0,0,0}
03243     };
03244     const BoolInstr bi673[] = {
03245       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
03246       {BO_HLT,0,0,0}
03247     };
03248     const BoolInstr bi674[] = {
03249       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
03250       {BO_HLT,0,0,0}
03251     };
03252     const BoolInstr bi675[] = {
03253       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03254       {BO_OR ,0,1,0},
03255       {BO_HLT,0,0,0}
03256     };
03257     const BoolInstr bi676[] = {