Generated on Tue Apr 18 10:22:18 2017 for Gecode by doxygen 1.6.3

mm-bool.cpp

Go to the documentation of this file.
00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
00002 /*
00003  *  Main authors:
00004  *     Christian Schulte <schulte@gecode.org>
00005  *
00006  * Contributing authors:
00007  *     Matthias Balzer <matthias.balzer@itwm.fraunhofer.de>
00008  *
00009  *  Copyright:
00010  *     Christian Schulte, 2008
00011  *     Matthias Balzer, 2016
00012  *
00013  *  Last modified:
00014  *     $Date: 2016-05-23 22:18:23 +0200 (Mon, 23 May 2016) $ by $Author: schulte $
00015  *     $Revision: 15073 $
00016  *
00017  *  This file is part of Gecode, the generic constraint
00018  *  development environment:
00019  *     http://www.gecode.org
00020  *
00021  *  Permission is hereby granted, free of charge, to any person obtaining
00022  *  a copy of this software and associated documentation files (the
00023  *  "Software"), to deal in the Software without restriction, including
00024  *  without limitation the rights to use, copy, modify, merge, publish,
00025  *  distribute, sublicense, and/or sell copies of the Software, and to
00026  *  permit persons to whom the Software is furnished to do so, subject to
00027  *  the following conditions:
00028  *
00029  *  The above copyright notice and this permission notice shall be
00030  *  included in all copies or substantial portions of the Software.
00031  *
00032  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00033  *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00034  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
00035  *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
00036  *  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
00037  *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
00038  *  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00039  *
00040  */
00041 
00042 #include "test/int.hh"
00043 
00044 #include <gecode/minimodel.hh>
00045 
00046 namespace Test { namespace Int {
00047 
00049   namespace MiniModelBoolean {
00050 
00052      enum BoolOpcode {
00053        BO_NOT, 
00054        BO_AND, 
00055        BO_OR,  
00056        BO_IMP, 
00057        BO_XOR, 
00058        BO_EQV, 
00059        BO_HLT  
00060      };
00061 
00063      class BoolInstr {
00064      public:
00065        BoolOpcode o; 
00066        unsigned char x, y, z;  
00067      };
00068 
00070      int
00071      eval(const BoolInstr* pc, int reg[]) {
00072        while (true) {
00073          switch (pc->o) {
00074          case BO_NOT: reg[pc->y] = !reg[pc->x]; break;
00075          case BO_AND: reg[pc->z] = reg[pc->x] & reg[pc->y]; break;
00076          case BO_OR:  reg[pc->z] = reg[pc->x] | reg[pc->y]; break;
00077          case BO_IMP: reg[pc->z] = !reg[pc->x] | reg[pc->y]; break;
00078          case BO_XOR: reg[pc->z] = reg[pc->x] ^ reg[pc->y]; break;
00079          case BO_EQV: reg[pc->z] = reg[pc->x] == reg[pc->y]; break;
00080          case BO_HLT: return reg[pc->x];
00081          default: GECODE_NEVER;
00082          }
00083          pc++;
00084        }
00085        GECODE_NEVER;
00086      }
00087 
00089      Gecode::BoolExpr
00090      eval(const BoolInstr* pc, Gecode::BoolExpr reg[]) {
00091        using namespace Gecode;
00092        while (true) {
00093          switch (pc->o) {
00094          case BO_NOT: reg[pc->y] = !reg[pc->x]; break;
00095          case BO_AND: reg[pc->z] = reg[pc->x] && reg[pc->y]; break;
00096          case BO_OR:  reg[pc->z] = reg[pc->x] || reg[pc->y]; break;
00097          case BO_IMP: reg[pc->z] = (reg[pc->x] >> reg[pc->y]); break;
00098          case BO_XOR: reg[pc->z] = reg[pc->x] ^ reg[pc->y]; break;
00099          case BO_EQV: reg[pc->z] = (reg[pc->x] == reg[pc->y]); break;
00100          case BO_HLT: return reg[pc->x];
00101          default: GECODE_NEVER;
00102          }
00103          pc++;
00104        }
00105        GECODE_NEVER;
00106      }
00107 
00113 
00114      class BoolExprInt : public Test {
00115      protected:
00117        const BoolInstr* bis;
00119        int c;
00120      public:
00122        BoolExprInt(const BoolInstr* bis0, const std::string& s, int c0)
00123          : Test("MiniModel::BoolExpr::Int::"+s+"::"+str(c0),4,0,1),
00124            bis(bis0), c(c0) {}
00126        virtual bool solution(const Assignment& x) const {
00127          int reg[4] = {(x[0] != x[2]), x[1],
00128                        (x[2] > 0), x[3]};
00129          return eval(bis, reg) == c;
00130        }
00132        virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) {
00133          using namespace Gecode;
00134          Gecode::BoolExpr reg[4] = {
00135            (x[0] != x[2]),channel(home,x[1]),
00136            (x[2] > 0),channel(home,x[3])
00137          };
00138          if (c == 0)
00139            Gecode::rel(home, !(eval(bis,reg)));
00140          else
00141            Gecode::rel(home, eval(bis,reg));
00142        }
00143      };
00144 
00146      class BoolExprVar : public Test {
00147      protected:
00149        const BoolInstr* bis;
00150      public:
00152        BoolExprVar(const BoolInstr* bis0, const std::string& s)
00153          : Test("MiniModel::BoolExpr::Var::"+s,5,0,1), bis(bis0) {}
00155        virtual bool solution(const Assignment& x) const {
00156          int reg[4] = {(x[0] > x[2]), x[1],
00157                        (x[2] != 1), x[3]};
00158          return eval(bis, reg) == x[4];
00159        }
00161        virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) {
00162          using namespace Gecode;
00163          Gecode::BoolExpr reg[4] = {
00164            (x[0] > x[2]),channel(home,x[1]),
00165            (channel(home,x[2]) != 1),channel(home,x[3])
00166          };
00167          rel(home, Gecode::expr(home, eval(bis,reg)), IRT_EQ,
00168              channel(home,x[4]));
00169        }
00170      };
00171 
00172     const BoolInstr bi000[] = {
00173       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
00174       {BO_HLT,0,0,0}
00175     };
00176     const BoolInstr bi001[] = {
00177       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
00178       {BO_HLT,0,0,0}
00179     };
00180     const BoolInstr bi002[] = {
00181       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
00182       {BO_HLT,0,0,0}
00183     };
00184     const BoolInstr bi003[] = {
00185       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00186       {BO_AND,0,1,0},
00187       {BO_HLT,0,0,0}
00188     };
00189     const BoolInstr bi004[] = {
00190       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00191       {BO_AND,2,3,1},{BO_AND,0,1,0},
00192       {BO_HLT,0,0,0}
00193     };
00194     const BoolInstr bi005[] = {
00195       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00196       {BO_AND,0,1,0},
00197       {BO_HLT,0,0,0}
00198     };
00199     const BoolInstr bi006[] = {
00200       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00201       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00202       {BO_HLT,0,0,0}
00203     };
00204     const BoolInstr bi007[] = {
00205       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
00206       {BO_HLT,0,0,0}
00207     };
00208     const BoolInstr bi008[] = {
00209       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
00210       {BO_HLT,0,0,0}
00211     };
00212     const BoolInstr bi009[] = {
00213       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
00214       {BO_HLT,0,0,0}
00215     };
00216     const BoolInstr bi010[] = {
00217       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00218       {BO_OR ,0,1,0},
00219       {BO_HLT,0,0,0}
00220     };
00221     const BoolInstr bi011[] = {
00222       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00223       {BO_AND,2,3,1},{BO_OR ,0,1,0},
00224       {BO_HLT,0,0,0}
00225     };
00226     const BoolInstr bi012[] = {
00227       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00228       {BO_OR ,0,1,0},
00229       {BO_HLT,0,0,0}
00230     };
00231     const BoolInstr bi013[] = {
00232       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00233       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00234       {BO_HLT,0,0,0}
00235     };
00236     const BoolInstr bi014[] = {
00237       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
00238       {BO_HLT,0,0,0}
00239     };
00240     const BoolInstr bi015[] = {
00241       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
00242       {BO_HLT,0,0,0}
00243     };
00244     const BoolInstr bi016[] = {
00245       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
00246       {BO_HLT,0,0,0}
00247     };
00248     const BoolInstr bi017[] = {
00249       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00250       {BO_IMP,0,1,0},
00251       {BO_HLT,0,0,0}
00252     };
00253     const BoolInstr bi018[] = {
00254       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00255       {BO_AND,2,3,1},{BO_IMP,0,1,0},
00256       {BO_HLT,0,0,0}
00257     };
00258     const BoolInstr bi019[] = {
00259       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00260       {BO_IMP,0,1,0},
00261       {BO_HLT,0,0,0}
00262     };
00263     const BoolInstr bi020[] = {
00264       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00265       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00266       {BO_HLT,0,0,0}
00267     };
00268     const BoolInstr bi021[] = {
00269       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
00270       {BO_HLT,0,0,0}
00271     };
00272     const BoolInstr bi022[] = {
00273       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
00274       {BO_HLT,0,0,0}
00275     };
00276     const BoolInstr bi023[] = {
00277       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
00278       {BO_HLT,0,0,0}
00279     };
00280     const BoolInstr bi024[] = {
00281       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00282       {BO_XOR,0,1,0},
00283       {BO_HLT,0,0,0}
00284     };
00285     const BoolInstr bi025[] = {
00286       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00287       {BO_AND,2,3,1},{BO_XOR,0,1,0},
00288       {BO_HLT,0,0,0}
00289     };
00290     const BoolInstr bi026[] = {
00291       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00292       {BO_XOR,0,1,0},
00293       {BO_HLT,0,0,0}
00294     };
00295     const BoolInstr bi027[] = {
00296       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00297       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00298       {BO_HLT,0,0,0}
00299     };
00300     const BoolInstr bi028[] = {
00301       {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
00302       {BO_HLT,0,0,0}
00303     };
00304     const BoolInstr bi029[] = {
00305       {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
00306       {BO_HLT,0,0,0}
00307     };
00308     const BoolInstr bi030[] = {
00309       {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
00310       {BO_HLT,0,0,0}
00311     };
00312     const BoolInstr bi031[] = {
00313       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
00314       {BO_EQV,0,1,0},
00315       {BO_HLT,0,0,0}
00316     };
00317     const BoolInstr bi032[] = {
00318       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00319       {BO_AND,2,3,1},{BO_EQV,0,1,0},
00320       {BO_HLT,0,0,0}
00321     };
00322     const BoolInstr bi033[] = {
00323       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00324       {BO_EQV,0,1,0},
00325       {BO_HLT,0,0,0}
00326     };
00327     const BoolInstr bi034[] = {
00328       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00329       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00330       {BO_HLT,0,0,0}
00331     };
00332     const BoolInstr bi035[] = {
00333       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
00334       {BO_HLT,0,0,0}
00335     };
00336     const BoolInstr bi036[] = {
00337       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
00338       {BO_HLT,0,0,0}
00339     };
00340     const BoolInstr bi037[] = {
00341       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
00342       {BO_HLT,0,0,0}
00343     };
00344     const BoolInstr bi038[] = {
00345       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00346       {BO_AND,0,1,0},
00347       {BO_HLT,0,0,0}
00348     };
00349     const BoolInstr bi039[] = {
00350       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00351       {BO_OR ,2,3,1},{BO_AND,0,1,0},
00352       {BO_HLT,0,0,0}
00353     };
00354     const BoolInstr bi040[] = {
00355       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00356       {BO_AND,0,1,0},
00357       {BO_HLT,0,0,0}
00358     };
00359     const BoolInstr bi041[] = {
00360       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00361       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00362       {BO_HLT,0,0,0}
00363     };
00364     const BoolInstr bi042[] = {
00365       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
00366       {BO_HLT,0,0,0}
00367     };
00368     const BoolInstr bi043[] = {
00369       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
00370       {BO_HLT,0,0,0}
00371     };
00372     const BoolInstr bi044[] = {
00373       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
00374       {BO_HLT,0,0,0}
00375     };
00376     const BoolInstr bi045[] = {
00377       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00378       {BO_OR ,0,1,0},
00379       {BO_HLT,0,0,0}
00380     };
00381     const BoolInstr bi046[] = {
00382       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00383       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
00384       {BO_HLT,0,0,0}
00385     };
00386     const BoolInstr bi047[] = {
00387       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00388       {BO_OR ,0,1,0},
00389       {BO_HLT,0,0,0}
00390     };
00391     const BoolInstr bi048[] = {
00392       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00393       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00394       {BO_HLT,0,0,0}
00395     };
00396     const BoolInstr bi049[] = {
00397       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
00398       {BO_HLT,0,0,0}
00399     };
00400     const BoolInstr bi050[] = {
00401       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
00402       {BO_HLT,0,0,0}
00403     };
00404     const BoolInstr bi051[] = {
00405       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
00406       {BO_HLT,0,0,0}
00407     };
00408     const BoolInstr bi052[] = {
00409       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00410       {BO_IMP,0,1,0},
00411       {BO_HLT,0,0,0}
00412     };
00413     const BoolInstr bi053[] = {
00414       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00415       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
00416       {BO_HLT,0,0,0}
00417     };
00418     const BoolInstr bi054[] = {
00419       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00420       {BO_IMP,0,1,0},
00421       {BO_HLT,0,0,0}
00422     };
00423     const BoolInstr bi055[] = {
00424       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00425       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00426       {BO_HLT,0,0,0}
00427     };
00428     const BoolInstr bi056[] = {
00429       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
00430       {BO_HLT,0,0,0}
00431     };
00432     const BoolInstr bi057[] = {
00433       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
00434       {BO_HLT,0,0,0}
00435     };
00436     const BoolInstr bi058[] = {
00437       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
00438       {BO_HLT,0,0,0}
00439     };
00440     const BoolInstr bi059[] = {
00441       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00442       {BO_XOR,0,1,0},
00443       {BO_HLT,0,0,0}
00444     };
00445     const BoolInstr bi060[] = {
00446       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00447       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
00448       {BO_HLT,0,0,0}
00449     };
00450     const BoolInstr bi061[] = {
00451       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00452       {BO_XOR,0,1,0},
00453       {BO_HLT,0,0,0}
00454     };
00455     const BoolInstr bi062[] = {
00456       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00457       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00458       {BO_HLT,0,0,0}
00459     };
00460     const BoolInstr bi063[] = {
00461       {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
00462       {BO_HLT,0,0,0}
00463     };
00464     const BoolInstr bi064[] = {
00465       {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
00466       {BO_HLT,0,0,0}
00467     };
00468     const BoolInstr bi065[] = {
00469       {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
00470       {BO_HLT,0,0,0}
00471     };
00472     const BoolInstr bi066[] = {
00473       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
00474       {BO_EQV,0,1,0},
00475       {BO_HLT,0,0,0}
00476     };
00477     const BoolInstr bi067[] = {
00478       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00479       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
00480       {BO_HLT,0,0,0}
00481     };
00482     const BoolInstr bi068[] = {
00483       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00484       {BO_EQV,0,1,0},
00485       {BO_HLT,0,0,0}
00486     };
00487     const BoolInstr bi069[] = {
00488       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
00489       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00490       {BO_HLT,0,0,0}
00491     };
00492     const BoolInstr bi070[] = {
00493       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
00494       {BO_HLT,0,0,0}
00495     };
00496     const BoolInstr bi071[] = {
00497       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
00498       {BO_HLT,0,0,0}
00499     };
00500     const BoolInstr bi072[] = {
00501       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
00502       {BO_HLT,0,0,0}
00503     };
00504     const BoolInstr bi073[] = {
00505       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00506       {BO_AND,0,1,0},
00507       {BO_HLT,0,0,0}
00508     };
00509     const BoolInstr bi074[] = {
00510       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00511       {BO_IMP,2,3,1},{BO_AND,0,1,0},
00512       {BO_HLT,0,0,0}
00513     };
00514     const BoolInstr bi075[] = {
00515       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00516       {BO_AND,0,1,0},
00517       {BO_HLT,0,0,0}
00518     };
00519     const BoolInstr bi076[] = {
00520       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00521       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00522       {BO_HLT,0,0,0}
00523     };
00524     const BoolInstr bi077[] = {
00525       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
00526       {BO_HLT,0,0,0}
00527     };
00528     const BoolInstr bi078[] = {
00529       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
00530       {BO_HLT,0,0,0}
00531     };
00532     const BoolInstr bi079[] = {
00533       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
00534       {BO_HLT,0,0,0}
00535     };
00536     const BoolInstr bi080[] = {
00537       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00538       {BO_OR ,0,1,0},
00539       {BO_HLT,0,0,0}
00540     };
00541     const BoolInstr bi081[] = {
00542       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00543       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
00544       {BO_HLT,0,0,0}
00545     };
00546     const BoolInstr bi082[] = {
00547       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00548       {BO_OR ,0,1,0},
00549       {BO_HLT,0,0,0}
00550     };
00551     const BoolInstr bi083[] = {
00552       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00553       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00554       {BO_HLT,0,0,0}
00555     };
00556     const BoolInstr bi084[] = {
00557       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
00558       {BO_HLT,0,0,0}
00559     };
00560     const BoolInstr bi085[] = {
00561       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
00562       {BO_HLT,0,0,0}
00563     };
00564     const BoolInstr bi086[] = {
00565       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
00566       {BO_HLT,0,0,0}
00567     };
00568     const BoolInstr bi087[] = {
00569       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00570       {BO_IMP,0,1,0},
00571       {BO_HLT,0,0,0}
00572     };
00573     const BoolInstr bi088[] = {
00574       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00575       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
00576       {BO_HLT,0,0,0}
00577     };
00578     const BoolInstr bi089[] = {
00579       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00580       {BO_IMP,0,1,0},
00581       {BO_HLT,0,0,0}
00582     };
00583     const BoolInstr bi090[] = {
00584       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00585       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00586       {BO_HLT,0,0,0}
00587     };
00588     const BoolInstr bi091[] = {
00589       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
00590       {BO_HLT,0,0,0}
00591     };
00592     const BoolInstr bi092[] = {
00593       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
00594       {BO_HLT,0,0,0}
00595     };
00596     const BoolInstr bi093[] = {
00597       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
00598       {BO_HLT,0,0,0}
00599     };
00600     const BoolInstr bi094[] = {
00601       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00602       {BO_XOR,0,1,0},
00603       {BO_HLT,0,0,0}
00604     };
00605     const BoolInstr bi095[] = {
00606       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00607       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
00608       {BO_HLT,0,0,0}
00609     };
00610     const BoolInstr bi096[] = {
00611       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00612       {BO_XOR,0,1,0},
00613       {BO_HLT,0,0,0}
00614     };
00615     const BoolInstr bi097[] = {
00616       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00617       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00618       {BO_HLT,0,0,0}
00619     };
00620     const BoolInstr bi098[] = {
00621       {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
00622       {BO_HLT,0,0,0}
00623     };
00624     const BoolInstr bi099[] = {
00625       {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
00626       {BO_HLT,0,0,0}
00627     };
00628     const BoolInstr bi100[] = {
00629       {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
00630       {BO_HLT,0,0,0}
00631     };
00632     const BoolInstr bi101[] = {
00633       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
00634       {BO_EQV,0,1,0},
00635       {BO_HLT,0,0,0}
00636     };
00637     const BoolInstr bi102[] = {
00638       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00639       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
00640       {BO_HLT,0,0,0}
00641     };
00642     const BoolInstr bi103[] = {
00643       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00644       {BO_EQV,0,1,0},
00645       {BO_HLT,0,0,0}
00646     };
00647     const BoolInstr bi104[] = {
00648       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
00649       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00650       {BO_HLT,0,0,0}
00651     };
00652     const BoolInstr bi105[] = {
00653       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
00654       {BO_HLT,0,0,0}
00655     };
00656     const BoolInstr bi106[] = {
00657       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
00658       {BO_HLT,0,0,0}
00659     };
00660     const BoolInstr bi107[] = {
00661       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
00662       {BO_HLT,0,0,0}
00663     };
00664     const BoolInstr bi108[] = {
00665       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00666       {BO_AND,0,1,0},
00667       {BO_HLT,0,0,0}
00668     };
00669     const BoolInstr bi109[] = {
00670       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00671       {BO_XOR,2,3,1},{BO_AND,0,1,0},
00672       {BO_HLT,0,0,0}
00673     };
00674     const BoolInstr bi110[] = {
00675       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00676       {BO_AND,0,1,0},
00677       {BO_HLT,0,0,0}
00678     };
00679     const BoolInstr bi111[] = {
00680       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00681       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00682       {BO_HLT,0,0,0}
00683     };
00684     const BoolInstr bi112[] = {
00685       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
00686       {BO_HLT,0,0,0}
00687     };
00688     const BoolInstr bi113[] = {
00689       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
00690       {BO_HLT,0,0,0}
00691     };
00692     const BoolInstr bi114[] = {
00693       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
00694       {BO_HLT,0,0,0}
00695     };
00696     const BoolInstr bi115[] = {
00697       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00698       {BO_OR ,0,1,0},
00699       {BO_HLT,0,0,0}
00700     };
00701     const BoolInstr bi116[] = {
00702       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00703       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
00704       {BO_HLT,0,0,0}
00705     };
00706     const BoolInstr bi117[] = {
00707       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00708       {BO_OR ,0,1,0},
00709       {BO_HLT,0,0,0}
00710     };
00711     const BoolInstr bi118[] = {
00712       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00713       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00714       {BO_HLT,0,0,0}
00715     };
00716     const BoolInstr bi119[] = {
00717       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
00718       {BO_HLT,0,0,0}
00719     };
00720     const BoolInstr bi120[] = {
00721       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
00722       {BO_HLT,0,0,0}
00723     };
00724     const BoolInstr bi121[] = {
00725       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
00726       {BO_HLT,0,0,0}
00727     };
00728     const BoolInstr bi122[] = {
00729       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00730       {BO_IMP,0,1,0},
00731       {BO_HLT,0,0,0}
00732     };
00733     const BoolInstr bi123[] = {
00734       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00735       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
00736       {BO_HLT,0,0,0}
00737     };
00738     const BoolInstr bi124[] = {
00739       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00740       {BO_IMP,0,1,0},
00741       {BO_HLT,0,0,0}
00742     };
00743     const BoolInstr bi125[] = {
00744       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00745       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00746       {BO_HLT,0,0,0}
00747     };
00748     const BoolInstr bi126[] = {
00749       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
00750       {BO_HLT,0,0,0}
00751     };
00752     const BoolInstr bi127[] = {
00753       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
00754       {BO_HLT,0,0,0}
00755     };
00756     const BoolInstr bi128[] = {
00757       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
00758       {BO_HLT,0,0,0}
00759     };
00760     const BoolInstr bi129[] = {
00761       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00762       {BO_XOR,0,1,0},
00763       {BO_HLT,0,0,0}
00764     };
00765     const BoolInstr bi130[] = {
00766       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00767       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
00768       {BO_HLT,0,0,0}
00769     };
00770     const BoolInstr bi131[] = {
00771       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00772       {BO_XOR,0,1,0},
00773       {BO_HLT,0,0,0}
00774     };
00775     const BoolInstr bi132[] = {
00776       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00777       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00778       {BO_HLT,0,0,0}
00779     };
00780     const BoolInstr bi133[] = {
00781       {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
00782       {BO_HLT,0,0,0}
00783     };
00784     const BoolInstr bi134[] = {
00785       {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
00786       {BO_HLT,0,0,0}
00787     };
00788     const BoolInstr bi135[] = {
00789       {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
00790       {BO_HLT,0,0,0}
00791     };
00792     const BoolInstr bi136[] = {
00793       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
00794       {BO_EQV,0,1,0},
00795       {BO_HLT,0,0,0}
00796     };
00797     const BoolInstr bi137[] = {
00798       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00799       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
00800       {BO_HLT,0,0,0}
00801     };
00802     const BoolInstr bi138[] = {
00803       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00804       {BO_EQV,0,1,0},
00805       {BO_HLT,0,0,0}
00806     };
00807     const BoolInstr bi139[] = {
00808       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
00809       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00810       {BO_HLT,0,0,0}
00811     };
00812     const BoolInstr bi140[] = {
00813       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
00814       {BO_HLT,0,0,0}
00815     };
00816     const BoolInstr bi141[] = {
00817       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
00818       {BO_HLT,0,0,0}
00819     };
00820     const BoolInstr bi142[] = {
00821       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
00822       {BO_HLT,0,0,0}
00823     };
00824     const BoolInstr bi143[] = {
00825       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00826       {BO_AND,0,1,0},
00827       {BO_HLT,0,0,0}
00828     };
00829     const BoolInstr bi144[] = {
00830       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00831       {BO_EQV,2,3,1},{BO_AND,0,1,0},
00832       {BO_HLT,0,0,0}
00833     };
00834     const BoolInstr bi145[] = {
00835       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00836       {BO_AND,0,1,0},
00837       {BO_HLT,0,0,0}
00838     };
00839     const BoolInstr bi146[] = {
00840       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00841       {BO_AND,0,1,0},{BO_NOT,0,0,0},
00842       {BO_HLT,0,0,0}
00843     };
00844     const BoolInstr bi147[] = {
00845       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
00846       {BO_HLT,0,0,0}
00847     };
00848     const BoolInstr bi148[] = {
00849       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
00850       {BO_HLT,0,0,0}
00851     };
00852     const BoolInstr bi149[] = {
00853       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
00854       {BO_HLT,0,0,0}
00855     };
00856     const BoolInstr bi150[] = {
00857       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00858       {BO_OR ,0,1,0},
00859       {BO_HLT,0,0,0}
00860     };
00861     const BoolInstr bi151[] = {
00862       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00863       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
00864       {BO_HLT,0,0,0}
00865     };
00866     const BoolInstr bi152[] = {
00867       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00868       {BO_OR ,0,1,0},
00869       {BO_HLT,0,0,0}
00870     };
00871     const BoolInstr bi153[] = {
00872       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00873       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
00874       {BO_HLT,0,0,0}
00875     };
00876     const BoolInstr bi154[] = {
00877       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
00878       {BO_HLT,0,0,0}
00879     };
00880     const BoolInstr bi155[] = {
00881       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
00882       {BO_HLT,0,0,0}
00883     };
00884     const BoolInstr bi156[] = {
00885       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
00886       {BO_HLT,0,0,0}
00887     };
00888     const BoolInstr bi157[] = {
00889       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00890       {BO_IMP,0,1,0},
00891       {BO_HLT,0,0,0}
00892     };
00893     const BoolInstr bi158[] = {
00894       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00895       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
00896       {BO_HLT,0,0,0}
00897     };
00898     const BoolInstr bi159[] = {
00899       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00900       {BO_IMP,0,1,0},
00901       {BO_HLT,0,0,0}
00902     };
00903     const BoolInstr bi160[] = {
00904       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00905       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
00906       {BO_HLT,0,0,0}
00907     };
00908     const BoolInstr bi161[] = {
00909       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
00910       {BO_HLT,0,0,0}
00911     };
00912     const BoolInstr bi162[] = {
00913       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
00914       {BO_HLT,0,0,0}
00915     };
00916     const BoolInstr bi163[] = {
00917       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
00918       {BO_HLT,0,0,0}
00919     };
00920     const BoolInstr bi164[] = {
00921       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00922       {BO_XOR,0,1,0},
00923       {BO_HLT,0,0,0}
00924     };
00925     const BoolInstr bi165[] = {
00926       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00927       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
00928       {BO_HLT,0,0,0}
00929     };
00930     const BoolInstr bi166[] = {
00931       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00932       {BO_XOR,0,1,0},
00933       {BO_HLT,0,0,0}
00934     };
00935     const BoolInstr bi167[] = {
00936       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00937       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
00938       {BO_HLT,0,0,0}
00939     };
00940     const BoolInstr bi168[] = {
00941       {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
00942       {BO_HLT,0,0,0}
00943     };
00944     const BoolInstr bi169[] = {
00945       {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
00946       {BO_HLT,0,0,0}
00947     };
00948     const BoolInstr bi170[] = {
00949       {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
00950       {BO_HLT,0,0,0}
00951     };
00952     const BoolInstr bi171[] = {
00953       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
00954       {BO_EQV,0,1,0},
00955       {BO_HLT,0,0,0}
00956     };
00957     const BoolInstr bi172[] = {
00958       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
00959       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
00960       {BO_HLT,0,0,0}
00961     };
00962     const BoolInstr bi173[] = {
00963       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00964       {BO_EQV,0,1,0},
00965       {BO_HLT,0,0,0}
00966     };
00967     const BoolInstr bi174[] = {
00968       {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
00969       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
00970       {BO_HLT,0,0,0}
00971     };
00972     const BoolInstr bi175[] = {
00973       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
00974       {BO_HLT,0,0,0}
00975     };
00976     const BoolInstr bi176[] = {
00977       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
00978       {BO_HLT,0,0,0}
00979     };
00980     const BoolInstr bi177[] = {
00981       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
00982       {BO_HLT,0,0,0}
00983     };
00984     const BoolInstr bi178[] = {
00985       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
00986       {BO_AND,0,1,0},
00987       {BO_HLT,0,0,0}
00988     };
00989     const BoolInstr bi179[] = {
00990       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
00991       {BO_AND,2,3,1},{BO_AND,0,1,0},
00992       {BO_HLT,0,0,0}
00993     };
00994     const BoolInstr bi180[] = {
00995       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
00996       {BO_AND,0,1,0},
00997       {BO_HLT,0,0,0}
00998     };
00999     const BoolInstr bi181[] = {
01000       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01001       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01002       {BO_HLT,0,0,0}
01003     };
01004     const BoolInstr bi182[] = {
01005       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
01006       {BO_HLT,0,0,0}
01007     };
01008     const BoolInstr bi183[] = {
01009       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
01010       {BO_HLT,0,0,0}
01011     };
01012     const BoolInstr bi184[] = {
01013       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
01014       {BO_HLT,0,0,0}
01015     };
01016     const BoolInstr bi185[] = {
01017       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01018       {BO_OR ,0,1,0},
01019       {BO_HLT,0,0,0}
01020     };
01021     const BoolInstr bi186[] = {
01022       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01023       {BO_AND,2,3,1},{BO_OR ,0,1,0},
01024       {BO_HLT,0,0,0}
01025     };
01026     const BoolInstr bi187[] = {
01027       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01028       {BO_OR ,0,1,0},
01029       {BO_HLT,0,0,0}
01030     };
01031     const BoolInstr bi188[] = {
01032       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01033       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01034       {BO_HLT,0,0,0}
01035     };
01036     const BoolInstr bi189[] = {
01037       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
01038       {BO_HLT,0,0,0}
01039     };
01040     const BoolInstr bi190[] = {
01041       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
01042       {BO_HLT,0,0,0}
01043     };
01044     const BoolInstr bi191[] = {
01045       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
01046       {BO_HLT,0,0,0}
01047     };
01048     const BoolInstr bi192[] = {
01049       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01050       {BO_IMP,0,1,0},
01051       {BO_HLT,0,0,0}
01052     };
01053     const BoolInstr bi193[] = {
01054       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01055       {BO_AND,2,3,1},{BO_IMP,0,1,0},
01056       {BO_HLT,0,0,0}
01057     };
01058     const BoolInstr bi194[] = {
01059       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01060       {BO_IMP,0,1,0},
01061       {BO_HLT,0,0,0}
01062     };
01063     const BoolInstr bi195[] = {
01064       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01065       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01066       {BO_HLT,0,0,0}
01067     };
01068     const BoolInstr bi196[] = {
01069       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
01070       {BO_HLT,0,0,0}
01071     };
01072     const BoolInstr bi197[] = {
01073       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
01074       {BO_HLT,0,0,0}
01075     };
01076     const BoolInstr bi198[] = {
01077       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
01078       {BO_HLT,0,0,0}
01079     };
01080     const BoolInstr bi199[] = {
01081       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01082       {BO_XOR,0,1,0},
01083       {BO_HLT,0,0,0}
01084     };
01085     const BoolInstr bi200[] = {
01086       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01087       {BO_AND,2,3,1},{BO_XOR,0,1,0},
01088       {BO_HLT,0,0,0}
01089     };
01090     const BoolInstr bi201[] = {
01091       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01092       {BO_XOR,0,1,0},
01093       {BO_HLT,0,0,0}
01094     };
01095     const BoolInstr bi202[] = {
01096       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01097       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01098       {BO_HLT,0,0,0}
01099     };
01100     const BoolInstr bi203[] = {
01101       {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
01102       {BO_HLT,0,0,0}
01103     };
01104     const BoolInstr bi204[] = {
01105       {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
01106       {BO_HLT,0,0,0}
01107     };
01108     const BoolInstr bi205[] = {
01109       {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
01110       {BO_HLT,0,0,0}
01111     };
01112     const BoolInstr bi206[] = {
01113       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
01114       {BO_EQV,0,1,0},
01115       {BO_HLT,0,0,0}
01116     };
01117     const BoolInstr bi207[] = {
01118       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01119       {BO_AND,2,3,1},{BO_EQV,0,1,0},
01120       {BO_HLT,0,0,0}
01121     };
01122     const BoolInstr bi208[] = {
01123       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01124       {BO_EQV,0,1,0},
01125       {BO_HLT,0,0,0}
01126     };
01127     const BoolInstr bi209[] = {
01128       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01129       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01130       {BO_HLT,0,0,0}
01131     };
01132     const BoolInstr bi210[] = {
01133       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
01134       {BO_HLT,0,0,0}
01135     };
01136     const BoolInstr bi211[] = {
01137       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
01138       {BO_HLT,0,0,0}
01139     };
01140     const BoolInstr bi212[] = {
01141       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
01142       {BO_HLT,0,0,0}
01143     };
01144     const BoolInstr bi213[] = {
01145       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01146       {BO_AND,0,1,0},
01147       {BO_HLT,0,0,0}
01148     };
01149     const BoolInstr bi214[] = {
01150       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01151       {BO_OR ,2,3,1},{BO_AND,0,1,0},
01152       {BO_HLT,0,0,0}
01153     };
01154     const BoolInstr bi215[] = {
01155       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01156       {BO_AND,0,1,0},
01157       {BO_HLT,0,0,0}
01158     };
01159     const BoolInstr bi216[] = {
01160       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01161       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01162       {BO_HLT,0,0,0}
01163     };
01164     const BoolInstr bi217[] = {
01165       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
01166       {BO_HLT,0,0,0}
01167     };
01168     const BoolInstr bi218[] = {
01169       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
01170       {BO_HLT,0,0,0}
01171     };
01172     const BoolInstr bi219[] = {
01173       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
01174       {BO_HLT,0,0,0}
01175     };
01176     const BoolInstr bi220[] = {
01177       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01178       {BO_OR ,0,1,0},
01179       {BO_HLT,0,0,0}
01180     };
01181     const BoolInstr bi221[] = {
01182       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01183       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
01184       {BO_HLT,0,0,0}
01185     };
01186     const BoolInstr bi222[] = {
01187       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01188       {BO_OR ,0,1,0},
01189       {BO_HLT,0,0,0}
01190     };
01191     const BoolInstr bi223[] = {
01192       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01193       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01194       {BO_HLT,0,0,0}
01195     };
01196     const BoolInstr bi224[] = {
01197       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
01198       {BO_HLT,0,0,0}
01199     };
01200     const BoolInstr bi225[] = {
01201       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
01202       {BO_HLT,0,0,0}
01203     };
01204     const BoolInstr bi226[] = {
01205       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
01206       {BO_HLT,0,0,0}
01207     };
01208     const BoolInstr bi227[] = {
01209       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01210       {BO_IMP,0,1,0},
01211       {BO_HLT,0,0,0}
01212     };
01213     const BoolInstr bi228[] = {
01214       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01215       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
01216       {BO_HLT,0,0,0}
01217     };
01218     const BoolInstr bi229[] = {
01219       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01220       {BO_IMP,0,1,0},
01221       {BO_HLT,0,0,0}
01222     };
01223     const BoolInstr bi230[] = {
01224       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01225       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01226       {BO_HLT,0,0,0}
01227     };
01228     const BoolInstr bi231[] = {
01229       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
01230       {BO_HLT,0,0,0}
01231     };
01232     const BoolInstr bi232[] = {
01233       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
01234       {BO_HLT,0,0,0}
01235     };
01236     const BoolInstr bi233[] = {
01237       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
01238       {BO_HLT,0,0,0}
01239     };
01240     const BoolInstr bi234[] = {
01241       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01242       {BO_XOR,0,1,0},
01243       {BO_HLT,0,0,0}
01244     };
01245     const BoolInstr bi235[] = {
01246       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01247       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
01248       {BO_HLT,0,0,0}
01249     };
01250     const BoolInstr bi236[] = {
01251       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01252       {BO_XOR,0,1,0},
01253       {BO_HLT,0,0,0}
01254     };
01255     const BoolInstr bi237[] = {
01256       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01257       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01258       {BO_HLT,0,0,0}
01259     };
01260     const BoolInstr bi238[] = {
01261       {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
01262       {BO_HLT,0,0,0}
01263     };
01264     const BoolInstr bi239[] = {
01265       {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
01266       {BO_HLT,0,0,0}
01267     };
01268     const BoolInstr bi240[] = {
01269       {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
01270       {BO_HLT,0,0,0}
01271     };
01272     const BoolInstr bi241[] = {
01273       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
01274       {BO_EQV,0,1,0},
01275       {BO_HLT,0,0,0}
01276     };
01277     const BoolInstr bi242[] = {
01278       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01279       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
01280       {BO_HLT,0,0,0}
01281     };
01282     const BoolInstr bi243[] = {
01283       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01284       {BO_EQV,0,1,0},
01285       {BO_HLT,0,0,0}
01286     };
01287     const BoolInstr bi244[] = {
01288       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01289       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01290       {BO_HLT,0,0,0}
01291     };
01292     const BoolInstr bi245[] = {
01293       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
01294       {BO_HLT,0,0,0}
01295     };
01296     const BoolInstr bi246[] = {
01297       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
01298       {BO_HLT,0,0,0}
01299     };
01300     const BoolInstr bi247[] = {
01301       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
01302       {BO_HLT,0,0,0}
01303     };
01304     const BoolInstr bi248[] = {
01305       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01306       {BO_AND,0,1,0},
01307       {BO_HLT,0,0,0}
01308     };
01309     const BoolInstr bi249[] = {
01310       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01311       {BO_IMP,2,3,1},{BO_AND,0,1,0},
01312       {BO_HLT,0,0,0}
01313     };
01314     const BoolInstr bi250[] = {
01315       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01316       {BO_AND,0,1,0},
01317       {BO_HLT,0,0,0}
01318     };
01319     const BoolInstr bi251[] = {
01320       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01321       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01322       {BO_HLT,0,0,0}
01323     };
01324     const BoolInstr bi252[] = {
01325       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
01326       {BO_HLT,0,0,0}
01327     };
01328     const BoolInstr bi253[] = {
01329       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
01330       {BO_HLT,0,0,0}
01331     };
01332     const BoolInstr bi254[] = {
01333       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
01334       {BO_HLT,0,0,0}
01335     };
01336     const BoolInstr bi255[] = {
01337       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01338       {BO_OR ,0,1,0},
01339       {BO_HLT,0,0,0}
01340     };
01341     const BoolInstr bi256[] = {
01342       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01343       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
01344       {BO_HLT,0,0,0}
01345     };
01346     const BoolInstr bi257[] = {
01347       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01348       {BO_OR ,0,1,0},
01349       {BO_HLT,0,0,0}
01350     };
01351     const BoolInstr bi258[] = {
01352       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01353       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01354       {BO_HLT,0,0,0}
01355     };
01356     const BoolInstr bi259[] = {
01357       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
01358       {BO_HLT,0,0,0}
01359     };
01360     const BoolInstr bi260[] = {
01361       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
01362       {BO_HLT,0,0,0}
01363     };
01364     const BoolInstr bi261[] = {
01365       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
01366       {BO_HLT,0,0,0}
01367     };
01368     const BoolInstr bi262[] = {
01369       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01370       {BO_IMP,0,1,0},
01371       {BO_HLT,0,0,0}
01372     };
01373     const BoolInstr bi263[] = {
01374       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01375       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
01376       {BO_HLT,0,0,0}
01377     };
01378     const BoolInstr bi264[] = {
01379       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01380       {BO_IMP,0,1,0},
01381       {BO_HLT,0,0,0}
01382     };
01383     const BoolInstr bi265[] = {
01384       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01385       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01386       {BO_HLT,0,0,0}
01387     };
01388     const BoolInstr bi266[] = {
01389       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
01390       {BO_HLT,0,0,0}
01391     };
01392     const BoolInstr bi267[] = {
01393       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
01394       {BO_HLT,0,0,0}
01395     };
01396     const BoolInstr bi268[] = {
01397       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
01398       {BO_HLT,0,0,0}
01399     };
01400     const BoolInstr bi269[] = {
01401       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01402       {BO_XOR,0,1,0},
01403       {BO_HLT,0,0,0}
01404     };
01405     const BoolInstr bi270[] = {
01406       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01407       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
01408       {BO_HLT,0,0,0}
01409     };
01410     const BoolInstr bi271[] = {
01411       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01412       {BO_XOR,0,1,0},
01413       {BO_HLT,0,0,0}
01414     };
01415     const BoolInstr bi272[] = {
01416       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01417       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01418       {BO_HLT,0,0,0}
01419     };
01420     const BoolInstr bi273[] = {
01421       {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
01422       {BO_HLT,0,0,0}
01423     };
01424     const BoolInstr bi274[] = {
01425       {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
01426       {BO_HLT,0,0,0}
01427     };
01428     const BoolInstr bi275[] = {
01429       {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
01430       {BO_HLT,0,0,0}
01431     };
01432     const BoolInstr bi276[] = {
01433       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
01434       {BO_EQV,0,1,0},
01435       {BO_HLT,0,0,0}
01436     };
01437     const BoolInstr bi277[] = {
01438       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01439       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
01440       {BO_HLT,0,0,0}
01441     };
01442     const BoolInstr bi278[] = {
01443       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01444       {BO_EQV,0,1,0},
01445       {BO_HLT,0,0,0}
01446     };
01447     const BoolInstr bi279[] = {
01448       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
01449       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01450       {BO_HLT,0,0,0}
01451     };
01452     const BoolInstr bi280[] = {
01453       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
01454       {BO_HLT,0,0,0}
01455     };
01456     const BoolInstr bi281[] = {
01457       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
01458       {BO_HLT,0,0,0}
01459     };
01460     const BoolInstr bi282[] = {
01461       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
01462       {BO_HLT,0,0,0}
01463     };
01464     const BoolInstr bi283[] = {
01465       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01466       {BO_AND,0,1,0},
01467       {BO_HLT,0,0,0}
01468     };
01469     const BoolInstr bi284[] = {
01470       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01471       {BO_XOR,2,3,1},{BO_AND,0,1,0},
01472       {BO_HLT,0,0,0}
01473     };
01474     const BoolInstr bi285[] = {
01475       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01476       {BO_AND,0,1,0},
01477       {BO_HLT,0,0,0}
01478     };
01479     const BoolInstr bi286[] = {
01480       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01481       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01482       {BO_HLT,0,0,0}
01483     };
01484     const BoolInstr bi287[] = {
01485       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
01486       {BO_HLT,0,0,0}
01487     };
01488     const BoolInstr bi288[] = {
01489       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
01490       {BO_HLT,0,0,0}
01491     };
01492     const BoolInstr bi289[] = {
01493       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
01494       {BO_HLT,0,0,0}
01495     };
01496     const BoolInstr bi290[] = {
01497       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01498       {BO_OR ,0,1,0},
01499       {BO_HLT,0,0,0}
01500     };
01501     const BoolInstr bi291[] = {
01502       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01503       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
01504       {BO_HLT,0,0,0}
01505     };
01506     const BoolInstr bi292[] = {
01507       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01508       {BO_OR ,0,1,0},
01509       {BO_HLT,0,0,0}
01510     };
01511     const BoolInstr bi293[] = {
01512       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01513       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01514       {BO_HLT,0,0,0}
01515     };
01516     const BoolInstr bi294[] = {
01517       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
01518       {BO_HLT,0,0,0}
01519     };
01520     const BoolInstr bi295[] = {
01521       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
01522       {BO_HLT,0,0,0}
01523     };
01524     const BoolInstr bi296[] = {
01525       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
01526       {BO_HLT,0,0,0}
01527     };
01528     const BoolInstr bi297[] = {
01529       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01530       {BO_IMP,0,1,0},
01531       {BO_HLT,0,0,0}
01532     };
01533     const BoolInstr bi298[] = {
01534       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01535       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
01536       {BO_HLT,0,0,0}
01537     };
01538     const BoolInstr bi299[] = {
01539       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01540       {BO_IMP,0,1,0},
01541       {BO_HLT,0,0,0}
01542     };
01543     const BoolInstr bi300[] = {
01544       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01545       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01546       {BO_HLT,0,0,0}
01547     };
01548     const BoolInstr bi301[] = {
01549       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
01550       {BO_HLT,0,0,0}
01551     };
01552     const BoolInstr bi302[] = {
01553       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
01554       {BO_HLT,0,0,0}
01555     };
01556     const BoolInstr bi303[] = {
01557       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
01558       {BO_HLT,0,0,0}
01559     };
01560     const BoolInstr bi304[] = {
01561       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01562       {BO_XOR,0,1,0},
01563       {BO_HLT,0,0,0}
01564     };
01565     const BoolInstr bi305[] = {
01566       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01567       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
01568       {BO_HLT,0,0,0}
01569     };
01570     const BoolInstr bi306[] = {
01571       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01572       {BO_XOR,0,1,0},
01573       {BO_HLT,0,0,0}
01574     };
01575     const BoolInstr bi307[] = {
01576       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01577       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01578       {BO_HLT,0,0,0}
01579     };
01580     const BoolInstr bi308[] = {
01581       {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
01582       {BO_HLT,0,0,0}
01583     };
01584     const BoolInstr bi309[] = {
01585       {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
01586       {BO_HLT,0,0,0}
01587     };
01588     const BoolInstr bi310[] = {
01589       {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
01590       {BO_HLT,0,0,0}
01591     };
01592     const BoolInstr bi311[] = {
01593       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
01594       {BO_EQV,0,1,0},
01595       {BO_HLT,0,0,0}
01596     };
01597     const BoolInstr bi312[] = {
01598       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01599       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
01600       {BO_HLT,0,0,0}
01601     };
01602     const BoolInstr bi313[] = {
01603       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01604       {BO_EQV,0,1,0},
01605       {BO_HLT,0,0,0}
01606     };
01607     const BoolInstr bi314[] = {
01608       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
01609       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01610       {BO_HLT,0,0,0}
01611     };
01612     const BoolInstr bi315[] = {
01613       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
01614       {BO_HLT,0,0,0}
01615     };
01616     const BoolInstr bi316[] = {
01617       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
01618       {BO_HLT,0,0,0}
01619     };
01620     const BoolInstr bi317[] = {
01621       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
01622       {BO_HLT,0,0,0}
01623     };
01624     const BoolInstr bi318[] = {
01625       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01626       {BO_AND,0,1,0},
01627       {BO_HLT,0,0,0}
01628     };
01629     const BoolInstr bi319[] = {
01630       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01631       {BO_EQV,2,3,1},{BO_AND,0,1,0},
01632       {BO_HLT,0,0,0}
01633     };
01634     const BoolInstr bi320[] = {
01635       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01636       {BO_AND,0,1,0},
01637       {BO_HLT,0,0,0}
01638     };
01639     const BoolInstr bi321[] = {
01640       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01641       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01642       {BO_HLT,0,0,0}
01643     };
01644     const BoolInstr bi322[] = {
01645       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
01646       {BO_HLT,0,0,0}
01647     };
01648     const BoolInstr bi323[] = {
01649       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
01650       {BO_HLT,0,0,0}
01651     };
01652     const BoolInstr bi324[] = {
01653       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
01654       {BO_HLT,0,0,0}
01655     };
01656     const BoolInstr bi325[] = {
01657       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01658       {BO_OR ,0,1,0},
01659       {BO_HLT,0,0,0}
01660     };
01661     const BoolInstr bi326[] = {
01662       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01663       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
01664       {BO_HLT,0,0,0}
01665     };
01666     const BoolInstr bi327[] = {
01667       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01668       {BO_OR ,0,1,0},
01669       {BO_HLT,0,0,0}
01670     };
01671     const BoolInstr bi328[] = {
01672       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01673       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01674       {BO_HLT,0,0,0}
01675     };
01676     const BoolInstr bi329[] = {
01677       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
01678       {BO_HLT,0,0,0}
01679     };
01680     const BoolInstr bi330[] = {
01681       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
01682       {BO_HLT,0,0,0}
01683     };
01684     const BoolInstr bi331[] = {
01685       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
01686       {BO_HLT,0,0,0}
01687     };
01688     const BoolInstr bi332[] = {
01689       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01690       {BO_IMP,0,1,0},
01691       {BO_HLT,0,0,0}
01692     };
01693     const BoolInstr bi333[] = {
01694       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01695       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
01696       {BO_HLT,0,0,0}
01697     };
01698     const BoolInstr bi334[] = {
01699       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01700       {BO_IMP,0,1,0},
01701       {BO_HLT,0,0,0}
01702     };
01703     const BoolInstr bi335[] = {
01704       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01705       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01706       {BO_HLT,0,0,0}
01707     };
01708     const BoolInstr bi336[] = {
01709       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
01710       {BO_HLT,0,0,0}
01711     };
01712     const BoolInstr bi337[] = {
01713       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
01714       {BO_HLT,0,0,0}
01715     };
01716     const BoolInstr bi338[] = {
01717       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
01718       {BO_HLT,0,0,0}
01719     };
01720     const BoolInstr bi339[] = {
01721       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01722       {BO_XOR,0,1,0},
01723       {BO_HLT,0,0,0}
01724     };
01725     const BoolInstr bi340[] = {
01726       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01727       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
01728       {BO_HLT,0,0,0}
01729     };
01730     const BoolInstr bi341[] = {
01731       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01732       {BO_XOR,0,1,0},
01733       {BO_HLT,0,0,0}
01734     };
01735     const BoolInstr bi342[] = {
01736       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01737       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01738       {BO_HLT,0,0,0}
01739     };
01740     const BoolInstr bi343[] = {
01741       {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
01742       {BO_HLT,0,0,0}
01743     };
01744     const BoolInstr bi344[] = {
01745       {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
01746       {BO_HLT,0,0,0}
01747     };
01748     const BoolInstr bi345[] = {
01749       {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
01750       {BO_HLT,0,0,0}
01751     };
01752     const BoolInstr bi346[] = {
01753       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
01754       {BO_EQV,0,1,0},
01755       {BO_HLT,0,0,0}
01756     };
01757     const BoolInstr bi347[] = {
01758       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
01759       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
01760       {BO_HLT,0,0,0}
01761     };
01762     const BoolInstr bi348[] = {
01763       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01764       {BO_EQV,0,1,0},
01765       {BO_HLT,0,0,0}
01766     };
01767     const BoolInstr bi349[] = {
01768       {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
01769       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01770       {BO_HLT,0,0,0}
01771     };
01772     const BoolInstr bi350[] = {
01773       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
01774       {BO_HLT,0,0,0}
01775     };
01776     const BoolInstr bi351[] = {
01777       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
01778       {BO_HLT,0,0,0}
01779     };
01780     const BoolInstr bi352[] = {
01781       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
01782       {BO_HLT,0,0,0}
01783     };
01784     const BoolInstr bi353[] = {
01785       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01786       {BO_AND,0,1,0},
01787       {BO_HLT,0,0,0}
01788     };
01789     const BoolInstr bi354[] = {
01790       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01791       {BO_AND,2,3,1},{BO_AND,0,1,0},
01792       {BO_HLT,0,0,0}
01793     };
01794     const BoolInstr bi355[] = {
01795       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01796       {BO_AND,0,1,0},
01797       {BO_HLT,0,0,0}
01798     };
01799     const BoolInstr bi356[] = {
01800       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01801       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01802       {BO_HLT,0,0,0}
01803     };
01804     const BoolInstr bi357[] = {
01805       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
01806       {BO_HLT,0,0,0}
01807     };
01808     const BoolInstr bi358[] = {
01809       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
01810       {BO_HLT,0,0,0}
01811     };
01812     const BoolInstr bi359[] = {
01813       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
01814       {BO_HLT,0,0,0}
01815     };
01816     const BoolInstr bi360[] = {
01817       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01818       {BO_OR ,0,1,0},
01819       {BO_HLT,0,0,0}
01820     };
01821     const BoolInstr bi361[] = {
01822       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01823       {BO_AND,2,3,1},{BO_OR ,0,1,0},
01824       {BO_HLT,0,0,0}
01825     };
01826     const BoolInstr bi362[] = {
01827       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01828       {BO_OR ,0,1,0},
01829       {BO_HLT,0,0,0}
01830     };
01831     const BoolInstr bi363[] = {
01832       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01833       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01834       {BO_HLT,0,0,0}
01835     };
01836     const BoolInstr bi364[] = {
01837       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
01838       {BO_HLT,0,0,0}
01839     };
01840     const BoolInstr bi365[] = {
01841       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
01842       {BO_HLT,0,0,0}
01843     };
01844     const BoolInstr bi366[] = {
01845       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
01846       {BO_HLT,0,0,0}
01847     };
01848     const BoolInstr bi367[] = {
01849       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01850       {BO_IMP,0,1,0},
01851       {BO_HLT,0,0,0}
01852     };
01853     const BoolInstr bi368[] = {
01854       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01855       {BO_AND,2,3,1},{BO_IMP,0,1,0},
01856       {BO_HLT,0,0,0}
01857     };
01858     const BoolInstr bi369[] = {
01859       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01860       {BO_IMP,0,1,0},
01861       {BO_HLT,0,0,0}
01862     };
01863     const BoolInstr bi370[] = {
01864       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01865       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
01866       {BO_HLT,0,0,0}
01867     };
01868     const BoolInstr bi371[] = {
01869       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
01870       {BO_HLT,0,0,0}
01871     };
01872     const BoolInstr bi372[] = {
01873       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
01874       {BO_HLT,0,0,0}
01875     };
01876     const BoolInstr bi373[] = {
01877       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
01878       {BO_HLT,0,0,0}
01879     };
01880     const BoolInstr bi374[] = {
01881       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01882       {BO_XOR,0,1,0},
01883       {BO_HLT,0,0,0}
01884     };
01885     const BoolInstr bi375[] = {
01886       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01887       {BO_AND,2,3,1},{BO_XOR,0,1,0},
01888       {BO_HLT,0,0,0}
01889     };
01890     const BoolInstr bi376[] = {
01891       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01892       {BO_XOR,0,1,0},
01893       {BO_HLT,0,0,0}
01894     };
01895     const BoolInstr bi377[] = {
01896       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01897       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
01898       {BO_HLT,0,0,0}
01899     };
01900     const BoolInstr bi378[] = {
01901       {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
01902       {BO_HLT,0,0,0}
01903     };
01904     const BoolInstr bi379[] = {
01905       {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
01906       {BO_HLT,0,0,0}
01907     };
01908     const BoolInstr bi380[] = {
01909       {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
01910       {BO_HLT,0,0,0}
01911     };
01912     const BoolInstr bi381[] = {
01913       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
01914       {BO_EQV,0,1,0},
01915       {BO_HLT,0,0,0}
01916     };
01917     const BoolInstr bi382[] = {
01918       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01919       {BO_AND,2,3,1},{BO_EQV,0,1,0},
01920       {BO_HLT,0,0,0}
01921     };
01922     const BoolInstr bi383[] = {
01923       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01924       {BO_EQV,0,1,0},
01925       {BO_HLT,0,0,0}
01926     };
01927     const BoolInstr bi384[] = {
01928       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
01929       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
01930       {BO_HLT,0,0,0}
01931     };
01932     const BoolInstr bi385[] = {
01933       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
01934       {BO_HLT,0,0,0}
01935     };
01936     const BoolInstr bi386[] = {
01937       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
01938       {BO_HLT,0,0,0}
01939     };
01940     const BoolInstr bi387[] = {
01941       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
01942       {BO_HLT,0,0,0}
01943     };
01944     const BoolInstr bi388[] = {
01945       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
01946       {BO_AND,0,1,0},
01947       {BO_HLT,0,0,0}
01948     };
01949     const BoolInstr bi389[] = {
01950       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01951       {BO_OR ,2,3,1},{BO_AND,0,1,0},
01952       {BO_HLT,0,0,0}
01953     };
01954     const BoolInstr bi390[] = {
01955       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01956       {BO_AND,0,1,0},
01957       {BO_HLT,0,0,0}
01958     };
01959     const BoolInstr bi391[] = {
01960       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01961       {BO_AND,0,1,0},{BO_NOT,0,0,0},
01962       {BO_HLT,0,0,0}
01963     };
01964     const BoolInstr bi392[] = {
01965       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
01966       {BO_HLT,0,0,0}
01967     };
01968     const BoolInstr bi393[] = {
01969       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
01970       {BO_HLT,0,0,0}
01971     };
01972     const BoolInstr bi394[] = {
01973       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
01974       {BO_HLT,0,0,0}
01975     };
01976     const BoolInstr bi395[] = {
01977       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
01978       {BO_OR ,0,1,0},
01979       {BO_HLT,0,0,0}
01980     };
01981     const BoolInstr bi396[] = {
01982       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
01983       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
01984       {BO_HLT,0,0,0}
01985     };
01986     const BoolInstr bi397[] = {
01987       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01988       {BO_OR ,0,1,0},
01989       {BO_HLT,0,0,0}
01990     };
01991     const BoolInstr bi398[] = {
01992       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
01993       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
01994       {BO_HLT,0,0,0}
01995     };
01996     const BoolInstr bi399[] = {
01997       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
01998       {BO_HLT,0,0,0}
01999     };
02000     const BoolInstr bi400[] = {
02001       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
02002       {BO_HLT,0,0,0}
02003     };
02004     const BoolInstr bi401[] = {
02005       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
02006       {BO_HLT,0,0,0}
02007     };
02008     const BoolInstr bi402[] = {
02009       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
02010       {BO_IMP,0,1,0},
02011       {BO_HLT,0,0,0}
02012     };
02013     const BoolInstr bi403[] = {
02014       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02015       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
02016       {BO_HLT,0,0,0}
02017     };
02018     const BoolInstr bi404[] = {
02019       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02020       {BO_IMP,0,1,0},
02021       {BO_HLT,0,0,0}
02022     };
02023     const BoolInstr bi405[] = {
02024       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02025       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02026       {BO_HLT,0,0,0}
02027     };
02028     const BoolInstr bi406[] = {
02029       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
02030       {BO_HLT,0,0,0}
02031     };
02032     const BoolInstr bi407[] = {
02033       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
02034       {BO_HLT,0,0,0}
02035     };
02036     const BoolInstr bi408[] = {
02037       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
02038       {BO_HLT,0,0,0}
02039     };
02040     const BoolInstr bi409[] = {
02041       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
02042       {BO_XOR,0,1,0},
02043       {BO_HLT,0,0,0}
02044     };
02045     const BoolInstr bi410[] = {
02046       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02047       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
02048       {BO_HLT,0,0,0}
02049     };
02050     const BoolInstr bi411[] = {
02051       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02052       {BO_XOR,0,1,0},
02053       {BO_HLT,0,0,0}
02054     };
02055     const BoolInstr bi412[] = {
02056       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02057       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02058       {BO_HLT,0,0,0}
02059     };
02060     const BoolInstr bi413[] = {
02061       {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
02062       {BO_HLT,0,0,0}
02063     };
02064     const BoolInstr bi414[] = {
02065       {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
02066       {BO_HLT,0,0,0}
02067     };
02068     const BoolInstr bi415[] = {
02069       {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
02070       {BO_HLT,0,0,0}
02071     };
02072     const BoolInstr bi416[] = {
02073       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
02074       {BO_EQV,0,1,0},
02075       {BO_HLT,0,0,0}
02076     };
02077     const BoolInstr bi417[] = {
02078       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02079       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
02080       {BO_HLT,0,0,0}
02081     };
02082     const BoolInstr bi418[] = {
02083       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02084       {BO_EQV,0,1,0},
02085       {BO_HLT,0,0,0}
02086     };
02087     const BoolInstr bi419[] = {
02088       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02089       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02090       {BO_HLT,0,0,0}
02091     };
02092     const BoolInstr bi420[] = {
02093       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
02094       {BO_HLT,0,0,0}
02095     };
02096     const BoolInstr bi421[] = {
02097       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
02098       {BO_HLT,0,0,0}
02099     };
02100     const BoolInstr bi422[] = {
02101       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
02102       {BO_HLT,0,0,0}
02103     };
02104     const BoolInstr bi423[] = {
02105       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02106       {BO_AND,0,1,0},
02107       {BO_HLT,0,0,0}
02108     };
02109     const BoolInstr bi424[] = {
02110       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02111       {BO_IMP,2,3,1},{BO_AND,0,1,0},
02112       {BO_HLT,0,0,0}
02113     };
02114     const BoolInstr bi425[] = {
02115       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02116       {BO_AND,0,1,0},
02117       {BO_HLT,0,0,0}
02118     };
02119     const BoolInstr bi426[] = {
02120       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02121       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02122       {BO_HLT,0,0,0}
02123     };
02124     const BoolInstr bi427[] = {
02125       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
02126       {BO_HLT,0,0,0}
02127     };
02128     const BoolInstr bi428[] = {
02129       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
02130       {BO_HLT,0,0,0}
02131     };
02132     const BoolInstr bi429[] = {
02133       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
02134       {BO_HLT,0,0,0}
02135     };
02136     const BoolInstr bi430[] = {
02137       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02138       {BO_OR ,0,1,0},
02139       {BO_HLT,0,0,0}
02140     };
02141     const BoolInstr bi431[] = {
02142       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02143       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
02144       {BO_HLT,0,0,0}
02145     };
02146     const BoolInstr bi432[] = {
02147       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02148       {BO_OR ,0,1,0},
02149       {BO_HLT,0,0,0}
02150     };
02151     const BoolInstr bi433[] = {
02152       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02153       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02154       {BO_HLT,0,0,0}
02155     };
02156     const BoolInstr bi434[] = {
02157       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
02158       {BO_HLT,0,0,0}
02159     };
02160     const BoolInstr bi435[] = {
02161       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
02162       {BO_HLT,0,0,0}
02163     };
02164     const BoolInstr bi436[] = {
02165       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
02166       {BO_HLT,0,0,0}
02167     };
02168     const BoolInstr bi437[] = {
02169       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02170       {BO_IMP,0,1,0},
02171       {BO_HLT,0,0,0}
02172     };
02173     const BoolInstr bi438[] = {
02174       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02175       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
02176       {BO_HLT,0,0,0}
02177     };
02178     const BoolInstr bi439[] = {
02179       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02180       {BO_IMP,0,1,0},
02181       {BO_HLT,0,0,0}
02182     };
02183     const BoolInstr bi440[] = {
02184       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02185       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02186       {BO_HLT,0,0,0}
02187     };
02188     const BoolInstr bi441[] = {
02189       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
02190       {BO_HLT,0,0,0}
02191     };
02192     const BoolInstr bi442[] = {
02193       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
02194       {BO_HLT,0,0,0}
02195     };
02196     const BoolInstr bi443[] = {
02197       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
02198       {BO_HLT,0,0,0}
02199     };
02200     const BoolInstr bi444[] = {
02201       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02202       {BO_XOR,0,1,0},
02203       {BO_HLT,0,0,0}
02204     };
02205     const BoolInstr bi445[] = {
02206       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02207       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
02208       {BO_HLT,0,0,0}
02209     };
02210     const BoolInstr bi446[] = {
02211       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02212       {BO_XOR,0,1,0},
02213       {BO_HLT,0,0,0}
02214     };
02215     const BoolInstr bi447[] = {
02216       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02217       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02218       {BO_HLT,0,0,0}
02219     };
02220     const BoolInstr bi448[] = {
02221       {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
02222       {BO_HLT,0,0,0}
02223     };
02224     const BoolInstr bi449[] = {
02225       {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
02226       {BO_HLT,0,0,0}
02227     };
02228     const BoolInstr bi450[] = {
02229       {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
02230       {BO_HLT,0,0,0}
02231     };
02232     const BoolInstr bi451[] = {
02233       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
02234       {BO_EQV,0,1,0},
02235       {BO_HLT,0,0,0}
02236     };
02237     const BoolInstr bi452[] = {
02238       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02239       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
02240       {BO_HLT,0,0,0}
02241     };
02242     const BoolInstr bi453[] = {
02243       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02244       {BO_EQV,0,1,0},
02245       {BO_HLT,0,0,0}
02246     };
02247     const BoolInstr bi454[] = {
02248       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02249       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02250       {BO_HLT,0,0,0}
02251     };
02252     const BoolInstr bi455[] = {
02253       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
02254       {BO_HLT,0,0,0}
02255     };
02256     const BoolInstr bi456[] = {
02257       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
02258       {BO_HLT,0,0,0}
02259     };
02260     const BoolInstr bi457[] = {
02261       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
02262       {BO_HLT,0,0,0}
02263     };
02264     const BoolInstr bi458[] = {
02265       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02266       {BO_AND,0,1,0},
02267       {BO_HLT,0,0,0}
02268     };
02269     const BoolInstr bi459[] = {
02270       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02271       {BO_XOR,2,3,1},{BO_AND,0,1,0},
02272       {BO_HLT,0,0,0}
02273     };
02274     const BoolInstr bi460[] = {
02275       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02276       {BO_AND,0,1,0},
02277       {BO_HLT,0,0,0}
02278     };
02279     const BoolInstr bi461[] = {
02280       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02281       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02282       {BO_HLT,0,0,0}
02283     };
02284     const BoolInstr bi462[] = {
02285       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
02286       {BO_HLT,0,0,0}
02287     };
02288     const BoolInstr bi463[] = {
02289       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
02290       {BO_HLT,0,0,0}
02291     };
02292     const BoolInstr bi464[] = {
02293       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
02294       {BO_HLT,0,0,0}
02295     };
02296     const BoolInstr bi465[] = {
02297       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02298       {BO_OR ,0,1,0},
02299       {BO_HLT,0,0,0}
02300     };
02301     const BoolInstr bi466[] = {
02302       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02303       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
02304       {BO_HLT,0,0,0}
02305     };
02306     const BoolInstr bi467[] = {
02307       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02308       {BO_OR ,0,1,0},
02309       {BO_HLT,0,0,0}
02310     };
02311     const BoolInstr bi468[] = {
02312       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02313       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02314       {BO_HLT,0,0,0}
02315     };
02316     const BoolInstr bi469[] = {
02317       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
02318       {BO_HLT,0,0,0}
02319     };
02320     const BoolInstr bi470[] = {
02321       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
02322       {BO_HLT,0,0,0}
02323     };
02324     const BoolInstr bi471[] = {
02325       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
02326       {BO_HLT,0,0,0}
02327     };
02328     const BoolInstr bi472[] = {
02329       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02330       {BO_IMP,0,1,0},
02331       {BO_HLT,0,0,0}
02332     };
02333     const BoolInstr bi473[] = {
02334       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02335       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
02336       {BO_HLT,0,0,0}
02337     };
02338     const BoolInstr bi474[] = {
02339       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02340       {BO_IMP,0,1,0},
02341       {BO_HLT,0,0,0}
02342     };
02343     const BoolInstr bi475[] = {
02344       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02345       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02346       {BO_HLT,0,0,0}
02347     };
02348     const BoolInstr bi476[] = {
02349       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
02350       {BO_HLT,0,0,0}
02351     };
02352     const BoolInstr bi477[] = {
02353       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
02354       {BO_HLT,0,0,0}
02355     };
02356     const BoolInstr bi478[] = {
02357       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
02358       {BO_HLT,0,0,0}
02359     };
02360     const BoolInstr bi479[] = {
02361       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02362       {BO_XOR,0,1,0},
02363       {BO_HLT,0,0,0}
02364     };
02365     const BoolInstr bi480[] = {
02366       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02367       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
02368       {BO_HLT,0,0,0}
02369     };
02370     const BoolInstr bi481[] = {
02371       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02372       {BO_XOR,0,1,0},
02373       {BO_HLT,0,0,0}
02374     };
02375     const BoolInstr bi482[] = {
02376       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02377       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02378       {BO_HLT,0,0,0}
02379     };
02380     const BoolInstr bi483[] = {
02381       {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
02382       {BO_HLT,0,0,0}
02383     };
02384     const BoolInstr bi484[] = {
02385       {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
02386       {BO_HLT,0,0,0}
02387     };
02388     const BoolInstr bi485[] = {
02389       {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
02390       {BO_HLT,0,0,0}
02391     };
02392     const BoolInstr bi486[] = {
02393       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
02394       {BO_EQV,0,1,0},
02395       {BO_HLT,0,0,0}
02396     };
02397     const BoolInstr bi487[] = {
02398       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02399       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
02400       {BO_HLT,0,0,0}
02401     };
02402     const BoolInstr bi488[] = {
02403       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02404       {BO_EQV,0,1,0},
02405       {BO_HLT,0,0,0}
02406     };
02407     const BoolInstr bi489[] = {
02408       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
02409       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02410       {BO_HLT,0,0,0}
02411     };
02412     const BoolInstr bi490[] = {
02413       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
02414       {BO_HLT,0,0,0}
02415     };
02416     const BoolInstr bi491[] = {
02417       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
02418       {BO_HLT,0,0,0}
02419     };
02420     const BoolInstr bi492[] = {
02421       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
02422       {BO_HLT,0,0,0}
02423     };
02424     const BoolInstr bi493[] = {
02425       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02426       {BO_AND,0,1,0},
02427       {BO_HLT,0,0,0}
02428     };
02429     const BoolInstr bi494[] = {
02430       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02431       {BO_EQV,2,3,1},{BO_AND,0,1,0},
02432       {BO_HLT,0,0,0}
02433     };
02434     const BoolInstr bi495[] = {
02435       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02436       {BO_AND,0,1,0},
02437       {BO_HLT,0,0,0}
02438     };
02439     const BoolInstr bi496[] = {
02440       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02441       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02442       {BO_HLT,0,0,0}
02443     };
02444     const BoolInstr bi497[] = {
02445       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
02446       {BO_HLT,0,0,0}
02447     };
02448     const BoolInstr bi498[] = {
02449       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
02450       {BO_HLT,0,0,0}
02451     };
02452     const BoolInstr bi499[] = {
02453       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
02454       {BO_HLT,0,0,0}
02455     };
02456     const BoolInstr bi500[] = {
02457       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02458       {BO_OR ,0,1,0},
02459       {BO_HLT,0,0,0}
02460     };
02461     const BoolInstr bi501[] = {
02462       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02463       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
02464       {BO_HLT,0,0,0}
02465     };
02466     const BoolInstr bi502[] = {
02467       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02468       {BO_OR ,0,1,0},
02469       {BO_HLT,0,0,0}
02470     };
02471     const BoolInstr bi503[] = {
02472       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02473       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02474       {BO_HLT,0,0,0}
02475     };
02476     const BoolInstr bi504[] = {
02477       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
02478       {BO_HLT,0,0,0}
02479     };
02480     const BoolInstr bi505[] = {
02481       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
02482       {BO_HLT,0,0,0}
02483     };
02484     const BoolInstr bi506[] = {
02485       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
02486       {BO_HLT,0,0,0}
02487     };
02488     const BoolInstr bi507[] = {
02489       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02490       {BO_IMP,0,1,0},
02491       {BO_HLT,0,0,0}
02492     };
02493     const BoolInstr bi508[] = {
02494       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02495       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
02496       {BO_HLT,0,0,0}
02497     };
02498     const BoolInstr bi509[] = {
02499       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02500       {BO_IMP,0,1,0},
02501       {BO_HLT,0,0,0}
02502     };
02503     const BoolInstr bi510[] = {
02504       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02505       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02506       {BO_HLT,0,0,0}
02507     };
02508     const BoolInstr bi511[] = {
02509       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
02510       {BO_HLT,0,0,0}
02511     };
02512     const BoolInstr bi512[] = {
02513       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
02514       {BO_HLT,0,0,0}
02515     };
02516     const BoolInstr bi513[] = {
02517       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
02518       {BO_HLT,0,0,0}
02519     };
02520     const BoolInstr bi514[] = {
02521       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02522       {BO_XOR,0,1,0},
02523       {BO_HLT,0,0,0}
02524     };
02525     const BoolInstr bi515[] = {
02526       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02527       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
02528       {BO_HLT,0,0,0}
02529     };
02530     const BoolInstr bi516[] = {
02531       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02532       {BO_XOR,0,1,0},
02533       {BO_HLT,0,0,0}
02534     };
02535     const BoolInstr bi517[] = {
02536       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02537       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02538       {BO_HLT,0,0,0}
02539     };
02540     const BoolInstr bi518[] = {
02541       {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
02542       {BO_HLT,0,0,0}
02543     };
02544     const BoolInstr bi519[] = {
02545       {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
02546       {BO_HLT,0,0,0}
02547     };
02548     const BoolInstr bi520[] = {
02549       {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
02550       {BO_HLT,0,0,0}
02551     };
02552     const BoolInstr bi521[] = {
02553       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
02554       {BO_EQV,0,1,0},
02555       {BO_HLT,0,0,0}
02556     };
02557     const BoolInstr bi522[] = {
02558       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
02559       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
02560       {BO_HLT,0,0,0}
02561     };
02562     const BoolInstr bi523[] = {
02563       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02564       {BO_EQV,0,1,0},
02565       {BO_HLT,0,0,0}
02566     };
02567     const BoolInstr bi524[] = {
02568       {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
02569       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02570       {BO_HLT,0,0,0}
02571     };
02572     const BoolInstr bi525[] = {
02573       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
02574       {BO_HLT,0,0,0}
02575     };
02576     const BoolInstr bi526[] = {
02577       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
02578       {BO_HLT,0,0,0}
02579     };
02580     const BoolInstr bi527[] = {
02581       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
02582       {BO_HLT,0,0,0}
02583     };
02584     const BoolInstr bi528[] = {
02585       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02586       {BO_AND,0,1,0},
02587       {BO_HLT,0,0,0}
02588     };
02589     const BoolInstr bi529[] = {
02590       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02591       {BO_AND,2,3,1},{BO_AND,0,1,0},
02592       {BO_HLT,0,0,0}
02593     };
02594     const BoolInstr bi530[] = {
02595       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02596       {BO_AND,0,1,0},
02597       {BO_HLT,0,0,0}
02598     };
02599     const BoolInstr bi531[] = {
02600       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02601       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02602       {BO_HLT,0,0,0}
02603     };
02604     const BoolInstr bi532[] = {
02605       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
02606       {BO_HLT,0,0,0}
02607     };
02608     const BoolInstr bi533[] = {
02609       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
02610       {BO_HLT,0,0,0}
02611     };
02612     const BoolInstr bi534[] = {
02613       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
02614       {BO_HLT,0,0,0}
02615     };
02616     const BoolInstr bi535[] = {
02617       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02618       {BO_OR ,0,1,0},
02619       {BO_HLT,0,0,0}
02620     };
02621     const BoolInstr bi536[] = {
02622       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02623       {BO_AND,2,3,1},{BO_OR ,0,1,0},
02624       {BO_HLT,0,0,0}
02625     };
02626     const BoolInstr bi537[] = {
02627       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02628       {BO_OR ,0,1,0},
02629       {BO_HLT,0,0,0}
02630     };
02631     const BoolInstr bi538[] = {
02632       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02633       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02634       {BO_HLT,0,0,0}
02635     };
02636     const BoolInstr bi539[] = {
02637       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
02638       {BO_HLT,0,0,0}
02639     };
02640     const BoolInstr bi540[] = {
02641       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
02642       {BO_HLT,0,0,0}
02643     };
02644     const BoolInstr bi541[] = {
02645       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
02646       {BO_HLT,0,0,0}
02647     };
02648     const BoolInstr bi542[] = {
02649       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02650       {BO_IMP,0,1,0},
02651       {BO_HLT,0,0,0}
02652     };
02653     const BoolInstr bi543[] = {
02654       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02655       {BO_AND,2,3,1},{BO_IMP,0,1,0},
02656       {BO_HLT,0,0,0}
02657     };
02658     const BoolInstr bi544[] = {
02659       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02660       {BO_IMP,0,1,0},
02661       {BO_HLT,0,0,0}
02662     };
02663     const BoolInstr bi545[] = {
02664       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02665       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02666       {BO_HLT,0,0,0}
02667     };
02668     const BoolInstr bi546[] = {
02669       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
02670       {BO_HLT,0,0,0}
02671     };
02672     const BoolInstr bi547[] = {
02673       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
02674       {BO_HLT,0,0,0}
02675     };
02676     const BoolInstr bi548[] = {
02677       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
02678       {BO_HLT,0,0,0}
02679     };
02680     const BoolInstr bi549[] = {
02681       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02682       {BO_XOR,0,1,0},
02683       {BO_HLT,0,0,0}
02684     };
02685     const BoolInstr bi550[] = {
02686       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02687       {BO_AND,2,3,1},{BO_XOR,0,1,0},
02688       {BO_HLT,0,0,0}
02689     };
02690     const BoolInstr bi551[] = {
02691       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02692       {BO_XOR,0,1,0},
02693       {BO_HLT,0,0,0}
02694     };
02695     const BoolInstr bi552[] = {
02696       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02697       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02698       {BO_HLT,0,0,0}
02699     };
02700     const BoolInstr bi553[] = {
02701       {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
02702       {BO_HLT,0,0,0}
02703     };
02704     const BoolInstr bi554[] = {
02705       {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
02706       {BO_HLT,0,0,0}
02707     };
02708     const BoolInstr bi555[] = {
02709       {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
02710       {BO_HLT,0,0,0}
02711     };
02712     const BoolInstr bi556[] = {
02713       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
02714       {BO_EQV,0,1,0},
02715       {BO_HLT,0,0,0}
02716     };
02717     const BoolInstr bi557[] = {
02718       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02719       {BO_AND,2,3,1},{BO_EQV,0,1,0},
02720       {BO_HLT,0,0,0}
02721     };
02722     const BoolInstr bi558[] = {
02723       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02724       {BO_EQV,0,1,0},
02725       {BO_HLT,0,0,0}
02726     };
02727     const BoolInstr bi559[] = {
02728       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
02729       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02730       {BO_HLT,0,0,0}
02731     };
02732     const BoolInstr bi560[] = {
02733       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
02734       {BO_HLT,0,0,0}
02735     };
02736     const BoolInstr bi561[] = {
02737       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
02738       {BO_HLT,0,0,0}
02739     };
02740     const BoolInstr bi562[] = {
02741       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
02742       {BO_HLT,0,0,0}
02743     };
02744     const BoolInstr bi563[] = {
02745       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02746       {BO_AND,0,1,0},
02747       {BO_HLT,0,0,0}
02748     };
02749     const BoolInstr bi564[] = {
02750       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02751       {BO_OR ,2,3,1},{BO_AND,0,1,0},
02752       {BO_HLT,0,0,0}
02753     };
02754     const BoolInstr bi565[] = {
02755       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02756       {BO_AND,0,1,0},
02757       {BO_HLT,0,0,0}
02758     };
02759     const BoolInstr bi566[] = {
02760       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02761       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02762       {BO_HLT,0,0,0}
02763     };
02764     const BoolInstr bi567[] = {
02765       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
02766       {BO_HLT,0,0,0}
02767     };
02768     const BoolInstr bi568[] = {
02769       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
02770       {BO_HLT,0,0,0}
02771     };
02772     const BoolInstr bi569[] = {
02773       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
02774       {BO_HLT,0,0,0}
02775     };
02776     const BoolInstr bi570[] = {
02777       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02778       {BO_OR ,0,1,0},
02779       {BO_HLT,0,0,0}
02780     };
02781     const BoolInstr bi571[] = {
02782       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02783       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
02784       {BO_HLT,0,0,0}
02785     };
02786     const BoolInstr bi572[] = {
02787       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02788       {BO_OR ,0,1,0},
02789       {BO_HLT,0,0,0}
02790     };
02791     const BoolInstr bi573[] = {
02792       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02793       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02794       {BO_HLT,0,0,0}
02795     };
02796     const BoolInstr bi574[] = {
02797       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
02798       {BO_HLT,0,0,0}
02799     };
02800     const BoolInstr bi575[] = {
02801       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
02802       {BO_HLT,0,0,0}
02803     };
02804     const BoolInstr bi576[] = {
02805       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
02806       {BO_HLT,0,0,0}
02807     };
02808     const BoolInstr bi577[] = {
02809       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02810       {BO_IMP,0,1,0},
02811       {BO_HLT,0,0,0}
02812     };
02813     const BoolInstr bi578[] = {
02814       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02815       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
02816       {BO_HLT,0,0,0}
02817     };
02818     const BoolInstr bi579[] = {
02819       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02820       {BO_IMP,0,1,0},
02821       {BO_HLT,0,0,0}
02822     };
02823     const BoolInstr bi580[] = {
02824       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02825       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02826       {BO_HLT,0,0,0}
02827     };
02828     const BoolInstr bi581[] = {
02829       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
02830       {BO_HLT,0,0,0}
02831     };
02832     const BoolInstr bi582[] = {
02833       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
02834       {BO_HLT,0,0,0}
02835     };
02836     const BoolInstr bi583[] = {
02837       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
02838       {BO_HLT,0,0,0}
02839     };
02840     const BoolInstr bi584[] = {
02841       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02842       {BO_XOR,0,1,0},
02843       {BO_HLT,0,0,0}
02844     };
02845     const BoolInstr bi585[] = {
02846       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02847       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
02848       {BO_HLT,0,0,0}
02849     };
02850     const BoolInstr bi586[] = {
02851       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02852       {BO_XOR,0,1,0},
02853       {BO_HLT,0,0,0}
02854     };
02855     const BoolInstr bi587[] = {
02856       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02857       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
02858       {BO_HLT,0,0,0}
02859     };
02860     const BoolInstr bi588[] = {
02861       {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
02862       {BO_HLT,0,0,0}
02863     };
02864     const BoolInstr bi589[] = {
02865       {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
02866       {BO_HLT,0,0,0}
02867     };
02868     const BoolInstr bi590[] = {
02869       {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
02870       {BO_HLT,0,0,0}
02871     };
02872     const BoolInstr bi591[] = {
02873       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
02874       {BO_EQV,0,1,0},
02875       {BO_HLT,0,0,0}
02876     };
02877     const BoolInstr bi592[] = {
02878       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02879       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
02880       {BO_HLT,0,0,0}
02881     };
02882     const BoolInstr bi593[] = {
02883       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02884       {BO_EQV,0,1,0},
02885       {BO_HLT,0,0,0}
02886     };
02887     const BoolInstr bi594[] = {
02888       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
02889       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
02890       {BO_HLT,0,0,0}
02891     };
02892     const BoolInstr bi595[] = {
02893       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
02894       {BO_HLT,0,0,0}
02895     };
02896     const BoolInstr bi596[] = {
02897       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
02898       {BO_HLT,0,0,0}
02899     };
02900     const BoolInstr bi597[] = {
02901       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
02902       {BO_HLT,0,0,0}
02903     };
02904     const BoolInstr bi598[] = {
02905       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02906       {BO_AND,0,1,0},
02907       {BO_HLT,0,0,0}
02908     };
02909     const BoolInstr bi599[] = {
02910       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02911       {BO_IMP,2,3,1},{BO_AND,0,1,0},
02912       {BO_HLT,0,0,0}
02913     };
02914     const BoolInstr bi600[] = {
02915       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02916       {BO_AND,0,1,0},
02917       {BO_HLT,0,0,0}
02918     };
02919     const BoolInstr bi601[] = {
02920       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02921       {BO_AND,0,1,0},{BO_NOT,0,0,0},
02922       {BO_HLT,0,0,0}
02923     };
02924     const BoolInstr bi602[] = {
02925       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
02926       {BO_HLT,0,0,0}
02927     };
02928     const BoolInstr bi603[] = {
02929       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
02930       {BO_HLT,0,0,0}
02931     };
02932     const BoolInstr bi604[] = {
02933       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
02934       {BO_HLT,0,0,0}
02935     };
02936     const BoolInstr bi605[] = {
02937       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02938       {BO_OR ,0,1,0},
02939       {BO_HLT,0,0,0}
02940     };
02941     const BoolInstr bi606[] = {
02942       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02943       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
02944       {BO_HLT,0,0,0}
02945     };
02946     const BoolInstr bi607[] = {
02947       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02948       {BO_OR ,0,1,0},
02949       {BO_HLT,0,0,0}
02950     };
02951     const BoolInstr bi608[] = {
02952       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02953       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
02954       {BO_HLT,0,0,0}
02955     };
02956     const BoolInstr bi609[] = {
02957       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
02958       {BO_HLT,0,0,0}
02959     };
02960     const BoolInstr bi610[] = {
02961       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
02962       {BO_HLT,0,0,0}
02963     };
02964     const BoolInstr bi611[] = {
02965       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
02966       {BO_HLT,0,0,0}
02967     };
02968     const BoolInstr bi612[] = {
02969       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
02970       {BO_IMP,0,1,0},
02971       {BO_HLT,0,0,0}
02972     };
02973     const BoolInstr bi613[] = {
02974       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
02975       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
02976       {BO_HLT,0,0,0}
02977     };
02978     const BoolInstr bi614[] = {
02979       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02980       {BO_IMP,0,1,0},
02981       {BO_HLT,0,0,0}
02982     };
02983     const BoolInstr bi615[] = {
02984       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
02985       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
02986       {BO_HLT,0,0,0}
02987     };
02988     const BoolInstr bi616[] = {
02989       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
02990       {BO_HLT,0,0,0}
02991     };
02992     const BoolInstr bi617[] = {
02993       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
02994       {BO_HLT,0,0,0}
02995     };
02996     const BoolInstr bi618[] = {
02997       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
02998       {BO_HLT,0,0,0}
02999     };
03000     const BoolInstr bi619[] = {
03001       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
03002       {BO_XOR,0,1,0},
03003       {BO_HLT,0,0,0}
03004     };
03005     const BoolInstr bi620[] = {
03006       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03007       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
03008       {BO_HLT,0,0,0}
03009     };
03010     const BoolInstr bi621[] = {
03011       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03012       {BO_XOR,0,1,0},
03013       {BO_HLT,0,0,0}
03014     };
03015     const BoolInstr bi622[] = {
03016       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03017       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03018       {BO_HLT,0,0,0}
03019     };
03020     const BoolInstr bi623[] = {
03021       {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
03022       {BO_HLT,0,0,0}
03023     };
03024     const BoolInstr bi624[] = {
03025       {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
03026       {BO_HLT,0,0,0}
03027     };
03028     const BoolInstr bi625[] = {
03029       {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
03030       {BO_HLT,0,0,0}
03031     };
03032     const BoolInstr bi626[] = {
03033       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
03034       {BO_EQV,0,1,0},
03035       {BO_HLT,0,0,0}
03036     };
03037     const BoolInstr bi627[] = {
03038       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03039       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
03040       {BO_HLT,0,0,0}
03041     };
03042     const BoolInstr bi628[] = {
03043       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03044       {BO_EQV,0,1,0},
03045       {BO_HLT,0,0,0}
03046     };
03047     const BoolInstr bi629[] = {
03048       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03049       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03050       {BO_HLT,0,0,0}
03051     };
03052     const BoolInstr bi630[] = {
03053       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
03054       {BO_HLT,0,0,0}
03055     };
03056     const BoolInstr bi631[] = {
03057       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
03058       {BO_HLT,0,0,0}
03059     };
03060     const BoolInstr bi632[] = {
03061       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
03062       {BO_HLT,0,0,0}
03063     };
03064     const BoolInstr bi633[] = {
03065       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03066       {BO_AND,0,1,0},
03067       {BO_HLT,0,0,0}
03068     };
03069     const BoolInstr bi634[] = {
03070       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03071       {BO_XOR,2,3,1},{BO_AND,0,1,0},
03072       {BO_HLT,0,0,0}
03073     };
03074     const BoolInstr bi635[] = {
03075       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03076       {BO_AND,0,1,0},
03077       {BO_HLT,0,0,0}
03078     };
03079     const BoolInstr bi636[] = {
03080       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03081       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03082       {BO_HLT,0,0,0}
03083     };
03084     const BoolInstr bi637[] = {
03085       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
03086       {BO_HLT,0,0,0}
03087     };
03088     const BoolInstr bi638[] = {
03089       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
03090       {BO_HLT,0,0,0}
03091     };
03092     const BoolInstr bi639[] = {
03093       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
03094       {BO_HLT,0,0,0}
03095     };
03096     const BoolInstr bi640[] = {
03097       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03098       {BO_OR ,0,1,0},
03099       {BO_HLT,0,0,0}
03100     };
03101     const BoolInstr bi641[] = {
03102       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03103       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
03104       {BO_HLT,0,0,0}
03105     };
03106     const BoolInstr bi642[] = {
03107       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03108       {BO_OR ,0,1,0},
03109       {BO_HLT,0,0,0}
03110     };
03111     const BoolInstr bi643[] = {
03112       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03113       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03114       {BO_HLT,0,0,0}
03115     };
03116     const BoolInstr bi644[] = {
03117       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
03118       {BO_HLT,0,0,0}
03119     };
03120     const BoolInstr bi645[] = {
03121       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
03122       {BO_HLT,0,0,0}
03123     };
03124     const BoolInstr bi646[] = {
03125       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
03126       {BO_HLT,0,0,0}
03127     };
03128     const BoolInstr bi647[] = {
03129       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03130       {BO_IMP,0,1,0},
03131       {BO_HLT,0,0,0}
03132     };
03133     const BoolInstr bi648[] = {
03134       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03135       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
03136       {BO_HLT,0,0,0}
03137     };
03138     const BoolInstr bi649[] = {
03139       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03140       {BO_IMP,0,1,0},
03141       {BO_HLT,0,0,0}
03142     };
03143     const BoolInstr bi650[] = {
03144       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03145       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03146       {BO_HLT,0,0,0}
03147     };
03148     const BoolInstr bi651[] = {
03149       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
03150       {BO_HLT,0,0,0}
03151     };
03152     const BoolInstr bi652[] = {
03153       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
03154       {BO_HLT,0,0,0}
03155     };
03156     const BoolInstr bi653[] = {
03157       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
03158       {BO_HLT,0,0,0}
03159     };
03160     const BoolInstr bi654[] = {
03161       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03162       {BO_XOR,0,1,0},
03163       {BO_HLT,0,0,0}
03164     };
03165     const BoolInstr bi655[] = {
03166       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03167       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
03168       {BO_HLT,0,0,0}
03169     };
03170     const BoolInstr bi656[] = {
03171       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03172       {BO_XOR,0,1,0},
03173       {BO_HLT,0,0,0}
03174     };
03175     const BoolInstr bi657[] = {
03176       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03177       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03178       {BO_HLT,0,0,0}
03179     };
03180     const BoolInstr bi658[] = {
03181       {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
03182       {BO_HLT,0,0,0}
03183     };
03184     const BoolInstr bi659[] = {
03185       {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
03186       {BO_HLT,0,0,0}
03187     };
03188     const BoolInstr bi660[] = {
03189       {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
03190       {BO_HLT,0,0,0}
03191     };
03192     const BoolInstr bi661[] = {
03193       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
03194       {BO_EQV,0,1,0},
03195       {BO_HLT,0,0,0}
03196     };
03197     const BoolInstr bi662[] = {
03198       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03199       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
03200       {BO_HLT,0,0,0}
03201     };
03202     const BoolInstr bi663[] = {
03203       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03204       {BO_EQV,0,1,0},
03205       {BO_HLT,0,0,0}
03206     };
03207     const BoolInstr bi664[] = {
03208       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03209       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03210       {BO_HLT,0,0,0}
03211     };
03212     const BoolInstr bi665[] = {
03213       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
03214       {BO_HLT,0,0,0}
03215     };
03216     const BoolInstr bi666[] = {
03217       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
03218       {BO_HLT,0,0,0}
03219     };
03220     const BoolInstr bi667[] = {
03221       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
03222       {BO_HLT,0,0,0}
03223     };
03224     const BoolInstr bi668[] = {
03225       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03226       {BO_AND,0,1,0},
03227       {BO_HLT,0,0,0}
03228     };
03229     const BoolInstr bi669[] = {
03230       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03231       {BO_EQV,2,3,1},{BO_AND,0,1,0},
03232       {BO_HLT,0,0,0}
03233     };
03234     const BoolInstr bi670[] = {
03235       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03236       {BO_AND,0,1,0},
03237       {BO_HLT,0,0,0}
03238     };
03239     const BoolInstr bi671[] = {
03240       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03241       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03242       {BO_HLT,0,0,0}
03243     };
03244     const BoolInstr bi672[] = {
03245       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
03246       {BO_HLT,0,0,0}
03247     };
03248     const BoolInstr bi673[] = {
03249       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
03250       {BO_HLT,0,0,0}
03251     };
03252     const BoolInstr bi674[] = {
03253       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
03254       {BO_HLT,0,0,0}
03255     };
03256     const BoolInstr bi675[] = {
03257       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03258       {BO_OR ,0,1,0},
03259       {BO_HLT,0,0,0}
03260     };
03261     const BoolInstr bi676[] = {
03262       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03263       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
03264       {BO_HLT,0,0,0}
03265     };
03266     const BoolInstr bi677[] = {
03267       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03268       {BO_OR ,0,1,0},
03269       {BO_HLT,0,0,0}
03270     };
03271     const BoolInstr bi678[] = {
03272       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03273       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03274       {BO_HLT,0,0,0}
03275     };
03276     const BoolInstr bi679[] = {
03277       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
03278       {BO_HLT,0,0,0}
03279     };
03280     const BoolInstr bi680[] = {
03281       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
03282       {BO_HLT,0,0,0}
03283     };
03284     const BoolInstr bi681[] = {
03285       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
03286       {BO_HLT,0,0,0}
03287     };
03288     const BoolInstr bi682[] = {
03289       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03290       {BO_IMP,0,1,0},
03291       {BO_HLT,0,0,0}
03292     };
03293     const BoolInstr bi683[] = {
03294       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03295       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
03296       {BO_HLT,0,0,0}
03297     };
03298     const BoolInstr bi684[] = {
03299       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03300       {BO_IMP,0,1,0},
03301       {BO_HLT,0,0,0}
03302     };
03303     const BoolInstr bi685[] = {
03304       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03305       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03306       {BO_HLT,0,0,0}
03307     };
03308     const BoolInstr bi686[] = {
03309       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
03310       {BO_HLT,0,0,0}
03311     };
03312     const BoolInstr bi687[] = {
03313       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
03314       {BO_HLT,0,0,0}
03315     };
03316     const BoolInstr bi688[] = {
03317       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
03318       {BO_HLT,0,0,0}
03319     };
03320     const BoolInstr bi689[] = {
03321       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03322       {BO_XOR,0,1,0},
03323       {BO_HLT,0,0,0}
03324     };
03325     const BoolInstr bi690[] = {
03326       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03327       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
03328       {BO_HLT,0,0,0}
03329     };
03330     const BoolInstr bi691[] = {
03331       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03332       {BO_XOR,0,1,0},
03333       {BO_HLT,0,0,0}
03334     };
03335     const BoolInstr bi692[] = {
03336       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03337       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03338       {BO_HLT,0,0,0}
03339     };
03340     const BoolInstr bi693[] = {
03341       {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
03342       {BO_HLT,0,0,0}
03343     };
03344     const BoolInstr bi694[] = {
03345       {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
03346       {BO_HLT,0,0,0}
03347     };
03348     const BoolInstr bi695[] = {
03349       {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
03350       {BO_HLT,0,0,0}
03351     };
03352     const BoolInstr bi696[] = {
03353       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
03354       {BO_EQV,0,1,0},
03355       {BO_HLT,0,0,0}
03356     };
03357     const BoolInstr bi697[] = {
03358       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
03359       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
03360       {BO_HLT,0,0,0}
03361     };
03362     const BoolInstr bi698[] = {
03363       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03364       {BO_EQV,0,1,0},
03365       {BO_HLT,0,0,0}
03366     };
03367     const BoolInstr bi699[] = {
03368       {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
03369       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03370       {BO_HLT,0,0,0}
03371     };
03372     const BoolInstr bi700[] = {
03373       {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
03374       {BO_HLT,0,0,0}
03375     };
03376     const BoolInstr bi701[] = {
03377       {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
03378       {BO_HLT,0,0,0}
03379     };
03380     const BoolInstr bi702[] = {
03381       {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
03382       {BO_HLT,0,0,0}
03383     };
03384     const BoolInstr bi703[] = {
03385       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
03386       {BO_AND,0,1,0},
03387       {BO_HLT,0,0,0}
03388     };
03389     const BoolInstr bi704[] = {
03390       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03391       {BO_AND,2,3,1},{BO_AND,0,1,0},
03392       {BO_HLT,0,0,0}
03393     };
03394     const BoolInstr bi705[] = {
03395       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03396       {BO_AND,0,1,0},
03397       {BO_HLT,0,0,0}
03398     };
03399     const BoolInstr bi706[] = {
03400       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03401       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03402       {BO_HLT,0,0,0}
03403     };
03404     const BoolInstr bi707[] = {
03405       {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
03406       {BO_HLT,0,0,0}
03407     };
03408     const BoolInstr bi708[] = {
03409       {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
03410       {BO_HLT,0,0,0}
03411     };
03412     const BoolInstr bi709[] = {
03413       {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
03414       {BO_HLT,0,0,0}
03415     };
03416     const BoolInstr bi710[] = {
03417       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
03418       {BO_OR ,0,1,0},
03419       {BO_HLT,0,0,0}
03420     };
03421     const BoolInstr bi711[] = {
03422       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03423       {BO_AND,2,3,1},{BO_OR ,0,1,0},
03424       {BO_HLT,0,0,0}
03425     };
03426     const BoolInstr bi712[] = {
03427       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03428       {BO_OR ,0,1,0},
03429       {BO_HLT,0,0,0}
03430     };
03431     const BoolInstr bi713[] = {
03432       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03433       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03434       {BO_HLT,0,0,0}
03435     };
03436     const BoolInstr bi714[] = {
03437       {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
03438       {BO_HLT,0,0,0}
03439     };
03440     const BoolInstr bi715[] = {
03441       {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
03442       {BO_HLT,0,0,0}
03443     };
03444     const BoolInstr bi716[] = {
03445       {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
03446       {BO_HLT,0,0,0}
03447     };
03448     const BoolInstr bi717[] = {
03449       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
03450       {BO_IMP,0,1,0},
03451       {BO_HLT,0,0,0}
03452     };
03453     const BoolInstr bi718[] = {
03454       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03455       {BO_AND,2,3,1},{BO_IMP,0,1,0},
03456       {BO_HLT,0,0,0}
03457     };
03458     const BoolInstr bi719[] = {
03459       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03460       {BO_IMP,0,1,0},
03461       {BO_HLT,0,0,0}
03462     };
03463     const BoolInstr bi720[] = {
03464       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03465       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03466       {BO_HLT,0,0,0}
03467     };
03468     const BoolInstr bi721[] = {
03469       {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
03470       {BO_HLT,0,0,0}
03471     };
03472     const BoolInstr bi722[] = {
03473       {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
03474       {BO_HLT,0,0,0}
03475     };
03476     const BoolInstr bi723[] = {
03477       {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
03478       {BO_HLT,0,0,0}
03479     };
03480     const BoolInstr bi724[] = {
03481       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
03482       {BO_XOR,0,1,0},
03483       {BO_HLT,0,0,0}
03484     };
03485     const BoolInstr bi725[] = {
03486       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03487       {BO_AND,2,3,1},{BO_XOR,0,1,0},
03488       {BO_HLT,0,0,0}
03489     };
03490     const BoolInstr bi726[] = {
03491       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03492       {BO_XOR,0,1,0},
03493       {BO_HLT,0,0,0}
03494     };
03495     const BoolInstr bi727[] = {
03496       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03497       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03498       {BO_HLT,0,0,0}
03499     };
03500     const BoolInstr bi728[] = {
03501       {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
03502       {BO_HLT,0,0,0}
03503     };
03504     const BoolInstr bi729[] = {
03505       {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
03506       {BO_HLT,0,0,0}
03507     };
03508     const BoolInstr bi730[] = {
03509       {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
03510       {BO_HLT,0,0,0}
03511     };
03512     const BoolInstr bi731[] = {
03513       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
03514       {BO_EQV,0,1,0},
03515       {BO_HLT,0,0,0}
03516     };
03517     const BoolInstr bi732[] = {
03518       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03519       {BO_AND,2,3,1},{BO_EQV,0,1,0},
03520       {BO_HLT,0,0,0}
03521     };
03522     const BoolInstr bi733[] = {
03523       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03524       {BO_EQV,0,1,0},
03525       {BO_HLT,0,0,0}
03526     };
03527     const BoolInstr bi734[] = {
03528       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
03529       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03530       {BO_HLT,0,0,0}
03531     };
03532     const BoolInstr bi735[] = {
03533       {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
03534       {BO_HLT,0,0,0}
03535     };
03536     const BoolInstr bi736[] = {
03537       {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
03538       {BO_HLT,0,0,0}
03539     };
03540     const BoolInstr bi737[] = {
03541       {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
03542       {BO_HLT,0,0,0}
03543     };
03544     const BoolInstr bi738[] = {
03545       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
03546       {BO_AND,0,1,0},
03547       {BO_HLT,0,0,0}
03548     };
03549     const BoolInstr bi739[] = {
03550       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03551       {BO_OR ,2,3,1},{BO_AND,0,1,0},
03552       {BO_HLT,0,0,0}
03553     };
03554     const BoolInstr bi740[] = {
03555       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03556       {BO_AND,0,1,0},
03557       {BO_HLT,0,0,0}
03558     };
03559     const BoolInstr bi741[] = {
03560       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03561       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03562       {BO_HLT,0,0,0}
03563     };
03564     const BoolInstr bi742[] = {
03565       {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
03566       {BO_HLT,0,0,0}
03567     };
03568     const BoolInstr bi743[] = {
03569       {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
03570       {BO_HLT,0,0,0}
03571     };
03572     const BoolInstr bi744[] = {
03573       {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
03574       {BO_HLT,0,0,0}
03575     };
03576     const BoolInstr bi745[] = {
03577       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
03578       {BO_OR ,0,1,0},
03579       {BO_HLT,0,0,0}
03580     };
03581     const BoolInstr bi746[] = {
03582       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03583       {BO_OR ,2,3,1},{BO_OR ,0,1,0},
03584       {BO_HLT,0,0,0}
03585     };
03586     const BoolInstr bi747[] = {
03587       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03588       {BO_OR ,0,1,0},
03589       {BO_HLT,0,0,0}
03590     };
03591     const BoolInstr bi748[] = {
03592       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03593       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03594       {BO_HLT,0,0,0}
03595     };
03596     const BoolInstr bi749[] = {
03597       {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
03598       {BO_HLT,0,0,0}
03599     };
03600     const BoolInstr bi750[] = {
03601       {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
03602       {BO_HLT,0,0,0}
03603     };
03604     const BoolInstr bi751[] = {
03605       {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
03606       {BO_HLT,0,0,0}
03607     };
03608     const BoolInstr bi752[] = {
03609       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
03610       {BO_IMP,0,1,0},
03611       {BO_HLT,0,0,0}
03612     };
03613     const BoolInstr bi753[] = {
03614       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03615       {BO_OR ,2,3,1},{BO_IMP,0,1,0},
03616       {BO_HLT,0,0,0}
03617     };
03618     const BoolInstr bi754[] = {
03619       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03620       {BO_IMP,0,1,0},
03621       {BO_HLT,0,0,0}
03622     };
03623     const BoolInstr bi755[] = {
03624       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03625       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03626       {BO_HLT,0,0,0}
03627     };
03628     const BoolInstr bi756[] = {
03629       {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
03630       {BO_HLT,0,0,0}
03631     };
03632     const BoolInstr bi757[] = {
03633       {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
03634       {BO_HLT,0,0,0}
03635     };
03636     const BoolInstr bi758[] = {
03637       {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
03638       {BO_HLT,0,0,0}
03639     };
03640     const BoolInstr bi759[] = {
03641       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
03642       {BO_XOR,0,1,0},
03643       {BO_HLT,0,0,0}
03644     };
03645     const BoolInstr bi760[] = {
03646       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03647       {BO_OR ,2,3,1},{BO_XOR,0,1,0},
03648       {BO_HLT,0,0,0}
03649     };
03650     const BoolInstr bi761[] = {
03651       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03652       {BO_XOR,0,1,0},
03653       {BO_HLT,0,0,0}
03654     };
03655     const BoolInstr bi762[] = {
03656       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03657       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03658       {BO_HLT,0,0,0}
03659     };
03660     const BoolInstr bi763[] = {
03661       {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
03662       {BO_HLT,0,0,0}
03663     };
03664     const BoolInstr bi764[] = {
03665       {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
03666       {BO_HLT,0,0,0}
03667     };
03668     const BoolInstr bi765[] = {
03669       {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
03670       {BO_HLT,0,0,0}
03671     };
03672     const BoolInstr bi766[] = {
03673       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
03674       {BO_EQV,0,1,0},
03675       {BO_HLT,0,0,0}
03676     };
03677     const BoolInstr bi767[] = {
03678       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03679       {BO_OR ,2,3,1},{BO_EQV,0,1,0},
03680       {BO_HLT,0,0,0}
03681     };
03682     const BoolInstr bi768[] = {
03683       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03684       {BO_EQV,0,1,0},
03685       {BO_HLT,0,0,0}
03686     };
03687     const BoolInstr bi769[] = {
03688       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
03689       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03690       {BO_HLT,0,0,0}
03691     };
03692     const BoolInstr bi770[] = {
03693       {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
03694       {BO_HLT,0,0,0}
03695     };
03696     const BoolInstr bi771[] = {
03697       {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
03698       {BO_HLT,0,0,0}
03699     };
03700     const BoolInstr bi772[] = {
03701       {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
03702       {BO_HLT,0,0,0}
03703     };
03704     const BoolInstr bi773[] = {
03705       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
03706       {BO_AND,0,1,0},
03707       {BO_HLT,0,0,0}
03708     };
03709     const BoolInstr bi774[] = {
03710       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03711       {BO_IMP,2,3,1},{BO_AND,0,1,0},
03712       {BO_HLT,0,0,0}
03713     };
03714     const BoolInstr bi775[] = {
03715       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03716       {BO_AND,0,1,0},
03717       {BO_HLT,0,0,0}
03718     };
03719     const BoolInstr bi776[] = {
03720       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03721       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03722       {BO_HLT,0,0,0}
03723     };
03724     const BoolInstr bi777[] = {
03725       {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
03726       {BO_HLT,0,0,0}
03727     };
03728     const BoolInstr bi778[] = {
03729       {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
03730       {BO_HLT,0,0,0}
03731     };
03732     const BoolInstr bi779[] = {
03733       {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
03734       {BO_HLT,0,0,0}
03735     };
03736     const BoolInstr bi780[] = {
03737       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
03738       {BO_OR ,0,1,0},
03739       {BO_HLT,0,0,0}
03740     };
03741     const BoolInstr bi781[] = {
03742       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03743       {BO_IMP,2,3,1},{BO_OR ,0,1,0},
03744       {BO_HLT,0,0,0}
03745     };
03746     const BoolInstr bi782[] = {
03747       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03748       {BO_OR ,0,1,0},
03749       {BO_HLT,0,0,0}
03750     };
03751     const BoolInstr bi783[] = {
03752       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03753       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03754       {BO_HLT,0,0,0}
03755     };
03756     const BoolInstr bi784[] = {
03757       {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
03758       {BO_HLT,0,0,0}
03759     };
03760     const BoolInstr bi785[] = {
03761       {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
03762       {BO_HLT,0,0,0}
03763     };
03764     const BoolInstr bi786[] = {
03765       {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
03766       {BO_HLT,0,0,0}
03767     };
03768     const BoolInstr bi787[] = {
03769       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
03770       {BO_IMP,0,1,0},
03771       {BO_HLT,0,0,0}
03772     };
03773     const BoolInstr bi788[] = {
03774       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03775       {BO_IMP,2,3,1},{BO_IMP,0,1,0},
03776       {BO_HLT,0,0,0}
03777     };
03778     const BoolInstr bi789[] = {
03779       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03780       {BO_IMP,0,1,0},
03781       {BO_HLT,0,0,0}
03782     };
03783     const BoolInstr bi790[] = {
03784       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03785       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03786       {BO_HLT,0,0,0}
03787     };
03788     const BoolInstr bi791[] = {
03789       {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
03790       {BO_HLT,0,0,0}
03791     };
03792     const BoolInstr bi792[] = {
03793       {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
03794       {BO_HLT,0,0,0}
03795     };
03796     const BoolInstr bi793[] = {
03797       {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
03798       {BO_HLT,0,0,0}
03799     };
03800     const BoolInstr bi794[] = {
03801       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
03802       {BO_XOR,0,1,0},
03803       {BO_HLT,0,0,0}
03804     };
03805     const BoolInstr bi795[] = {
03806       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03807       {BO_IMP,2,3,1},{BO_XOR,0,1,0},
03808       {BO_HLT,0,0,0}
03809     };
03810     const BoolInstr bi796[] = {
03811       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03812       {BO_XOR,0,1,0},
03813       {BO_HLT,0,0,0}
03814     };
03815     const BoolInstr bi797[] = {
03816       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03817       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03818       {BO_HLT,0,0,0}
03819     };
03820     const BoolInstr bi798[] = {
03821       {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
03822       {BO_HLT,0,0,0}
03823     };
03824     const BoolInstr bi799[] = {
03825       {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
03826       {BO_HLT,0,0,0}
03827     };
03828     const BoolInstr bi800[] = {
03829       {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
03830       {BO_HLT,0,0,0}
03831     };
03832     const BoolInstr bi801[] = {
03833       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
03834       {BO_EQV,0,1,0},
03835       {BO_HLT,0,0,0}
03836     };
03837     const BoolInstr bi802[] = {
03838       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03839       {BO_IMP,2,3,1},{BO_EQV,0,1,0},
03840       {BO_HLT,0,0,0}
03841     };
03842     const BoolInstr bi803[] = {
03843       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03844       {BO_EQV,0,1,0},
03845       {BO_HLT,0,0,0}
03846     };
03847     const BoolInstr bi804[] = {
03848       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
03849       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
03850       {BO_HLT,0,0,0}
03851     };
03852     const BoolInstr bi805[] = {
03853       {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
03854       {BO_HLT,0,0,0}
03855     };
03856     const BoolInstr bi806[] = {
03857       {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
03858       {BO_HLT,0,0,0}
03859     };
03860     const BoolInstr bi807[] = {
03861       {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
03862       {BO_HLT,0,0,0}
03863     };
03864     const BoolInstr bi808[] = {
03865       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
03866       {BO_AND,0,1,0},
03867       {BO_HLT,0,0,0}
03868     };
03869     const BoolInstr bi809[] = {
03870       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03871       {BO_XOR,2,3,1},{BO_AND,0,1,0},
03872       {BO_HLT,0,0,0}
03873     };
03874     const BoolInstr bi810[] = {
03875       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03876       {BO_AND,0,1,0},
03877       {BO_HLT,0,0,0}
03878     };
03879     const BoolInstr bi811[] = {
03880       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03881       {BO_AND,0,1,0},{BO_NOT,0,0,0},
03882       {BO_HLT,0,0,0}
03883     };
03884     const BoolInstr bi812[] = {
03885       {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
03886       {BO_HLT,0,0,0}
03887     };
03888     const BoolInstr bi813[] = {
03889       {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
03890       {BO_HLT,0,0,0}
03891     };
03892     const BoolInstr bi814[] = {
03893       {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
03894       {BO_HLT,0,0,0}
03895     };
03896     const BoolInstr bi815[] = {
03897       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
03898       {BO_OR ,0,1,0},
03899       {BO_HLT,0,0,0}
03900     };
03901     const BoolInstr bi816[] = {
03902       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03903       {BO_XOR,2,3,1},{BO_OR ,0,1,0},
03904       {BO_HLT,0,0,0}
03905     };
03906     const BoolInstr bi817[] = {
03907       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03908       {BO_OR ,0,1,0},
03909       {BO_HLT,0,0,0}
03910     };
03911     const BoolInstr bi818[] = {
03912       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03913       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
03914       {BO_HLT,0,0,0}
03915     };
03916     const BoolInstr bi819[] = {
03917       {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
03918       {BO_HLT,0,0,0}
03919     };
03920     const BoolInstr bi820[] = {
03921       {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
03922       {BO_HLT,0,0,0}
03923     };
03924     const BoolInstr bi821[] = {
03925       {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
03926       {BO_HLT,0,0,0}
03927     };
03928     const BoolInstr bi822[] = {
03929       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
03930       {BO_IMP,0,1,0},
03931       {BO_HLT,0,0,0}
03932     };
03933     const BoolInstr bi823[] = {
03934       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03935       {BO_XOR,2,3,1},{BO_IMP,0,1,0},
03936       {BO_HLT,0,0,0}
03937     };
03938     const BoolInstr bi824[] = {
03939       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03940       {BO_IMP,0,1,0},
03941       {BO_HLT,0,0,0}
03942     };
03943     const BoolInstr bi825[] = {
03944       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03945       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
03946       {BO_HLT,0,0,0}
03947     };
03948     const BoolInstr bi826[] = {
03949       {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
03950       {BO_HLT,0,0,0}
03951     };
03952     const BoolInstr bi827[] = {
03953       {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
03954       {BO_HLT,0,0,0}
03955     };
03956     const BoolInstr bi828[] = {
03957       {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
03958       {BO_HLT,0,0,0}
03959     };
03960     const BoolInstr bi829[] = {
03961       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
03962       {BO_XOR,0,1,0},
03963       {BO_HLT,0,0,0}
03964     };
03965     const BoolInstr bi830[] = {
03966       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03967       {BO_XOR,2,3,1},{BO_XOR,0,1,0},
03968       {BO_HLT,0,0,0}
03969     };
03970     const BoolInstr bi831[] = {
03971       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03972       {BO_XOR,0,1,0},
03973       {BO_HLT,0,0,0}
03974     };
03975     const BoolInstr bi832[] = {
03976       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
03977       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
03978       {BO_HLT,0,0,0}
03979     };
03980     const BoolInstr bi833[] = {
03981       {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
03982       {BO_HLT,0,0,0}
03983     };
03984     const BoolInstr bi834[] = {
03985       {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
03986       {BO_HLT,0,0,0}
03987     };
03988     const BoolInstr bi835[] = {
03989       {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
03990       {BO_HLT,0,0,0}
03991     };
03992     const BoolInstr bi836[] = {
03993       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
03994       {BO_EQV,0,1,0},
03995       {BO_HLT,0,0,0}
03996     };
03997     const BoolInstr bi837[] = {
03998       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
03999       {BO_XOR,2,3,1},{BO_EQV,0,1,0},
04000       {BO_HLT,0,0,0}
04001     };
04002     const BoolInstr bi838[] = {
04003       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
04004       {BO_EQV,0,1,0},
04005       {BO_HLT,0,0,0}
04006     };
04007     const BoolInstr bi839[] = {
04008       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
04009       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
04010       {BO_HLT,0,0,0}
04011     };
04012     const BoolInstr bi840[] = {
04013       {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
04014       {BO_HLT,0,0,0}
04015     };
04016     const BoolInstr bi841[] = {
04017       {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
04018       {BO_HLT,0,0,0}
04019     };
04020     const BoolInstr bi842[] = {
04021       {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
04022       {BO_HLT,0,0,0}
04023     };
04024     const BoolInstr bi843[] = {
04025       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
04026       {BO_AND,0,1,0},
04027       {BO_HLT,0,0,0}
04028     };
04029     const BoolInstr bi844[] = {
04030       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
04031       {BO_EQV,2,3,1},{BO_AND,0,1,0},
04032       {BO_HLT,0,0,0}
04033     };
04034     const BoolInstr bi845[] = {
04035       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04036       {BO_AND,0,1,0},
04037       {BO_HLT,0,0,0}
04038     };
04039     const BoolInstr bi846[] = {
04040       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04041       {BO_AND,0,1,0},{BO_NOT,0,0,0},
04042       {BO_HLT,0,0,0}
04043     };
04044     const BoolInstr bi847[] = {
04045       {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
04046       {BO_HLT,0,0,0}
04047     };
04048     const BoolInstr bi848[] = {
04049       {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
04050       {BO_HLT,0,0,0}
04051     };
04052     const BoolInstr bi849[] = {
04053       {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
04054       {BO_HLT,0,0,0}
04055     };
04056     const BoolInstr bi850[] = {
04057       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
04058       {BO_OR ,0,1,0},
04059       {BO_HLT,0,0,0}
04060     };
04061     const BoolInstr bi851[] = {
04062       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
04063       {BO_EQV,2,3,1},{BO_OR ,0,1,0},
04064       {BO_HLT,0,0,0}
04065     };
04066     const BoolInstr bi852[] = {
04067       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04068       {BO_OR ,0,1,0},
04069       {BO_HLT,0,0,0}
04070     };
04071     const BoolInstr bi853[] = {
04072       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04073       {BO_OR ,0,1,0},{BO_NOT,0,0,0},
04074       {BO_HLT,0,0,0}
04075     };
04076     const BoolInstr bi854[] = {
04077       {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
04078       {BO_HLT,0,0,0}
04079     };
04080     const BoolInstr bi855[] = {
04081       {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
04082       {BO_HLT,0,0,0}
04083     };
04084     const BoolInstr bi856[] = {
04085       {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
04086       {BO_HLT,0,0,0}
04087     };
04088     const BoolInstr bi857[] = {
04089       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
04090       {BO_IMP,0,1,0},
04091       {BO_HLT,0,0,0}
04092     };
04093     const BoolInstr bi858[] = {
04094       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
04095       {BO_EQV,2,3,1},{BO_IMP,0,1,0},
04096       {BO_HLT,0,0,0}
04097     };
04098     const BoolInstr bi859[] = {
04099       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04100       {BO_IMP,0,1,0},
04101       {BO_HLT,0,0,0}
04102     };
04103     const BoolInstr bi860[] = {
04104       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04105       {BO_IMP,0,1,0},{BO_NOT,0,0,0},
04106       {BO_HLT,0,0,0}
04107     };
04108     const BoolInstr bi861[] = {
04109       {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
04110       {BO_HLT,0,0,0}
04111     };
04112     const BoolInstr bi862[] = {
04113       {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
04114       {BO_HLT,0,0,0}
04115     };
04116     const BoolInstr bi863[] = {
04117       {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
04118       {BO_HLT,0,0,0}
04119     };
04120     const BoolInstr bi864[] = {
04121       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
04122       {BO_XOR,0,1,0},
04123       {BO_HLT,0,0,0}
04124     };
04125     const BoolInstr bi865[] = {
04126       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
04127       {BO_EQV,2,3,1},{BO_XOR,0,1,0},
04128       {BO_HLT,0,0,0}
04129     };
04130     const BoolInstr bi866[] = {
04131       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04132       {BO_XOR,0,1,0},
04133       {BO_HLT,0,0,0}
04134     };
04135     const BoolInstr bi867[] = {
04136       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04137       {BO_XOR,0,1,0},{BO_NOT,0,0,0},
04138       {BO_HLT,0,0,0}
04139     };
04140     const BoolInstr bi868[] = {
04141       {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
04142       {BO_HLT,0,0,0}
04143     };
04144     const BoolInstr bi869[] = {
04145       {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
04146       {BO_HLT,0,0,0}
04147     };
04148     const BoolInstr bi870[] = {
04149       {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
04150       {BO_HLT,0,0,0}
04151     };
04152     const BoolInstr bi871[] = {
04153       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
04154       {BO_EQV,0,1,0},
04155       {BO_HLT,0,0,0}
04156     };
04157     const BoolInstr bi872[] = {
04158       {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
04159       {BO_EQV,2,3,1},{BO_EQV,0,1,0},
04160       {BO_HLT,0,0,0}
04161     };
04162     const BoolInstr bi873[] = {
04163       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04164       {BO_EQV,0,1,0},
04165       {BO_HLT,0,0,0}
04166     };
04167     const BoolInstr bi874[] = {
04168       {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
04169       {BO_EQV,0,1,0},{BO_NOT,0,0,0},
04170       {BO_HLT,0,0,0}
04171     };
04172 
04173     const BoolInstr* bi[] = {
04174       &bi000[0],&bi001[0],&bi002[0],&bi003[0],&bi004[0],&bi005[0],
04175       &bi006[0],&bi007[0],&bi008[0],&bi009[0],&bi010[0],&bi011[0],
04176       &bi012[0],&bi013[0],&bi014[0],&bi015[0],&bi016[0],&bi017[0],
04177       &bi018[0],&bi019[0],&bi020[0],&bi021[0],&bi022[0],&bi023[0],
04178       &bi024[0],&bi025[0],&bi026[0],&bi027[0],&bi028[0],&bi029[0],
04179       &bi030[0],&bi031[0],&bi032[0],&bi033[0],&bi034[0],&bi035[0],
04180       &bi036[0],&bi037[0],&bi038[0],&bi039[0],&bi040[0],&bi041[0],
04181       &bi042[0],&bi043[0],&bi044[0],&bi045[0],&bi046[0],&bi047[0],
04182       &bi048[0],&bi049[0],&bi050[0],&bi051[0],&bi052[0],&bi053[0],
04183       &bi054[0],&bi055[0],&bi056[0],&bi057[0],&bi058[0],&bi059[0],
04184       &bi060[0],&bi061[0],&bi062[0],&bi063[0],&bi064[0],&bi065[0],
04185       &bi066[0],&bi067[0],&bi068[0],&bi069[0],&bi070[0],&bi071[0],
04186       &bi072[0],&bi073[0],&bi074[0],&bi075[0],&bi076[0],&bi077[0],
04187       &bi078[0],&bi079[0],&bi080[0],&bi081[0],&bi082[0],&bi083[0],
04188       &bi084[0],&bi085[0],&bi086[0],&bi087[0],&bi088[0],&bi089[0],
04189       &bi090[0],&bi091[0],&bi092[0],&bi093[0],&bi094[0],&bi095[0],
04190       &bi096[0],&bi097[0],&bi098[0],&bi099[0],&bi100[0],&bi101[0],
04191       &bi102[0],&bi103[0],&bi104[0],&bi105[0],&bi106[0],&bi107[0],
04192       &bi108[0],&bi109[0],&bi110[0],&bi111[0],&bi112[0],&bi113[0],
04193       &bi114[0],&bi115[0],&bi116[0],&bi117[0],&bi118[0],&bi119[0],
04194       &bi120[0],&bi121[0],&bi122[0],&bi123[0],&bi124[0],&bi125[0],
04195       &bi126[0],&bi127[0],&bi128[0],&bi129[0],&bi130[0],&bi131[0],
04196       &bi132[0],&bi133[0],&bi134[0],&bi135[0],&bi136[0],&bi137[0],
04197       &bi138[0],&bi139[0],&bi140[0],&bi141[0],&bi142[0],&bi143[0],
04198       &bi144[0],&bi145[0],&bi146[0],&bi147[0],&bi148[0],&bi149[0],
04199       &bi150[0],&bi151[0],&bi152[0],&bi153[0],&bi154[0],&bi155[0],
04200       &bi156[0],&bi157[0],&bi158[0],&bi159[0],&bi160[0],&bi161[0],
04201       &bi162[0],&bi163[0],&bi164[0],&bi165[0],&bi166[0],&bi167[0],
04202       &bi168[0],&bi169[0],&bi170[0],&bi171[0],&bi172[0],&bi173[0],
04203       &bi174[0],&bi175[0],&bi176[0],&bi177[0],&bi178[0],&bi179[0],
04204       &bi180[0],&bi181[0],&bi182[0],&bi183[0],&bi184[0],&bi185[0],
04205       &bi186[0],&bi187[0],&bi188[0],&bi189[0],&bi190[0],&bi191[0],
04206       &bi192[0],&bi193[0],&bi194[0],&bi195[0],&bi196[0],&bi197[0],
04207       &bi198[0],&bi199[0],&bi200[0],&bi201[0],&bi202[0],&bi203[0],
04208       &bi204[0],&bi205[0],&bi206[0],&bi207[0],&bi208[0],&bi209[0],
04209       &bi210[0],&bi211[0],&bi212[0],&bi213[0],&bi214[0],&bi215[0],
04210       &bi216[0],&bi217[0],&bi218[0],&bi219[0],&bi220[0],&bi221[0],
04211       &bi222[0],&bi223[0],&bi224[0],&bi225[0],&bi226[0],&bi227[0],
04212       &bi228[0],&bi229[0],&bi230[0],&bi231[0],&bi232[0],&bi233[0],
04213       &bi234[0],&bi235[0],&bi236[0],&bi237[0],&bi238[0],&bi239[0],
04214       &bi240[0],&bi241[0],&bi242[0],&bi243[0],&bi244[0],&bi245[0],
04215       &bi246[0],&bi247[0],&bi248[0],&bi249[0],&bi250[0],&bi251[0],
04216       &bi252[0],&bi253[0],&bi254[0],&bi255[0],&bi256[0],&bi257[0],
04217       &bi258[0],&bi259[0],&bi260[0],&bi261[0],&bi262[0],&bi263[0],
04218       &bi264[0],&bi265[0],&bi266[0],&bi267[0],&bi268[0],&bi269[0],
04219       &bi270[0],&bi271[0],&bi272[0],&bi273[0],&bi274[0],&bi275[0],
04220       &bi276[0],&bi277[0],&bi278[0],&bi279[0],&bi280[0],&bi281[0],
04221       &bi282[0],&bi283[0],&bi284[0],&bi285[0],&bi286[0],&bi287[0],
04222       &bi288[0],&bi289[0],&bi290[0],&bi291[0],&bi292[0],&bi293[0],
04223       &bi294[0],&bi295[0],&bi296[0],&bi297[0],&bi298[0],&bi299[0],
04224       &bi300[0],&bi301[0],&bi302[0],&bi303[0],&bi304[0],&bi305[0],
04225       &bi306[0],&bi307[0],&bi308[0],&bi309[0],&bi310[0],&bi311[0],
04226       &bi312[0],&bi313[0],&bi314[0],&bi315[0],&bi316[0],&bi317[0],
04227       &bi318[0],&bi319[0],&bi320[0],&bi321[0],&bi322[0],&bi323[0],
04228       &bi324[0],&bi325[0],&bi326[0],&bi327[0],&bi328[0],&bi329[0],
04229       &bi330[0],&bi331[0],&bi332[0],&bi333[0],&bi334[0],&bi335[0],
04230       &bi336[0],&bi337[0],&bi338[0],&bi339[0],&bi340[0],&bi341[0],
04231       &bi342[0],&bi343[0],&bi344[0],&bi345[0],&bi346[0],&bi347[0],
04232       &bi348[0],&bi349[0],&bi350[0],&bi351[0],&bi352[0],&bi353[0],
04233       &bi354[0],&bi355[0],&bi356[0],&bi357[0],&bi358[0],&bi359[0],
04234       &bi360[0],&bi361[0],&bi362[0],&bi363[0],&bi364[0],&bi365[0],
04235       &bi366[0],&bi367[0],&bi368[0],&bi369[0],&bi370[0],&bi371[0],
04236       &bi372[0],&bi373[0],&bi374[0],&bi375[0],&bi376[0],&bi377[0],
04237       &bi378[0],&bi379[0],&bi380[0],&bi381[0],&bi382[0],&bi383[0],
04238       &bi384[0],&bi385[0],&bi386[0],&bi387[0],&bi388[0],&bi389[0],
04239       &bi390[0],&bi391[0],&bi392[0],&bi393[0],&bi394[0],&bi395[0],
04240       &bi396[0],&bi397[0],&bi398[0],&bi399[0],&bi400[0],&bi401[0],
04241       &bi402[0],&bi403[0],&bi404[0],&bi405[0],&bi406[0],&bi407[0],
04242       &bi408[0],&bi409[0],&bi410[0],&bi411[0],&bi412[0],&bi413[0],
04243       &bi414[0],&bi415[0],&bi416[0],&bi417[0],&bi418[0],&bi419[0],
04244       &bi420[0],&bi421[0],&bi422[0],&bi423[0],&bi424[0],&bi425[0],
04245       &bi426[0],&bi427[0],&bi428[0],&bi429[0],&bi430[0],&bi431[0],
04246       &bi432[0],&bi433[0],&bi434[0],&bi435[0],&bi436[0],&bi437[0],
04247       &bi438[0],&bi439[0],&bi440[0],&bi441[0],&bi442[0],&bi443[0],
04248       &bi444[0],&bi445[0],&bi446[0],&bi447[0],&bi448[0],&bi449[0],
04249       &bi450[0],&bi451[0],&bi452[0],&bi453[0],&bi454[0],&bi455[0],
04250       &bi456[0],&bi457[0],&bi458[0],&bi459[0],&bi460[0],&bi461[0],
04251       &bi462[0],&bi463[0],&bi464[0],&bi465[0],&bi466[0],&bi467[0],
04252       &bi468[0],&bi469[0],&bi470[0],&bi471[0],&bi472[0],&bi473[0],
04253       &bi474[0],&bi475[0],&bi476[0],&bi477[0],&bi478[0],&bi479[0],
04254       &bi480[0],&bi481[0],&bi482[0],&bi483[0],&bi484[0],&bi485[0],
04255       &bi486[0],&bi487[0],&bi488[0],&bi489[0],&bi490[0],&bi491[0],
04256       &bi492[0],&bi493[0],&bi494[0],&bi495[0],&bi496[0],&bi497[0],
04257       &bi498[0],&bi499[0],&bi500[0],&bi501[0],&bi502[0],&bi503[0],
04258       &bi504[0],&bi505[0],&bi506[0],&bi507[0],&bi508[0],&bi509[0],
04259       &bi510[0],&bi511[0],&bi512[0],&bi513[0],&bi514[0],&bi515[0],
04260       &bi516[0],&bi517[0],&bi518[0],&bi519[0],&bi520[0],&bi521[0],
04261       &bi522[0],&bi523[0],&bi524[0],&bi525[0],&bi526[0],&bi527[0],
04262       &bi528[0],&bi529[0],&bi530[0],&bi531[0],&bi532[0],&bi533[0],
04263       &bi534[0],&bi535[0],&bi536[0],&bi537[0],&bi538[0],&bi539[0],
04264       &bi540[0],&bi541[0],&bi542[0],&bi543[0],&bi544[0],&bi545[0],
04265       &bi546[0],&bi547[0],&bi548[0],&bi549[0],&bi550[0],&bi551[0],
04266       &bi552[0],&bi553[0],&bi554[0],&bi555[0],&bi556[0],&bi557[0],
04267       &bi558[0],&bi559[0],&bi560[0],&bi561[0],&bi562[0],&bi563[0],
04268       &bi564[0],&bi565[0],&bi566[0],&bi567[0],&bi568[0],&bi569[0],
04269       &bi570[0],&bi571[0],&bi572[0],&bi573[0],&bi574[0],&bi575[0],
04270       &bi576[0],&bi577[0],&bi578[0],&bi579[0],&bi580[0],&bi581[0],
04271       &bi582[0],&bi583[0],&bi584[0],&bi585[0],&bi586[0],&bi587[0],
04272       &bi588[0],&bi589[0],&bi590[0],&bi591[0],&bi592[0],&bi593[0],
04273       &bi594[0],&bi595[0],&bi596[0],&bi597[0],&bi598[0],&bi599[0],
04274       &bi600[0],&bi601[0],&bi602[0],&bi603[0],&bi604[0],&bi605[0],
04275       &bi606[0],&bi607[0],&bi608[0],&bi609[0],&bi610[0],&bi611[0],
04276       &bi612[0],&bi613[0],&bi614[0],&bi615[0],&bi616[0],&bi617[0],
04277       &bi618[0],&bi619[0],&bi620[0],&bi621[0],&bi622[0],&bi623[0],
04278       &bi624[0],&bi625[0],&bi626[0],&bi627[0],&bi628[0],&bi629[0],
04279       &bi630[0],&bi631[0],&bi632[0],&bi633[0],&bi634[0],&bi635[0],
04280       &bi636[0],&bi637[0],&bi638[0],&bi639[0],&bi640[0],&bi641[0],
04281       &bi642[0],&bi643[0],&bi644[0],&bi645[0],&bi646[0],&bi647[0],
04282       &bi648[0],&bi649[0],&bi650[0],&bi651[0],&bi652[0],&bi653[0],
04283       &bi654[0],&bi655[0],&bi656[0],&bi657[0],&bi658[0],&bi659[0],
04284       &bi660[0],&bi661[0],&bi662[0],&bi663[0],&bi664[0],&bi665[0],
04285       &bi666[0],&bi667[0],&bi668[0],&bi669[0],&bi670[0],&bi671[0],
04286       &bi672[0],&bi673[0],&bi674[0],&bi675[0],&bi676[0],&bi677[0],
04287       &bi678[0],&bi679[0],&bi680[0],&bi681[0],&bi682[0],&bi683[0],
04288       &bi684[0],&bi685[0],&bi686[0],&bi687[0],&bi688[0],&bi689[0],
04289       &bi690[0],&bi691[0],&bi692[0],&bi693[0],&bi694[0],&bi695[0],
04290       &bi696[0],&bi697[0],&bi698[0],&bi699[0],&bi700[0],&bi701[0],
04291       &bi702[0],&bi703[0],&bi704[0],&bi705[0],&bi706[0],&bi707[0],
04292       &bi708[0],&bi709[0],&bi710[0],&bi711[0],&bi712[0],&bi713[0],
04293       &bi714[0],&bi715[0],&bi716[0],&bi717[0],&bi718[0],&bi719[0],
04294       &bi720[0],&bi721[0],&bi722[0],&bi723[0],&bi724[0],&bi725[0],
04295       &bi726[0],&bi727[0],&bi728[0],&bi729[0],&bi730[0],&bi731[0],
04296       &bi732[0],&bi733[0],&bi734[0],&bi735[0],&bi736[0],&bi737[0],
04297       &bi738[0],&bi739[0],&bi740[0],&bi741[0],&bi742[0],&bi743[0],
04298       &bi744[0],&bi745[0],&bi746[0],&bi747[0],&bi748[0],&bi749[0],
04299       &bi750[0],&bi751[0],&bi752[0],&bi753[0],&bi754[0],&bi755[0],
04300       &bi756[0],&bi757[0],&bi758[0],&bi759[0],&bi760[0],&bi761[0],
04301       &bi762[0],&bi763[0],&bi764[0],&bi765[0],&bi766[0],&bi767[0],
04302       &bi768[0],&bi769[0],&bi770[0],&bi771[0],&bi772[0],&bi773[0],
04303       &bi774[0],&bi775[0],&bi776[0],&bi777[0],&bi778[0],&bi779[0],
04304       &bi780[0],&bi781[0],&bi782[0],&bi783[0],&bi784[0],&bi785[0],
04305       &bi786[0],&bi787[0],&bi788[0],&bi789[0],&bi790[0],&bi791[0],
04306       &bi792[0],&bi793[0],&bi794[0],&bi795[0],&bi796[0],&bi797[0],
04307       &bi798[0],&bi799[0],&bi800[0],&bi801[0],&bi802[0],&bi803[0],
04308       &bi804[0],&bi805[0],&bi806[0],&bi807[0],&bi808[0],&bi809[0],
04309       &bi810[0],&bi811[0],&bi812[0],&bi813[0],&bi814[0],&bi815[0],
04310       &bi816[0],&bi817[0],&bi818[0],&bi819[0],&bi820[0],&bi821[0],
04311       &bi822[0],&bi823[0],&bi824[0],&bi825[0],&bi826[0],&bi827[0],
04312       &bi828[0],&bi829[0],&bi830[0],&bi831[0],&bi832[0],&bi833[0],
04313       &bi834[0],&bi835[0],&bi836[0],&bi837[0],&bi838[0],&bi839[0],
04314       &bi840[0],&bi841[0],&bi842[0],&bi843[0],&bi844[0],&bi845[0],
04315       &bi846[0],&bi847[0],&bi848[0],&bi849[0],&bi850[0],&bi851[0],
04316       &bi852[0],&bi853[0],&bi854[0],&bi855[0],&bi856[0],&bi857[0],
04317       &bi858[0],&bi859[0],&bi860[0],&bi861[0],&bi862[0],&bi863[0],
04318       &bi864[0],&bi865[0],&bi866[0],&bi867[0],&bi868[0],&bi869[0],
04319       &bi870[0],&bi871[0],&bi872[0],&bi873[0],&bi874[0]
04320     };
04321 
04322 
04328      class BoolElement : public Test {
04329      protected:
04331        int mode;
04332      public:
04334        BoolElement(const std::string& s, int m)
04335          : Test("MiniModel::BoolElement::"+s,2,0,1), mode(m) {}
04337        virtual bool solution(const Assignment& x) const {
04338          return (x[0] == 0) && (x[1] == 1);
04339        }
04341        virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) {
04342          using namespace Gecode;
04343          BoolVarArgs l(2);
04344          l[0]=channel(home,x[0]); l[1]=channel(home,x[1]);
04345          switch (mode) {
04346          case 0:
04347            {
04348              BoolVar b0 = expr(home, !element(l,0));
04349              BoolVar b1 = expr(home, element(l,1));
04350              rel(home, b0 && b1);
04351            }
04352            break;
04353          case 1:
04354            {
04355              BoolVar b = expr(home, !element(l,0) && element(l,1));
04356              rel(home, b);
04357            }
04358            break;
04359          case 2:
04360            rel(home, !element(l,0) && element(l,1));
04361            break;
04362          default:
04363            GECODE_NEVER;
04364          }
04365        }
04366      };
04367 
04368 
04370     class Create {
04371     public:
04373       Create(void) {
04374         int n = sizeof(bi)/sizeof(BoolInstr*);
04375         for (int i=0; i<n; i++) {
04376           std::string s = Test::str(i);
04377           if (i < 10) {
04378             s = "00" + s;
04379           } else if (i < 100) {
04380             s = "0" + s;
04381           }
04382           (void) new BoolExprInt(bi[i],s,0);
04383           (void) new BoolExprInt(bi[i],s,1);
04384           (void) new BoolExprVar(bi[i],s);
04385         }
04386         (void) new BoolElement("Expr::A",0);
04387         (void) new BoolElement("Expr::B",1);
04388         (void) new BoolElement("Rel",2);
04389       }
04390     };
04391 
04392     Create c;
04394    }
04395 
04396 }}
04397 
04398 // STATISTICS: test-minimodel