Generated on Mon Aug 25 11:35:44 2008 for Gecode by doxygen 1.5.6

mm-bool.cc

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