gecoder-with-gecode 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (919) hide show
  1. data/CHANGES +6 -0
  2. data/README +1 -1
  3. data/THANKS +18 -0
  4. data/example/equation_system.rb +3 -1
  5. data/example/magic_sequence.rb +3 -1
  6. data/example/queens.rb +3 -1
  7. data/example/send_more_money.rb +24 -30
  8. data/example/send_most_money.rb +15 -26
  9. data/example/square_tiling.rb +3 -1
  10. data/example/sudoku-set.rb +3 -1
  11. data/ext/{gecode-2.1.1 → gecode-2.2.0}/LICENSE +0 -0
  12. data/ext/{gecode-2.1.1 → gecode-2.2.0}/Makefile.contribs +0 -0
  13. data/ext/gecode-2.2.0/Makefile.dep +8056 -0
  14. data/ext/gecode-2.2.0/Makefile.in +1590 -0
  15. data/ext/gecode-2.2.0/changelog.in +2698 -0
  16. data/ext/gecode-2.2.0/configure +13112 -0
  17. data/ext/gecode-2.2.0/configure.ac +273 -0
  18. data/ext/gecode-2.2.0/configure.ac.in +269 -0
  19. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/README +0 -0
  20. data/ext/gecode-2.2.0/contribs/qecode/Doxyfile +263 -0
  21. data/ext/gecode-2.2.0/contribs/qecode/Implicative.cc +267 -0
  22. data/ext/gecode-2.2.0/contribs/qecode/Implicative.hh +164 -0
  23. data/ext/gecode-2.2.0/contribs/qecode/Makefile.in.in +163 -0
  24. data/ext/gecode-2.2.0/contribs/qecode/OptVar.cc +82 -0
  25. data/ext/gecode-2.2.0/contribs/qecode/OptVar.hh +123 -0
  26. data/ext/gecode-2.2.0/contribs/qecode/Strategy.cc +131 -0
  27. data/ext/gecode-2.2.0/contribs/qecode/Strategy.hh +91 -0
  28. data/ext/gecode-2.2.0/contribs/qecode/StrategyNode.cc +62 -0
  29. data/ext/gecode-2.2.0/contribs/qecode/StrategyNode.hh +47 -0
  30. data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/output.0 +2264 -0
  31. data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/requests +115 -0
  32. data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/traces.0 +57 -0
  33. data/ext/gecode-2.2.0/contribs/qecode/config.log +147 -0
  34. data/ext/gecode-2.2.0/contribs/qecode/config.status +817 -0
  35. data/ext/gecode-2.2.0/contribs/qecode/configure +2264 -0
  36. data/ext/gecode-2.2.0/contribs/qecode/configure.ac +23 -0
  37. data/ext/gecode-2.2.0/contribs/qecode/examples/COMPILING +13 -0
  38. data/ext/gecode-2.2.0/contribs/qecode/examples/MatrixGame.cpp +140 -0
  39. data/ext/gecode-2.2.0/contribs/qecode/examples/NimFibo.cpp +73 -0
  40. data/ext/gecode-2.2.0/contribs/qecode/examples/connect-5-3-3-3.cpp +842 -0
  41. data/ext/gecode-2.2.0/contribs/qecode/examples/network-pricing.cc +146 -0
  42. data/ext/gecode-2.2.0/contribs/qecode/examples/optim2.cc +149 -0
  43. data/ext/gecode-2.2.0/contribs/qecode/examples/stress_test.cpp +240 -0
  44. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/heap.cc +0 -0
  45. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/myDom.cc +0 -0
  46. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/myspace.cc +0 -0
  47. data/ext/gecode-2.2.0/contribs/qecode/myspace.hh +68 -0
  48. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/qecode.hh +0 -0
  49. data/ext/gecode-2.2.0/contribs/qecode/qsolver.cc +268 -0
  50. data/ext/gecode-2.2.0/contribs/qecode/qsolver.hh +46 -0
  51. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/shortdesc.ac +0 -0
  52. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/vartype.hh +0 -0
  53. data/ext/{gecode-2.1.1 → gecode-2.2.0}/doxygen/doxygen.conf.in +0 -0
  54. data/ext/gecode-2.2.0/doxygen/doxygen.hh.in +1112 -0
  55. data/ext/gecode-2.2.0/doxygen/reflection.hh +417 -0
  56. data/ext/gecode-2.2.0/examples/all-interval.cc +133 -0
  57. data/ext/gecode-2.2.0/examples/alpha.cc +137 -0
  58. data/ext/gecode-2.2.0/examples/bacp.cc +521 -0
  59. data/ext/gecode-2.2.0/examples/baseline.cc +87 -0
  60. data/ext/gecode-2.2.0/examples/bibd.cc +203 -0
  61. data/ext/gecode-2.2.0/examples/black-hole.cc +389 -0
  62. data/ext/gecode-2.2.0/examples/crew.cc +286 -0
  63. data/ext/gecode-2.2.0/examples/crowded-chess.cc +424 -0
  64. data/ext/gecode-2.2.0/examples/domino.cc +297 -0
  65. data/ext/gecode-2.2.0/examples/donald.cc +107 -0
  66. data/ext/gecode-2.2.0/examples/eq20.cc +125 -0
  67. data/ext/gecode-2.2.0/examples/golf.cc +297 -0
  68. data/ext/gecode-2.2.0/examples/golomb-ruler.cc +199 -0
  69. data/ext/gecode-2.2.0/examples/graph-color.cc +407 -0
  70. data/ext/gecode-2.2.0/examples/grocery.cc +113 -0
  71. data/ext/gecode-2.2.0/examples/hamming.cc +129 -0
  72. data/ext/gecode-2.2.0/examples/ind-set.cc +143 -0
  73. data/ext/gecode-2.2.0/examples/javascript.cc +163 -0
  74. data/ext/gecode-2.2.0/examples/kakuro.cc +686 -0
  75. data/ext/gecode-2.2.0/examples/knights.cc +220 -0
  76. data/ext/gecode-2.2.0/examples/langford-number.cc +225 -0
  77. data/ext/gecode-2.2.0/examples/magic-sequence.cc +146 -0
  78. data/ext/gecode-2.2.0/examples/magic-square.cc +138 -0
  79. data/ext/gecode-2.2.0/examples/minesweeper.cc +304 -0
  80. data/ext/gecode-2.2.0/examples/money.cc +105 -0
  81. data/ext/gecode-2.2.0/examples/nonogram.cc +492 -0
  82. data/ext/gecode-2.2.0/examples/ortho-latin.cc +172 -0
  83. data/ext/gecode-2.2.0/examples/partition.cc +141 -0
  84. data/ext/gecode-2.2.0/examples/pentominoes.cc +949 -0
  85. data/ext/gecode-2.2.0/examples/perfect-square.cc +311 -0
  86. data/ext/gecode-2.2.0/examples/photo.cc +170 -0
  87. data/ext/gecode-2.2.0/examples/queen-armies.cc +284 -0
  88. data/ext/gecode-2.2.0/examples/queens.cc +147 -0
  89. data/ext/gecode-2.2.0/examples/queens.js +57 -0
  90. data/ext/gecode-2.2.0/examples/sports-league.cc +342 -0
  91. data/ext/gecode-2.2.0/examples/steiner.cc +192 -0
  92. data/ext/gecode-2.2.0/examples/stress-distinct.cc +90 -0
  93. data/ext/gecode-2.2.0/examples/stress-domain.cc +99 -0
  94. data/ext/gecode-2.2.0/examples/stress-element.cc +112 -0
  95. data/ext/gecode-2.2.0/examples/stress-exec.cc +97 -0
  96. data/ext/gecode-2.2.0/examples/stress-extensional.cc +134 -0
  97. data/ext/gecode-2.2.0/examples/stress-linear-bool.cc +97 -0
  98. data/ext/gecode-2.2.0/examples/stress-min.cc +98 -0
  99. data/ext/gecode-2.2.0/examples/stress-search.cc +88 -0
  100. data/ext/gecode-2.2.0/examples/sudoku.cc +2341 -0
  101. data/ext/gecode-2.2.0/examples/support.hh +338 -0
  102. data/ext/gecode-2.2.0/examples/support/example.cc +64 -0
  103. data/ext/gecode-2.2.0/examples/support/example.icc +321 -0
  104. data/ext/gecode-2.2.0/examples/support/options.cc +226 -0
  105. data/ext/gecode-2.2.0/examples/support/options.icc +276 -0
  106. data/ext/gecode-2.2.0/examples/tsp.cc +317 -0
  107. data/ext/gecode-2.2.0/examples/warehouses.cc +191 -0
  108. data/ext/gecode-2.2.0/gecode.m4 +1046 -0
  109. data/ext/gecode-2.2.0/gecode/cpltset.hh +797 -0
  110. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/array.cc +0 -0
  111. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/array.icc +0 -0
  112. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/bddmanager.cc +0 -0
  113. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/bddmanager.icc +0 -0
  114. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch.cc +0 -0
  115. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch.hh +0 -0
  116. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch/select-val.icc +0 -0
  117. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch/select-view.icc +0 -0
  118. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/atmost.cc +0 -0
  119. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/cardinality.cc +0 -0
  120. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/distinct.cc +0 -0
  121. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/dom.cc +0 -0
  122. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/partition.cc +0 -0
  123. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/rangeroots.cc +0 -0
  124. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/rel.cc +0 -0
  125. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/select.cc +0 -0
  126. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/singleton.cc +0 -0
  127. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/exception.icc +0 -0
  128. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators.hh +0 -0
  129. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/binary.icc +0 -0
  130. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/nary.icc +0 -0
  131. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/naryone.icc +0 -0
  132. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/narytwo.icc +0 -0
  133. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/singleton.icc +0 -0
  134. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/unary.icc +0 -0
  135. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/support.cc +0 -0
  136. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/support.icc +0 -0
  137. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp.icc +0 -0
  138. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.cc +0 -0
  139. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.icc +0 -0
  140. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.vis +0 -0
  141. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var/cpltset.cc +0 -0
  142. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var/cpltset.icc +0 -0
  143. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view.icc +0 -0
  144. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view/cpltset.icc +0 -0
  145. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view/print.cc +0 -0
  146. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist.hh +0 -0
  147. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addchild.cc +0 -0
  148. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addchild.hh +0 -0
  149. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addvisualisationdialog.cc +0 -0
  150. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addvisualisationdialog.hh +0 -0
  151. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/better.hh +0 -0
  152. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/config.cc +0 -0
  153. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/config.hh +0 -0
  154. data/ext/gecode-2.2.0/gecode/gist/drawingcursor.cc +281 -0
  155. data/ext/gecode-2.2.0/gecode/gist/drawingcursor.hh +103 -0
  156. data/ext/gecode-2.2.0/gecode/gist/drawingcursor.icc +70 -0
  157. data/ext/gecode-2.2.0/gecode/gist/gecodelogo.cc +672 -0
  158. data/ext/gecode-2.2.0/gecode/gist/gecodelogo.hh +64 -0
  159. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/gist.cc +0 -0
  160. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/gist.icc +0 -0
  161. data/ext/gecode-2.2.0/gecode/gist/layoutcursor.cc +115 -0
  162. data/ext/gecode-2.2.0/gecode/gist/layoutcursor.hh +75 -0
  163. data/ext/gecode-2.2.0/gecode/gist/layoutcursor.icc +48 -0
  164. data/ext/gecode-2.2.0/gecode/gist/mainwindow.cc +274 -0
  165. data/ext/gecode-2.2.0/gecode/gist/mainwindow.hh +86 -0
  166. data/ext/gecode-2.2.0/gecode/gist/node.cc +148 -0
  167. data/ext/gecode-2.2.0/gecode/gist/node.hh +117 -0
  168. data/ext/gecode-2.2.0/gecode/gist/node.icc +99 -0
  169. data/ext/gecode-2.2.0/gecode/gist/nodecursor.cc +123 -0
  170. data/ext/gecode-2.2.0/gecode/gist/nodecursor.hh +147 -0
  171. data/ext/gecode-2.2.0/gecode/gist/nodecursor.icc +122 -0
  172. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/nodevisitor.hh +0 -0
  173. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/nodevisitor.icc +0 -0
  174. data/ext/gecode-2.2.0/gecode/gist/preferences.cc +120 -0
  175. data/ext/gecode-2.2.0/gecode/gist/preferences.hh +79 -0
  176. data/ext/gecode-2.2.0/gecode/gist/spacenode.cc +468 -0
  177. data/ext/gecode-2.2.0/gecode/gist/spacenode.hh +227 -0
  178. data/ext/gecode-2.2.0/gecode/gist/spacenode.icc +170 -0
  179. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/test.cc +0 -0
  180. data/ext/gecode-2.2.0/gecode/gist/textoutput.cc +134 -0
  181. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/textoutput.hh +0 -0
  182. data/ext/gecode-2.2.0/gecode/gist/treecanvas.cc +1343 -0
  183. data/ext/gecode-2.2.0/gecode/gist/treecanvas.hh +361 -0
  184. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/ui_addchild.hh +0 -0
  185. data/ext/gecode-2.2.0/gecode/gist/ui_addvisualisationdialog.hh +165 -0
  186. data/ext/gecode-2.2.0/gecode/gist/visualisation/intvaritem.cc +192 -0
  187. data/ext/gecode-2.2.0/gecode/gist/visualisation/intvaritem.hh +75 -0
  188. data/ext/gecode-2.2.0/gecode/gist/visualisation/setvaritem.cc +235 -0
  189. data/ext/gecode-2.2.0/gecode/gist/visualisation/setvaritem.hh +77 -0
  190. data/ext/gecode-2.2.0/gecode/gist/visualisation/vararrayitem.hh +125 -0
  191. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayview.cc +0 -0
  192. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayview.hh +0 -0
  193. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayviewt.hh +0 -0
  194. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/varitem.cc +0 -0
  195. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/varitem.hh +0 -0
  196. data/ext/gecode-2.2.0/gecode/gist/visualnode.cc +474 -0
  197. data/ext/gecode-2.2.0/gecode/gist/visualnode.hh +226 -0
  198. data/ext/gecode-2.2.0/gecode/gist/visualnode.icc +198 -0
  199. data/ext/gecode-2.2.0/gecode/gist/zoomToFitIcon.icc +113 -0
  200. data/ext/gecode-2.2.0/gecode/int.hh +2116 -0
  201. data/ext/gecode-2.2.0/gecode/int/arithmetic.cc +237 -0
  202. data/ext/gecode-2.2.0/gecode/int/arithmetic.hh +827 -0
  203. data/ext/gecode-2.2.0/gecode/int/arithmetic/abs.icc +278 -0
  204. data/ext/gecode-2.2.0/gecode/int/arithmetic/divmod.icc +496 -0
  205. data/ext/gecode-2.2.0/gecode/int/arithmetic/max.icc +474 -0
  206. data/ext/gecode-2.2.0/gecode/int/arithmetic/mult.icc +858 -0
  207. data/ext/gecode-2.2.0/gecode/int/arithmetic/sqr.icc +464 -0
  208. data/ext/gecode-2.2.0/gecode/int/arithmetic/sqrt.icc +260 -0
  209. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/array.cc +0 -0
  210. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/array.icc +0 -0
  211. data/ext/gecode-2.2.0/gecode/int/bool.cc +734 -0
  212. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool.hh +0 -0
  213. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/base.icc +0 -0
  214. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/eq.icc +0 -0
  215. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/eqv.icc +0 -0
  216. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/lq.icc +0 -0
  217. data/ext/gecode-2.2.0/gecode/int/bool/or.icc +1000 -0
  218. data/ext/gecode-2.2.0/gecode/int/branch.cc +167 -0
  219. data/ext/gecode-2.2.0/gecode/int/branch.hh +587 -0
  220. data/ext/gecode-2.2.0/gecode/int/branch/create-branch.icc +190 -0
  221. data/ext/gecode-2.2.0/gecode/int/branch/select-val.icc +340 -0
  222. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/branch/select-view.icc +0 -0
  223. data/ext/gecode-2.2.0/gecode/int/channel.cc +165 -0
  224. data/ext/gecode-2.2.0/gecode/int/channel.hh +259 -0
  225. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/base.icc +0 -0
  226. data/ext/gecode-2.2.0/gecode/int/channel/dom.icc +348 -0
  227. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-multi.cc +0 -0
  228. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-multi.icc +0 -0
  229. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-single.cc +0 -0
  230. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-single.icc +0 -0
  231. data/ext/gecode-2.2.0/gecode/int/channel/val.icc +278 -0
  232. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/circuit.cc +0 -0
  233. data/ext/gecode-2.2.0/gecode/int/circuit.hh +175 -0
  234. data/ext/gecode-2.2.0/gecode/int/circuit/base.icc +266 -0
  235. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/circuit/dom.icc +0 -0
  236. data/ext/gecode-2.2.0/gecode/int/circuit/val.icc +126 -0
  237. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/count.cc +0 -0
  238. data/ext/gecode-2.2.0/gecode/int/count.hh +487 -0
  239. data/ext/gecode-2.2.0/gecode/int/count/int.icc +620 -0
  240. data/ext/gecode-2.2.0/gecode/int/count/rel.icc +144 -0
  241. data/ext/gecode-2.2.0/gecode/int/count/view.icc +449 -0
  242. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/cumulatives.cc +0 -0
  243. data/ext/gecode-2.2.0/gecode/int/cumulatives.hh +138 -0
  244. data/ext/gecode-2.2.0/gecode/int/cumulatives/val.icc +455 -0
  245. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct.cc +0 -0
  246. data/ext/gecode-2.2.0/gecode/int/distinct.hh +341 -0
  247. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/bilink.icc +0 -0
  248. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/bnd.icc +0 -0
  249. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/combptr.icc +0 -0
  250. data/ext/gecode-2.2.0/gecode/int/distinct/dom.icc +752 -0
  251. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/edge.icc +0 -0
  252. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/node.icc +0 -0
  253. data/ext/gecode-2.2.0/gecode/int/distinct/ter-dom.icc +136 -0
  254. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/val.icc +0 -0
  255. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom.cc +0 -0
  256. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom.hh +0 -0
  257. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom/range.icc +0 -0
  258. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom/spec.icc +0 -0
  259. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/element.cc +0 -0
  260. data/ext/gecode-2.2.0/gecode/int/element.hh +239 -0
  261. data/ext/gecode-2.2.0/gecode/int/element/int.icc +444 -0
  262. data/ext/gecode-2.2.0/gecode/int/element/view.icc +584 -0
  263. data/ext/gecode-2.2.0/gecode/int/exception.icc +174 -0
  264. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional.cc +0 -0
  265. data/ext/gecode-2.2.0/gecode/int/extensional.hh +415 -0
  266. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/base.icc +0 -0
  267. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/basic.icc +0 -0
  268. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/bitset.icc +0 -0
  269. data/ext/gecode-2.2.0/gecode/int/extensional/dfa.cc +565 -0
  270. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/dfa.icc +0 -0
  271. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/incremental.icc +0 -0
  272. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/layered-graph.icc +0 -0
  273. data/ext/gecode-2.2.0/gecode/int/extensional/tuple-set.cc +285 -0
  274. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/tuple-set.icc +0 -0
  275. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc.cc +0 -0
  276. data/ext/gecode-2.2.0/gecode/int/gcc.hh +329 -0
  277. data/ext/gecode-2.2.0/gecode/int/gcc/bnd.icc +660 -0
  278. data/ext/gecode-2.2.0/gecode/int/gcc/dom.icc +531 -0
  279. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/gccbndsup.icc +0 -0
  280. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/graphsup.icc +0 -0
  281. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/lbc.icc +0 -0
  282. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/occur.icc +0 -0
  283. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/ubc.icc +0 -0
  284. data/ext/gecode-2.2.0/gecode/int/gcc/val.icc +400 -0
  285. data/ext/gecode-2.2.0/gecode/int/int-set.cc +157 -0
  286. data/ext/gecode-2.2.0/gecode/int/int-set.icc +195 -0
  287. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/limits.icc +0 -0
  288. data/ext/gecode-2.2.0/gecode/int/linear-bool.cc +235 -0
  289. data/ext/gecode-2.2.0/gecode/int/linear-int.cc +272 -0
  290. data/ext/gecode-2.2.0/gecode/int/linear.hh +1849 -0
  291. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-int.icc +0 -0
  292. data/ext/gecode-2.2.0/gecode/int/linear/bool-post.cc +433 -0
  293. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-scale.icc +0 -0
  294. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-view.icc +0 -0
  295. data/ext/gecode-2.2.0/gecode/int/linear/int-bin.icc +605 -0
  296. data/ext/gecode-2.2.0/gecode/int/linear/int-dom.icc +539 -0
  297. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-nary.icc +0 -0
  298. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-noview.icc +0 -0
  299. data/ext/gecode-2.2.0/gecode/int/linear/int-post.cc +493 -0
  300. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-ter.icc +0 -0
  301. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/post.icc +0 -0
  302. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/propagator.icc +0 -0
  303. data/ext/gecode-2.2.0/gecode/int/rel.cc +420 -0
  304. data/ext/gecode-2.2.0/gecode/int/rel.hh +627 -0
  305. data/ext/gecode-2.2.0/gecode/int/rel/eq.icc +885 -0
  306. data/ext/gecode-2.2.0/gecode/int/rel/lex.icc +275 -0
  307. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/rel/lq-le.icc +0 -0
  308. data/ext/gecode-2.2.0/gecode/int/rel/nq.icc +118 -0
  309. data/ext/gecode-2.2.0/gecode/int/sorted.cc +81 -0
  310. data/ext/gecode-2.2.0/gecode/int/sorted.hh +118 -0
  311. data/ext/gecode-2.2.0/gecode/int/sorted/matching.icc +173 -0
  312. data/ext/gecode-2.2.0/gecode/int/sorted/narrowing.icc +249 -0
  313. data/ext/gecode-2.2.0/gecode/int/sorted/order.icc +212 -0
  314. data/ext/gecode-2.2.0/gecode/int/sorted/propagate.icc +702 -0
  315. data/ext/gecode-2.2.0/gecode/int/sorted/sortsup.icc +563 -0
  316. data/ext/gecode-2.2.0/gecode/int/support-values.hh +158 -0
  317. data/ext/gecode-2.2.0/gecode/int/support-values.icc +203 -0
  318. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/unshare.cc +0 -0
  319. data/ext/gecode-2.2.0/gecode/int/var-imp.icc +745 -0
  320. data/ext/gecode-2.2.0/gecode/int/var-imp/bool.cc +105 -0
  321. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/bool.icc +0 -0
  322. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/bool.vis +0 -0
  323. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/delta.icc +0 -0
  324. data/ext/gecode-2.2.0/gecode/int/var-imp/int.cc +408 -0
  325. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/int.icc +0 -0
  326. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/int.vis +0 -0
  327. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var/bool.cc +0 -0
  328. data/ext/gecode-2.2.0/gecode/int/var/bool.icc +128 -0
  329. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var/int.cc +0 -0
  330. data/ext/gecode-2.2.0/gecode/int/var/int.icc +153 -0
  331. data/ext/gecode-2.2.0/gecode/int/view.icc +1918 -0
  332. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/bool.icc +0 -0
  333. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/constint.icc +0 -0
  334. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/int.icc +0 -0
  335. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/iter.icc +0 -0
  336. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/minus.icc +0 -0
  337. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/offset.icc +0 -0
  338. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/print.cc +0 -0
  339. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/rtest.icc +0 -0
  340. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/scale.icc +0 -0
  341. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/zero.icc +0 -0
  342. data/ext/gecode-2.2.0/gecode/iter.hh +98 -0
  343. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-add.icc +0 -0
  344. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-append.icc +0 -0
  345. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-array.icc +0 -0
  346. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-cache.icc +0 -0
  347. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-compl.icc +0 -0
  348. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-diff.icc +0 -0
  349. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-empty.icc +0 -0
  350. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-inter.icc +0 -0
  351. data/ext/gecode-2.2.0/gecode/iter/ranges-map.icc +260 -0
  352. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-minmax.icc +0 -0
  353. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-minus.icc +0 -0
  354. data/ext/gecode-2.2.0/gecode/iter/ranges-negative.icc +137 -0
  355. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-offset.icc +0 -0
  356. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-operations.icc +0 -0
  357. data/ext/gecode-2.2.0/gecode/iter/ranges-positive.icc +139 -0
  358. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-scale.icc +0 -0
  359. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-singleton-append.icc +0 -0
  360. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-singleton.icc +0 -0
  361. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-size.icc +0 -0
  362. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-union.icc +0 -0
  363. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-values.icc +0 -0
  364. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-array.icc +0 -0
  365. data/ext/gecode-2.2.0/gecode/iter/values-inter.icc +130 -0
  366. data/ext/gecode-2.2.0/gecode/iter/values-map.icc +136 -0
  367. data/ext/gecode-2.2.0/gecode/iter/values-minus.icc +130 -0
  368. data/ext/gecode-2.2.0/gecode/iter/values-negative.icc +116 -0
  369. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-offset.icc +0 -0
  370. data/ext/gecode-2.2.0/gecode/iter/values-positive.icc +123 -0
  371. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-ranges.icc +0 -0
  372. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-singleton.icc +0 -0
  373. data/ext/gecode-2.2.0/gecode/iter/values-union.icc +137 -0
  374. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-unique.icc +0 -0
  375. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-compl.icc +0 -0
  376. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-inter.icc +0 -0
  377. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-union.icc +0 -0
  378. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges.icc +0 -0
  379. data/ext/gecode-2.2.0/gecode/kernel.hh +188 -0
  380. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/advisor.icc +0 -0
  381. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/array.icc +0 -0
  382. data/ext/gecode-2.2.0/gecode/kernel/branching.icc +433 -0
  383. data/ext/gecode-2.2.0/gecode/kernel/core.cc +474 -0
  384. data/ext/gecode-2.2.0/gecode/kernel/core.icc +2311 -0
  385. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/exception.icc +0 -0
  386. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/macros.icc +0 -0
  387. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/memory-manager.cc +0 -0
  388. data/ext/gecode-2.2.0/gecode/kernel/memory-manager.icc +454 -0
  389. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/modevent.icc +0 -0
  390. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/propagator.icc +0 -0
  391. data/ext/gecode-2.2.0/gecode/kernel/reflection.cc +951 -0
  392. data/ext/gecode-2.2.0/gecode/kernel/reflection.icc +1213 -0
  393. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/shared-array.icc +0 -0
  394. data/ext/gecode-2.2.0/gecode/kernel/var-imp.icc +433 -0
  395. data/ext/gecode-2.2.0/gecode/kernel/var-map.cc +269 -0
  396. data/ext/gecode-2.2.0/gecode/kernel/var-map.icc +230 -0
  397. data/ext/gecode-2.2.0/gecode/kernel/var-traits.icc +79 -0
  398. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/var-type.cc +0 -0
  399. data/ext/gecode-2.2.0/gecode/kernel/var-type.icc +915 -0
  400. data/ext/gecode-2.2.0/gecode/kernel/var.icc +114 -0
  401. data/ext/gecode-2.2.0/gecode/kernel/view.icc +413 -0
  402. data/ext/gecode-2.2.0/gecode/minimodel.hh +1206 -0
  403. data/ext/gecode-2.2.0/gecode/minimodel/arithmetic.icc +118 -0
  404. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-expr.cc +0 -0
  405. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-expr.icc +0 -0
  406. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-rel.icc +0 -0
  407. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/exception.icc +0 -0
  408. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/lin-expr.icc +0 -0
  409. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/lin-rel.icc +0 -0
  410. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/matrix.icc +0 -0
  411. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/reg.cc +0 -0
  412. data/ext/gecode-2.2.0/gecode/search.hh +759 -0
  413. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/bab.cc +0 -0
  414. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/bab.icc +0 -0
  415. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/dfs.cc +0 -0
  416. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/dfs.icc +0 -0
  417. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/engine-ctrl.icc +0 -0
  418. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/lds.cc +0 -0
  419. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/lds.icc +0 -0
  420. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/options.cc +0 -0
  421. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/options.icc +0 -0
  422. data/ext/gecode-2.2.0/gecode/search/reco-stack.icc +277 -0
  423. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/restart.icc +0 -0
  424. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/statistics.icc +0 -0
  425. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/stop.cc +0 -0
  426. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/stop.icc +0 -0
  427. data/ext/gecode-2.2.0/gecode/serialization.hh +149 -0
  428. data/ext/gecode-2.2.0/gecode/serialization/boost.cc +78 -0
  429. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/boost.icc +0 -0
  430. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/flatzinc.cc +0 -0
  431. data/ext/gecode-2.2.0/gecode/serialization/javascript.cc +343 -0
  432. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/javascript.hh +0 -0
  433. data/ext/gecode-2.2.0/gecode/serialization/register.cc +8498 -0
  434. data/ext/gecode-2.2.0/gecode/set.hh +970 -0
  435. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/array.cc +0 -0
  436. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/array.icc +0 -0
  437. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch.cc +0 -0
  438. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch.hh +0 -0
  439. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch/select-val.icc +0 -0
  440. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch/select-view.icc +0 -0
  441. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/cardinality.cc +0 -0
  442. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex.cc +0 -0
  443. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex.hh +0 -0
  444. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/conv.cc +0 -0
  445. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/conv.icc +0 -0
  446. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/hull.cc +0 -0
  447. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/hull.icc +0 -0
  448. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct.cc +0 -0
  449. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct.hh +0 -0
  450. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct/atmostOne.cc +0 -0
  451. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct/atmostOne.icc +0 -0
  452. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/dom.cc +0 -0
  453. data/ext/gecode-2.2.0/gecode/set/element.cc +135 -0
  454. data/ext/gecode-2.2.0/gecode/set/element.hh +233 -0
  455. data/ext/gecode-2.2.0/gecode/set/element/disjoint.cc +308 -0
  456. data/ext/gecode-2.2.0/gecode/set/element/disjoint.icc +75 -0
  457. data/ext/gecode-2.2.0/gecode/set/element/idxarray.hh +113 -0
  458. data/ext/gecode-2.2.0/gecode/set/element/idxarray.icc +155 -0
  459. data/ext/gecode-2.2.0/gecode/set/element/inter.icc +348 -0
  460. data/ext/gecode-2.2.0/gecode/set/element/union.icc +371 -0
  461. data/ext/gecode-2.2.0/gecode/set/element/unionConst.icc +334 -0
  462. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/exception.icc +0 -0
  463. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int.cc +0 -0
  464. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int.hh +0 -0
  465. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/card.icc +0 -0
  466. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/channel-bool.icc +0 -0
  467. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/channel-int.icc +0 -0
  468. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/match.icc +0 -0
  469. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/minmax.icc +0 -0
  470. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/weights.icc +0 -0
  471. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/limits.icc +0 -0
  472. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors-compiler.hh +0 -0
  473. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors.cc +0 -0
  474. data/ext/gecode-2.2.0/gecode/set/projectors.hh +438 -0
  475. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/compiler.cc +0 -0
  476. data/ext/gecode-2.2.0/gecode/set/projectors/formula.cc +312 -0
  477. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/formula.icc +0 -0
  478. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector-set.cc +0 -0
  479. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector-set.icc +0 -0
  480. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector.cc +0 -0
  481. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector.icc +0 -0
  482. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator.hh +0 -0
  483. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/card.icc +0 -0
  484. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/nary.icc +0 -0
  485. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/re-nary.cc +0 -0
  486. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/re-nary.icc +0 -0
  487. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/set-expr.cc +0 -0
  488. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/set-expr.icc +0 -0
  489. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/propagator.icc +0 -0
  490. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op-const.cc +0 -0
  491. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op.cc +0 -0
  492. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op.hh +0 -0
  493. data/ext/gecode-2.2.0/gecode/set/rel-op/common.icc +613 -0
  494. data/ext/gecode-2.2.0/gecode/set/rel-op/inter.icc +452 -0
  495. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/partition.icc +0 -0
  496. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/post.icc +0 -0
  497. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/subofunion.icc +0 -0
  498. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/superofinter.icc +0 -0
  499. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/union.icc +0 -0
  500. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel.cc +0 -0
  501. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel.hh +0 -0
  502. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/common.icc +0 -0
  503. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/eq.icc +0 -0
  504. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/nosubset.icc +0 -0
  505. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/nq.icc +0 -0
  506. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/re-eq.icc +0 -0
  507. data/ext/gecode-2.2.0/gecode/set/rel/re-subset.icc +174 -0
  508. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/subset.icc +0 -0
  509. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence.cc +0 -0
  510. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence.hh +0 -0
  511. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/common.icc +0 -0
  512. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq-u.cc +0 -0
  513. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq-u.icc +0 -0
  514. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq.cc +0 -0
  515. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq.icc +0 -0
  516. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp.icc +0 -0
  517. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/delta.icc +0 -0
  518. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/integerset.cc +0 -0
  519. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/integerset.icc +0 -0
  520. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/iter.icc +0 -0
  521. data/ext/gecode-2.2.0/gecode/set/var-imp/set.cc +215 -0
  522. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/set.icc +0 -0
  523. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/set.vis +0 -0
  524. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var/set.cc +0 -0
  525. data/ext/gecode-2.2.0/gecode/set/var/set.icc +303 -0
  526. data/ext/gecode-2.2.0/gecode/set/view.icc +1451 -0
  527. data/ext/gecode-2.2.0/gecode/set/view/complement.icc +614 -0
  528. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/const.icc +0 -0
  529. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/offset.icc +0 -0
  530. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/print.cc +0 -0
  531. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/set.icc +0 -0
  532. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/singleton.icc +0 -0
  533. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support.hh +0 -0
  534. data/ext/gecode-2.2.0/gecode/support/block-allocator.icc +159 -0
  535. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/AUTHORS +0 -0
  536. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/ChangeLog +0 -0
  537. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/NEWS +0 -0
  538. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/README +0 -0
  539. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bdd.h +0 -0
  540. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddio.c +0 -0
  541. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddop.c +0 -0
  542. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddtree.h +0 -0
  543. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bvec.c +0 -0
  544. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bvec.h +0 -0
  545. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cache.c +0 -0
  546. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cache.h +0 -0
  547. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/config.h +0 -0
  548. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cppext.cc +0 -0
  549. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/fdd.c +0 -0
  550. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/fdd.h +0 -0
  551. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/imatrix.c +0 -0
  552. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/imatrix.h +0 -0
  553. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/kernel.c +0 -0
  554. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/kernel.h +0 -0
  555. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/pairs.c +0 -0
  556. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/prime.c +0 -0
  557. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/prime.h +0 -0
  558. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/reorder.c +0 -0
  559. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/tree.c +0 -0
  560. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/cast.icc +0 -0
  561. data/ext/gecode-2.2.0/gecode/support/config.icc.in +83 -0
  562. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/dynamic-array.icc +0 -0
  563. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/dynamic-stack.icc +0 -0
  564. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/exception.cc +0 -0
  565. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/exception.icc +0 -0
  566. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/macros.icc +0 -0
  567. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/map.icc +0 -0
  568. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/marked-pointer.icc +0 -0
  569. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/memory.icc +0 -0
  570. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/random.icc +0 -0
  571. data/ext/gecode-2.2.0/gecode/support/sentinel-stack.icc +138 -0
  572. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/sort.icc +0 -0
  573. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/static-pqueue.icc +0 -0
  574. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/static-stack.icc +0 -0
  575. data/ext/gecode-2.2.0/gecode/support/symbol.cc +241 -0
  576. data/ext/gecode-2.2.0/gecode/support/symbol.icc +134 -0
  577. data/ext/{gecode-2.1.1 → gecode-2.2.0}/install-sh +0 -0
  578. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/AppleHelpbookInfo.plist +0 -0
  579. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/allexamples.perl +0 -0
  580. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/Makefile.am +0 -0
  581. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/changelog +0 -0
  582. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/control +0 -0
  583. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/copyright +0 -0
  584. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.info +0 -0
  585. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.install +0 -0
  586. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.spec +0 -0
  587. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/rules +0 -0
  588. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/back.png +0 -0
  589. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/footer.html +0 -0
  590. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/gecode-logo-100.png +0 -0
  591. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/header.html +0 -0
  592. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/stylesheet.css +0 -0
  593. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/fixproperties.sh +0 -0
  594. data/ext/gecode-2.2.0/misc/gecode-gist.pc.in +45 -0
  595. data/ext/gecode-2.2.0/misc/gecode-minimodel.pc.in +45 -0
  596. data/ext/gecode-2.2.0/misc/gecode-search.pc.in +45 -0
  597. data/ext/gecode-2.2.0/misc/gecode-serialization.pc.in +45 -0
  598. data/ext/gecode-2.2.0/misc/gecode.pc.in +45 -0
  599. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genchangelog.perl +0 -0
  600. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genlcovmakefile.perl +0 -0
  601. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genlicense.perl +0 -0
  602. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genregistry.perl +0 -0
  603. data/ext/gecode-2.2.0/misc/genstatistics.perl +179 -0
  604. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/gentxtchangelog.perl +0 -0
  605. data/ext/gecode-2.2.0/misc/genvariables.perl +905 -0
  606. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/getrevision.perl +0 -0
  607. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/makedepend.perl +0 -0
  608. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/svn-ignore.txt +0 -0
  609. data/ext/gecode-2.2.0/test/assign.cc +181 -0
  610. data/ext/gecode-2.2.0/test/assign.hh +93 -0
  611. data/ext/gecode-2.2.0/test/assign/bool.cc +61 -0
  612. data/ext/gecode-2.2.0/test/assign/int.cc +70 -0
  613. data/ext/gecode-2.2.0/test/branch.cc +563 -0
  614. data/ext/gecode-2.2.0/test/branch.hh +144 -0
  615. data/ext/gecode-2.2.0/test/branch/bool.cc +61 -0
  616. data/ext/gecode-2.2.0/test/branch/cpltset.cc +71 -0
  617. data/ext/gecode-2.2.0/test/branch/int.cc +70 -0
  618. data/ext/gecode-2.2.0/test/branch/set.cc +74 -0
  619. data/ext/gecode-2.2.0/test/cpltset.cc +568 -0
  620. data/ext/gecode-2.2.0/test/cpltset.hh +125 -0
  621. data/ext/gecode-2.2.0/test/cpltset/atmost.cc +155 -0
  622. data/ext/gecode-2.2.0/test/cpltset/cardinality.cc +138 -0
  623. data/ext/gecode-2.2.0/test/cpltset/dom.cc +137 -0
  624. data/ext/gecode-2.2.0/test/cpltset/partition.cc +210 -0
  625. data/ext/gecode-2.2.0/test/cpltset/rel.cc +158 -0
  626. data/ext/gecode-2.2.0/test/cpltset/select.cc +216 -0
  627. data/ext/gecode-2.2.0/test/int.cc +688 -0
  628. data/ext/gecode-2.2.0/test/int.hh +267 -0
  629. data/ext/gecode-2.2.0/test/int.icc +266 -0
  630. data/ext/gecode-2.2.0/test/int/arithmetic.cc +766 -0
  631. data/ext/gecode-2.2.0/test/int/basic.cc +77 -0
  632. data/ext/gecode-2.2.0/test/int/bool.cc +340 -0
  633. data/ext/gecode-2.2.0/test/int/channel.cc +238 -0
  634. data/ext/gecode-2.2.0/test/int/circuit.cc +100 -0
  635. data/ext/gecode-2.2.0/test/int/count.cc +357 -0
  636. data/ext/gecode-2.2.0/test/int/distinct.cc +248 -0
  637. data/ext/gecode-2.2.0/test/int/dom.cc +123 -0
  638. data/ext/gecode-2.2.0/test/int/element.cc +333 -0
  639. data/ext/gecode-2.2.0/test/int/extensional.cc +475 -0
  640. data/ext/gecode-2.2.0/test/int/gcc.cc +293 -0
  641. data/ext/gecode-2.2.0/test/int/linear.cc +383 -0
  642. data/ext/gecode-2.2.0/test/int/mm-arithmetic.cc +302 -0
  643. data/ext/gecode-2.2.0/test/int/mm-bool.cc +4342 -0
  644. data/ext/gecode-2.2.0/test/int/mm-count.cc +295 -0
  645. data/ext/gecode-2.2.0/test/int/mm-lin.cc +2035 -0
  646. data/ext/gecode-2.2.0/test/int/mm-rel.cc +136 -0
  647. data/ext/gecode-2.2.0/test/int/rel.cc +416 -0
  648. data/ext/gecode-2.2.0/test/int/scheduling.cc +276 -0
  649. data/ext/gecode-2.2.0/test/int/sorted.cc +165 -0
  650. data/ext/gecode-2.2.0/test/int/unshare.cc +109 -0
  651. data/ext/gecode-2.2.0/test/search.cc +618 -0
  652. data/ext/gecode-2.2.0/test/set.cc +753 -0
  653. data/ext/gecode-2.2.0/test/set.hh +286 -0
  654. data/ext/gecode-2.2.0/test/set.icc +108 -0
  655. data/ext/gecode-2.2.0/test/set/convex.cc +139 -0
  656. data/ext/gecode-2.2.0/test/set/distinct.cc +116 -0
  657. data/ext/gecode-2.2.0/test/set/dom.cc +292 -0
  658. data/ext/gecode-2.2.0/test/set/int.cc +473 -0
  659. data/ext/gecode-2.2.0/test/set/projection.cc +436 -0
  660. data/ext/gecode-2.2.0/test/set/rel-op-const.cc +368 -0
  661. data/ext/gecode-2.2.0/test/set/rel-op.cc +465 -0
  662. data/ext/gecode-2.2.0/test/set/rel.cc +125 -0
  663. data/ext/gecode-2.2.0/test/set/select.cc +299 -0
  664. data/ext/gecode-2.2.0/test/set/sequence.cc +125 -0
  665. data/ext/gecode-2.2.0/test/test.cc +287 -0
  666. data/ext/gecode-2.2.0/test/test.hh +175 -0
  667. data/ext/gecode-2.2.0/test/test.icc +93 -0
  668. data/ext/{gecode-2.1.1 → gecode-2.2.0}/variables.vsl +0 -0
  669. data/lib/gecoder/bindings.rb +7 -5
  670. data/lib/gecoder/bindings/bindings.rb +8 -8
  671. data/lib/gecoder/interface.rb +4 -2
  672. data/lib/gecoder/interface/binding_changes.rb +1 -1
  673. data/lib/gecoder/interface/branch.rb +1 -1
  674. data/lib/gecoder/interface/constraints/bool_enum_constraints.rb +4 -4
  675. data/lib/gecoder/interface/constraints/bool_var_constraints.rb +2 -2
  676. data/lib/gecoder/interface/constraints/extensional_regexp.rb +1 -1
  677. data/lib/gecoder/interface/constraints/fixnum_enum_constraints.rb +2 -2
  678. data/lib/gecoder/interface/constraints/int_enum/extensional.rb +5 -5
  679. data/lib/gecoder/interface/constraints/int_enum_constraints.rb +4 -4
  680. data/lib/gecoder/interface/constraints/int_var_constraints.rb +2 -2
  681. data/lib/gecoder/interface/constraints/selected_set/select.rb +8 -8
  682. data/lib/gecoder/interface/constraints/set_enum/element.rb +79 -0
  683. data/lib/gecoder/interface/constraints/set_enum_constraints.rb +5 -5
  684. data/lib/gecoder/interface/constraints/set_var_constraints.rb +2 -2
  685. data/lib/gecoder/interface/convenience.rb +99 -0
  686. data/lib/gecoder/interface/enum_wrapper.rb +1 -1
  687. data/lib/gecoder/interface/mixin.rb +486 -0
  688. data/lib/gecoder/interface/search.rb +23 -22
  689. data/lib/gecoder/version.rb +1 -1
  690. data/specs/branch.rb +5 -3
  691. data/specs/constraints/bool/boolean.rb +3 -1
  692. data/specs/constraints/bool/linear.rb +3 -1
  693. data/specs/constraints/bool_enum/bool_enum_relation.rb +3 -1
  694. data/specs/constraints/bool_enum/channel.rb +3 -1
  695. data/specs/constraints/fixnum_enum/element.rb +3 -1
  696. data/specs/constraints/int/arithmetic.rb +3 -1
  697. data/specs/constraints/int/channel.rb +3 -1
  698. data/specs/constraints/int/linear.rb +3 -1
  699. data/specs/constraints/int/linear_properties.rb +3 -1
  700. data/specs/constraints/int_enum/arithmetic.rb +3 -1
  701. data/specs/constraints/int_enum/channel.rb +3 -1
  702. data/specs/constraints/int_enum/count.rb +3 -1
  703. data/specs/constraints/int_enum/distinct.rb +3 -1
  704. data/specs/constraints/int_enum/element.rb +3 -1
  705. data/specs/constraints/int_enum/sort.rb +3 -1
  706. data/specs/constraints/property_helper.rb +10 -10
  707. data/specs/constraints/reification_sugar.rb +3 -1
  708. data/specs/constraints/selected_set/select.rb +6 -5
  709. data/specs/constraints/selected_set/select_properties.rb +12 -10
  710. data/specs/constraints/set/channel.rb +3 -1
  711. data/specs/constraints/set/domain.rb +4 -4
  712. data/specs/constraints/set/relation.rb +4 -4
  713. data/specs/constraints/set_enum/channel.rb +3 -1
  714. data/specs/constraints/set_enum/distinct.rb +3 -1
  715. data/specs/constraints/set_enum/element.rb +77 -0
  716. data/specs/enum_wrapper.rb +1 -1
  717. data/specs/mixin.rb +78 -0
  718. data/specs/model.rb +5 -5
  719. data/specs/search.rb +20 -14
  720. data/specs/selected_set.rb +3 -3
  721. data/specs/set_elements.rb +2 -2
  722. data/tasks/distribution.rake +25 -4
  723. metadata +739 -602
  724. data/example/money.rb +0 -36
  725. data/ext/gecode-2.1.1/Makefile.dep +0 -7622
  726. data/ext/gecode-2.1.1/Makefile.in +0 -1568
  727. data/ext/gecode-2.1.1/changelog.in +0 -2459
  728. data/ext/gecode-2.1.1/configure +0 -11631
  729. data/ext/gecode-2.1.1/configure.ac +0 -249
  730. data/ext/gecode-2.1.1/configure.ac.in +0 -245
  731. data/ext/gecode-2.1.1/contribs/qecode/Doxyfile +0 -263
  732. data/ext/gecode-2.1.1/contribs/qecode/FirstFailValueHeuristic.cc +0 -82
  733. data/ext/gecode-2.1.1/contribs/qecode/FirstFailValueHeuristic.hh +0 -37
  734. data/ext/gecode-2.1.1/contribs/qecode/Makefile.in.in +0 -162
  735. data/ext/gecode-2.1.1/contribs/qecode/NaiveValueHeuristics.cc +0 -172
  736. data/ext/gecode-2.1.1/contribs/qecode/NaiveValueHeuristics.hh +0 -63
  737. data/ext/gecode-2.1.1/contribs/qecode/SDFVariableHeuristic.cc +0 -37
  738. data/ext/gecode-2.1.1/contribs/qecode/SDFVariableHeuristic.hh +0 -35
  739. data/ext/gecode-2.1.1/contribs/qecode/configure +0 -2264
  740. data/ext/gecode-2.1.1/contribs/qecode/configure.ac +0 -23
  741. data/ext/gecode-2.1.1/contribs/qecode/examples/COMPILING +0 -13
  742. data/ext/gecode-2.1.1/contribs/qecode/examples/MatrixGame.cpp +0 -144
  743. data/ext/gecode-2.1.1/contribs/qecode/examples/NimFibo.cpp +0 -73
  744. data/ext/gecode-2.1.1/contribs/qecode/examples/stress_test.cpp +0 -179
  745. data/ext/gecode-2.1.1/contribs/qecode/extensivecomparator.cc +0 -34
  746. data/ext/gecode-2.1.1/contribs/qecode/extensivecomparator.hh +0 -46
  747. data/ext/gecode-2.1.1/contribs/qecode/implicative.cc +0 -595
  748. data/ext/gecode-2.1.1/contribs/qecode/implicative.hh +0 -184
  749. data/ext/gecode-2.1.1/contribs/qecode/myspace.hh +0 -69
  750. data/ext/gecode-2.1.1/contribs/qecode/qecore.cc +0 -145
  751. data/ext/gecode-2.1.1/contribs/qecode/qecore.hh +0 -247
  752. data/ext/gecode-2.1.1/contribs/qecode/qsolver.cc +0 -168
  753. data/ext/gecode-2.1.1/contribs/qecode/qsolver.hh +0 -73
  754. data/ext/gecode-2.1.1/contribs/qecode/valueHeuristic.hh +0 -91
  755. data/ext/gecode-2.1.1/contribs/qecode/warner.cc +0 -101
  756. data/ext/gecode-2.1.1/contribs/qecode/warner.hh +0 -83
  757. data/ext/gecode-2.1.1/doxygen/doxygen.hh.in +0 -1111
  758. data/ext/gecode-2.1.1/doxygen/reflection.hh +0 -417
  759. data/ext/gecode-2.1.1/gecode.m4 +0 -956
  760. data/ext/gecode-2.1.1/gecode/cpltset.hh +0 -797
  761. data/ext/gecode-2.1.1/gecode/gist/analysiscursor.cc +0 -115
  762. data/ext/gecode-2.1.1/gecode/gist/analysiscursor.hh +0 -77
  763. data/ext/gecode-2.1.1/gecode/gist/drawingcursor.cc +0 -245
  764. data/ext/gecode-2.1.1/gecode/gist/drawingcursor.hh +0 -101
  765. data/ext/gecode-2.1.1/gecode/gist/gecodelogo.icc +0 -522
  766. data/ext/gecode-2.1.1/gecode/gist/mainwindow.cc +0 -254
  767. data/ext/gecode-2.1.1/gecode/gist/mainwindow.hh +0 -86
  768. data/ext/gecode-2.1.1/gecode/gist/node.cc +0 -100
  769. data/ext/gecode-2.1.1/gecode/gist/node.hh +0 -89
  770. data/ext/gecode-2.1.1/gecode/gist/nodecursor.cc +0 -124
  771. data/ext/gecode-2.1.1/gecode/gist/nodecursor.hh +0 -122
  772. data/ext/gecode-2.1.1/gecode/gist/nodecursor.icc +0 -79
  773. data/ext/gecode-2.1.1/gecode/gist/postscript.cc +0 -543
  774. data/ext/gecode-2.1.1/gecode/gist/postscript.hh +0 -56
  775. data/ext/gecode-2.1.1/gecode/gist/preferences.cc +0 -110
  776. data/ext/gecode-2.1.1/gecode/gist/preferences.hh +0 -76
  777. data/ext/gecode-2.1.1/gecode/gist/reflectionhelpers.cc +0 -55
  778. data/ext/gecode-2.1.1/gecode/gist/reflectionhelpers.hh +0 -58
  779. data/ext/gecode-2.1.1/gecode/gist/shapelist.cc +0 -331
  780. data/ext/gecode-2.1.1/gecode/gist/shapelist.hh +0 -140
  781. data/ext/gecode-2.1.1/gecode/gist/spacenode.cc +0 -531
  782. data/ext/gecode-2.1.1/gecode/gist/spacenode.hh +0 -224
  783. data/ext/gecode-2.1.1/gecode/gist/textoutput.cc +0 -114
  784. data/ext/gecode-2.1.1/gecode/gist/treecanvas.cc +0 -1140
  785. data/ext/gecode-2.1.1/gecode/gist/treecanvas.hh +0 -324
  786. data/ext/gecode-2.1.1/gecode/gist/ui_addvisualisationdialog.hh +0 -163
  787. data/ext/gecode-2.1.1/gecode/gist/visualisation/intvaritem.cc +0 -175
  788. data/ext/gecode-2.1.1/gecode/gist/visualisation/intvaritem.hh +0 -71
  789. data/ext/gecode-2.1.1/gecode/gist/visualisation/setvaritem.cc +0 -219
  790. data/ext/gecode-2.1.1/gecode/gist/visualisation/setvaritem.hh +0 -73
  791. data/ext/gecode-2.1.1/gecode/gist/visualisation/vararrayitem.hh +0 -123
  792. data/ext/gecode-2.1.1/gecode/gist/visualnode.cc +0 -303
  793. data/ext/gecode-2.1.1/gecode/gist/visualnode.hh +0 -166
  794. data/ext/gecode-2.1.1/gecode/int.hh +0 -2035
  795. data/ext/gecode-2.1.1/gecode/int/arithmetic.cc +0 -136
  796. data/ext/gecode-2.1.1/gecode/int/arithmetic.hh +0 -440
  797. data/ext/gecode-2.1.1/gecode/int/arithmetic/abs.icc +0 -279
  798. data/ext/gecode-2.1.1/gecode/int/arithmetic/max.icc +0 -253
  799. data/ext/gecode-2.1.1/gecode/int/arithmetic/mult.icc +0 -522
  800. data/ext/gecode-2.1.1/gecode/int/arithmetic/sqr.icc +0 -218
  801. data/ext/gecode-2.1.1/gecode/int/arithmetic/sqrt.icc +0 -138
  802. data/ext/gecode-2.1.1/gecode/int/bool.cc +0 -642
  803. data/ext/gecode-2.1.1/gecode/int/bool/or.icc +0 -1000
  804. data/ext/gecode-2.1.1/gecode/int/branch.cc +0 -301
  805. data/ext/gecode-2.1.1/gecode/int/branch.hh +0 -576
  806. data/ext/gecode-2.1.1/gecode/int/branch/select-val.icc +0 -338
  807. data/ext/gecode-2.1.1/gecode/int/channel.cc +0 -114
  808. data/ext/gecode-2.1.1/gecode/int/channel.hh +0 -259
  809. data/ext/gecode-2.1.1/gecode/int/channel/dom.icc +0 -347
  810. data/ext/gecode-2.1.1/gecode/int/channel/val.icc +0 -276
  811. data/ext/gecode-2.1.1/gecode/int/circuit.hh +0 -175
  812. data/ext/gecode-2.1.1/gecode/int/circuit/base.icc +0 -271
  813. data/ext/gecode-2.1.1/gecode/int/circuit/val.icc +0 -122
  814. data/ext/gecode-2.1.1/gecode/int/count.hh +0 -487
  815. data/ext/gecode-2.1.1/gecode/int/count/int.icc +0 -619
  816. data/ext/gecode-2.1.1/gecode/int/count/rel.icc +0 -144
  817. data/ext/gecode-2.1.1/gecode/int/count/view.icc +0 -449
  818. data/ext/gecode-2.1.1/gecode/int/cumulatives.hh +0 -141
  819. data/ext/gecode-2.1.1/gecode/int/cumulatives/val.icc +0 -429
  820. data/ext/gecode-2.1.1/gecode/int/distinct.hh +0 -341
  821. data/ext/gecode-2.1.1/gecode/int/distinct/dom.icc +0 -750
  822. data/ext/gecode-2.1.1/gecode/int/distinct/ter-dom.icc +0 -136
  823. data/ext/gecode-2.1.1/gecode/int/element.hh +0 -239
  824. data/ext/gecode-2.1.1/gecode/int/element/int.icc +0 -441
  825. data/ext/gecode-2.1.1/gecode/int/element/view.icc +0 -584
  826. data/ext/gecode-2.1.1/gecode/int/exception.icc +0 -163
  827. data/ext/gecode-2.1.1/gecode/int/extensional.hh +0 -415
  828. data/ext/gecode-2.1.1/gecode/int/extensional/dfa.cc +0 -565
  829. data/ext/gecode-2.1.1/gecode/int/extensional/tuple-set.cc +0 -311
  830. data/ext/gecode-2.1.1/gecode/int/gcc.hh +0 -329
  831. data/ext/gecode-2.1.1/gecode/int/gcc/bnd.icc +0 -660
  832. data/ext/gecode-2.1.1/gecode/int/gcc/dom.icc +0 -531
  833. data/ext/gecode-2.1.1/gecode/int/gcc/val.icc +0 -400
  834. data/ext/gecode-2.1.1/gecode/int/int-set.cc +0 -153
  835. data/ext/gecode-2.1.1/gecode/int/int-set.icc +0 -191
  836. data/ext/gecode-2.1.1/gecode/int/linear-bool.cc +0 -220
  837. data/ext/gecode-2.1.1/gecode/int/linear-int.cc +0 -240
  838. data/ext/gecode-2.1.1/gecode/int/linear.hh +0 -1849
  839. data/ext/gecode-2.1.1/gecode/int/linear/bool-post.cc +0 -433
  840. data/ext/gecode-2.1.1/gecode/int/linear/int-bin.icc +0 -605
  841. data/ext/gecode-2.1.1/gecode/int/linear/int-dom.icc +0 -539
  842. data/ext/gecode-2.1.1/gecode/int/linear/int-post.cc +0 -493
  843. data/ext/gecode-2.1.1/gecode/int/rel.cc +0 -431
  844. data/ext/gecode-2.1.1/gecode/int/rel.hh +0 -657
  845. data/ext/gecode-2.1.1/gecode/int/rel/eq.icc +0 -848
  846. data/ext/gecode-2.1.1/gecode/int/rel/lex.icc +0 -248
  847. data/ext/gecode-2.1.1/gecode/int/rel/nq.icc +0 -269
  848. data/ext/gecode-2.1.1/gecode/int/sorted.cc +0 -91
  849. data/ext/gecode-2.1.1/gecode/int/sorted.hh +0 -117
  850. data/ext/gecode-2.1.1/gecode/int/sorted/matching.icc +0 -182
  851. data/ext/gecode-2.1.1/gecode/int/sorted/narrowing.icc +0 -257
  852. data/ext/gecode-2.1.1/gecode/int/sorted/order.icc +0 -208
  853. data/ext/gecode-2.1.1/gecode/int/sorted/propagate.icc +0 -669
  854. data/ext/gecode-2.1.1/gecode/int/sorted/sortsup.icc +0 -596
  855. data/ext/gecode-2.1.1/gecode/int/var-imp.icc +0 -745
  856. data/ext/gecode-2.1.1/gecode/int/var-imp/bool.cc +0 -104
  857. data/ext/gecode-2.1.1/gecode/int/var-imp/int.cc +0 -407
  858. data/ext/gecode-2.1.1/gecode/int/var/bool.icc +0 -126
  859. data/ext/gecode-2.1.1/gecode/int/var/int.icc +0 -151
  860. data/ext/gecode-2.1.1/gecode/int/view.icc +0 -1894
  861. data/ext/gecode-2.1.1/gecode/iter.hh +0 -90
  862. data/ext/gecode-2.1.1/gecode/iter/values-minus.icc +0 -130
  863. data/ext/gecode-2.1.1/gecode/kernel.hh +0 -182
  864. data/ext/gecode-2.1.1/gecode/kernel/branching.icc +0 -447
  865. data/ext/gecode-2.1.1/gecode/kernel/core.cc +0 -473
  866. data/ext/gecode-2.1.1/gecode/kernel/core.icc +0 -2295
  867. data/ext/gecode-2.1.1/gecode/kernel/memory-manager.icc +0 -458
  868. data/ext/gecode-2.1.1/gecode/kernel/reflection.cc +0 -921
  869. data/ext/gecode-2.1.1/gecode/kernel/reflection.icc +0 -1012
  870. data/ext/gecode-2.1.1/gecode/kernel/var-imp.icc +0 -433
  871. data/ext/gecode-2.1.1/gecode/kernel/var-map.cc +0 -269
  872. data/ext/gecode-2.1.1/gecode/kernel/var-map.icc +0 -227
  873. data/ext/gecode-2.1.1/gecode/kernel/var-traits.icc +0 -72
  874. data/ext/gecode-2.1.1/gecode/kernel/var-type.icc +0 -915
  875. data/ext/gecode-2.1.1/gecode/kernel/var.icc +0 -120
  876. data/ext/gecode-2.1.1/gecode/kernel/view.icc +0 -611
  877. data/ext/gecode-2.1.1/gecode/minimodel.hh +0 -1165
  878. data/ext/gecode-2.1.1/gecode/minimodel/arithmetic.cc +0 -179
  879. data/ext/gecode-2.1.1/gecode/search.hh +0 -752
  880. data/ext/gecode-2.1.1/gecode/search/reco-stack.icc +0 -237
  881. data/ext/gecode-2.1.1/gecode/serialization.hh +0 -149
  882. data/ext/gecode-2.1.1/gecode/serialization/boost.cc +0 -78
  883. data/ext/gecode-2.1.1/gecode/serialization/javascript.cc +0 -340
  884. data/ext/gecode-2.1.1/gecode/serialization/register.cc +0 -8142
  885. data/ext/gecode-2.1.1/gecode/set.hh +0 -970
  886. data/ext/gecode-2.1.1/gecode/set/projectors.hh +0 -438
  887. data/ext/gecode-2.1.1/gecode/set/projectors/formula.cc +0 -312
  888. data/ext/gecode-2.1.1/gecode/set/rel-op/common.icc +0 -557
  889. data/ext/gecode-2.1.1/gecode/set/rel-op/inter.icc +0 -409
  890. data/ext/gecode-2.1.1/gecode/set/rel/re-subset.icc +0 -172
  891. data/ext/gecode-2.1.1/gecode/set/select.cc +0 -135
  892. data/ext/gecode-2.1.1/gecode/set/select.hh +0 -233
  893. data/ext/gecode-2.1.1/gecode/set/select/disjoint.cc +0 -308
  894. data/ext/gecode-2.1.1/gecode/set/select/disjoint.icc +0 -75
  895. data/ext/gecode-2.1.1/gecode/set/select/idxarray.hh +0 -113
  896. data/ext/gecode-2.1.1/gecode/set/select/idxarray.icc +0 -155
  897. data/ext/gecode-2.1.1/gecode/set/select/inter.icc +0 -349
  898. data/ext/gecode-2.1.1/gecode/set/select/union.icc +0 -371
  899. data/ext/gecode-2.1.1/gecode/set/select/unionConst.icc +0 -334
  900. data/ext/gecode-2.1.1/gecode/set/var-imp/set.cc +0 -214
  901. data/ext/gecode-2.1.1/gecode/set/var/set.icc +0 -303
  902. data/ext/gecode-2.1.1/gecode/set/view.icc +0 -1503
  903. data/ext/gecode-2.1.1/gecode/set/view/complement.icc +0 -629
  904. data/ext/gecode-2.1.1/gecode/support/block-allocator.icc +0 -158
  905. data/ext/gecode-2.1.1/gecode/support/config.icc.in +0 -80
  906. data/ext/gecode-2.1.1/gecode/support/sentinel-stack.icc +0 -122
  907. data/ext/gecode-2.1.1/gecode/support/symbol.cc +0 -226
  908. data/ext/gecode-2.1.1/gecode/support/symbol.icc +0 -130
  909. data/ext/gecode-2.1.1/misc/gecode-gist.pc.in +0 -45
  910. data/ext/gecode-2.1.1/misc/gecode-minimodel.pc.in +0 -45
  911. data/ext/gecode-2.1.1/misc/gecode-search.pc.in +0 -45
  912. data/ext/gecode-2.1.1/misc/gecode-serialization.pc.in +0 -45
  913. data/ext/gecode-2.1.1/misc/gecode.pc.in +0 -45
  914. data/ext/gecode-2.1.1/misc/genstatistics.perl +0 -178
  915. data/ext/gecode-2.1.1/misc/genvariables.perl +0 -905
  916. data/lib/gecoder/interface/constraints/set_enum/select.rb +0 -79
  917. data/lib/gecoder/interface/model.rb +0 -453
  918. data/lib/gecoder/interface/model_sugar.rb +0 -84
  919. data/specs/constraints/set_enum/select.rb +0 -73
@@ -0,0 +1,302 @@
1
+ /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Main authors:
4
+ * Christian Schulte <schulte@gecode.org>
5
+ *
6
+ * Copyright:
7
+ * Christian Schulte, 2008
8
+ *
9
+ * Last modified:
10
+ * $Date: 2008-07-11 09:36:08 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
11
+ * $Revision: 7294 $
12
+ *
13
+ * This file is part of Gecode, the generic constraint
14
+ * development environment:
15
+ * http://www.gecode.org
16
+ *
17
+ * Permission is hereby granted, free of charge, to any person obtaining
18
+ * a copy of this software and associated documentation files (the
19
+ * "Software"), to deal in the Software without restriction, including
20
+ * without limitation the rights to use, copy, modify, merge, publish,
21
+ * distribute, sublicense, and/or sell copies of the Software, and to
22
+ * permit persons to whom the Software is furnished to do so, subject to
23
+ * the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be
26
+ * included in all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+ *
36
+ */
37
+
38
+ #include "test/int.hh"
39
+
40
+ #include "gecode/minimodel.hh"
41
+
42
+ namespace Test { namespace Int {
43
+
44
+ /// Tests for minimal modelling constraints (arithmetic)
45
+ namespace MiniModelArithmetic {
46
+
47
+ /**
48
+ * \defgroup TaskTestIntMiniModelArithmetic Minimal modelling constraints (arithmetic)
49
+ * \ingroup TaskTestInt
50
+ */
51
+ //@{
52
+ /// Test for multiplication constraint
53
+ class Mult : public Test {
54
+ public:
55
+ /// Create and register test
56
+ Mult(const std::string& s, const Gecode::IntSet& d)
57
+ : Test("MiniModel::Mult::"+s,3,d) {}
58
+ /// Test whether \a x is solution
59
+ virtual bool solution(const Assignment& x) const {
60
+ double d0 = static_cast<double>(x[0]);
61
+ double d1 = static_cast<double>(x[1]);
62
+ double d2 = static_cast<double>(x[2]);
63
+ return d0*d1 == d2;
64
+ }
65
+ /// Post constraint on \a x
66
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
67
+ using namespace Gecode;
68
+ rel(home, mult(home, x[0], x[1]), IRT_EQ, x[2], ICL_DOM);
69
+ }
70
+ };
71
+
72
+ /// Test for addition constraint
73
+ class Plus : public Test {
74
+ public:
75
+ /// Create and register test
76
+ Plus(const std::string& s, const Gecode::IntSet& d)
77
+ : Test("MiniModel::Plus::"+s,3,d) {}
78
+ /// Test whether \a x is solution
79
+ virtual bool solution(const Assignment& x) const {
80
+ double d0 = static_cast<double>(x[0]);
81
+ double d1 = static_cast<double>(x[1]);
82
+ double d2 = static_cast<double>(x[2]);
83
+ return ((d0+d1 >= Gecode::Int::Limits::min) &&
84
+ (d0+d1 <= Gecode::Int::Limits::max) &&
85
+ (d0+d1 == d2));
86
+ }
87
+ /// Post constraint on \a x
88
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
89
+ using namespace Gecode;
90
+ rel(home, plus(home, x[0], x[1]), IRT_EQ, x[2], ICL_DOM);
91
+ }
92
+ };
93
+
94
+ /// Test for subtraction constraint
95
+ class Minus : public Test {
96
+ public:
97
+ /// Create and register test
98
+ Minus(const std::string& s, const Gecode::IntSet& d)
99
+ : Test("MiniModel::Minus::"+s,3,d) {}
100
+ /// Test whether \a x is solution
101
+ virtual bool solution(const Assignment& x) const {
102
+ double d0 = static_cast<double>(x[0]);
103
+ double d1 = static_cast<double>(x[1]);
104
+ double d2 = static_cast<double>(x[2]);
105
+ return ((d0-d1 >= Gecode::Int::Limits::min) &&
106
+ (d0-d1 <= Gecode::Int::Limits::max) &&
107
+ (d0-d1 == d2));
108
+ }
109
+ /// Post constraint on \a x
110
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
111
+ using namespace Gecode;
112
+ rel(home, minus(home, x[0], x[1]), IRT_EQ, x[2], ICL_DOM);
113
+ }
114
+ };
115
+
116
+ /// Test for sqr constraint
117
+ class Sqr : public Test {
118
+ public:
119
+ /// Create and register test
120
+ Sqr(const std::string& s, const Gecode::IntSet& d)
121
+ : Test("MiniModel::Sqr::"+s,2,d) {}
122
+ /// Test whether \a x is solution
123
+ virtual bool solution(const Assignment& x) const {
124
+ double d0 = static_cast<double>(x[0]);
125
+ double d1 = static_cast<double>(x[1]);
126
+ return d0*d0 == d1;
127
+ }
128
+ /// Post constraint on \a x
129
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
130
+ using namespace Gecode;
131
+ rel(home, sqr(home, x[0]), IRT_EQ, x[1], ICL_DOM);
132
+ }
133
+ };
134
+
135
+ /// Test for sqrt constraint
136
+ class Sqrt : public Test {
137
+ public:
138
+ /// Create and register test
139
+ Sqrt(const std::string& s, const Gecode::IntSet& d)
140
+ : Test("MiniModel::Sqrt::"+s,2,d) {}
141
+ /// Test whether \a x is solution
142
+ virtual bool solution(const Assignment& x) const {
143
+ double d0 = static_cast<double>(x[0]);
144
+ double d1 = static_cast<double>(x[1]);
145
+ return (d0 >= 0) && (d0 >= d1*d1) && (d0 < (d1+1)*(d1+1));
146
+ }
147
+ /// Post constraint on \a x
148
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
149
+ using namespace Gecode;
150
+ rel(home, sqrt(home,x[0]), IRT_EQ, x[1], ICL_DOM);
151
+ }
152
+ };
153
+
154
+ /// Test for absolute value constraint
155
+ class Abs : public Test {
156
+ public:
157
+ /// Create and register test
158
+ Abs(const std::string& s, const Gecode::IntSet& d, Gecode::IntConLevel icl)
159
+ : Test("MiniModel::Abs::"+str(icl)+"::"+s,
160
+ 2,d,false,icl) {}
161
+ /// Test whether \a x is solution
162
+ virtual bool solution(const Assignment& x) const {
163
+ double d0 = static_cast<double>(x[0]);
164
+ double d1 = static_cast<double>(x[1]);
165
+ return (d0<0.0 ? -d0 : d0) == d1;
166
+ }
167
+ /// Post constraint on \a x
168
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
169
+ using namespace Gecode;
170
+ rel(home, abs(home, x[0], icl), IRT_EQ, x[1], ICL_DOM);
171
+ }
172
+ };
173
+
174
+ /// Test for binary minimum constraint
175
+ class Min : public Test {
176
+ public:
177
+ /// Create and register test
178
+ Min(const std::string& s, const Gecode::IntSet& d)
179
+ : Test("MiniModel::Min::Bin::"+s,3,d) {}
180
+ /// Test whether \a x is solution
181
+ virtual bool solution(const Assignment& x) const {
182
+ return std::min(x[0],x[1]) == x[2];
183
+ }
184
+ /// Post constraint on \a x
185
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
186
+ using namespace Gecode;
187
+ rel(home, min(home, x[0], x[1]), IRT_EQ, x[2], ICL_DOM);
188
+ }
189
+ };
190
+
191
+ /// Test for binary maximum constraint
192
+ class Max : public Test {
193
+ public:
194
+ /// Create and register test
195
+ Max(const std::string& s, const Gecode::IntSet& d)
196
+ : Test("MiniModel::Max::Bin::"+s,3,d) {}
197
+ /// Test whether \a x is solution
198
+ virtual bool solution(const Assignment& x) const {
199
+ return std::max(x[0],x[1]) == x[2];
200
+ }
201
+ /// Post constraint on \a x
202
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
203
+ using namespace Gecode;
204
+ rel(home, max(home, x[0], x[1]), IRT_EQ, x[2], ICL_DOM);
205
+ }
206
+ };
207
+
208
+ /// Test for n-ary minimmum constraint
209
+ class MinNary : public Test {
210
+ public:
211
+ /// Create and register test
212
+ MinNary(void) : Test("MiniModel::Min::Nary",4,-4,4) {}
213
+ /// Test whether \a x is solution
214
+ virtual bool solution(const Assignment& x) const {
215
+ return std::min(std::min(x[0],x[1]), x[2]) == x[3];
216
+ }
217
+ /// Post constraint on \a x
218
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
219
+ using namespace Gecode;
220
+ IntVarArgs m(3);
221
+ m[0]=x[0]; m[1]=x[1]; m[2]=x[2];
222
+ rel(home, min(home, m), IRT_EQ, x[3], ICL_DOM);
223
+ }
224
+ };
225
+
226
+ /// Test for n-ary maximum constraint
227
+ class MaxNary : public Test {
228
+ public:
229
+ /// Create and register test
230
+ MaxNary(void) : Test("MiniModel::Max::Nary",4,-4,4) {}
231
+ /// Test whether \a x is solution
232
+ virtual bool solution(const Assignment& x) const {
233
+ return std::max(std::max(x[0],x[1]), x[2]) == x[3];
234
+ }
235
+ /// Post constraint on \a x
236
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
237
+ using namespace Gecode;
238
+ IntVarArgs m(3);
239
+ m[0]=x[0]; m[1]=x[1]; m[2]=x[2];
240
+ rel(home, max(home, m), IRT_EQ, x[3], ICL_DOM);
241
+ }
242
+ };
243
+
244
+ const int v1[7] = {
245
+ Gecode::Int::Limits::min, Gecode::Int::Limits::min+1,
246
+ -1,0,1,
247
+ Gecode::Int::Limits::max-1, Gecode::Int::Limits::max
248
+ };
249
+ const int v2[9] = {
250
+ static_cast<int>(-sqrt(static_cast<double>(-Gecode::Int::Limits::min))),
251
+ -4,-2,-1,0,1,2,4,
252
+ static_cast<int>(sqrt(static_cast<double>(Gecode::Int::Limits::max)))
253
+ };
254
+
255
+ Gecode::IntSet d1(v1,7);
256
+ Gecode::IntSet d2(v2,9);
257
+ Gecode::IntSet d3(-8,8);
258
+
259
+ Mult mult_max("A",d1);
260
+ Mult mult_med("B",d2);
261
+ Mult mult_min("C",d3);
262
+
263
+ Plus plus_max("A",d1);
264
+ Plus plus_med("B",d2);
265
+ Plus plus_min("C",d3);
266
+
267
+ Minus minus_max("A",d1);
268
+ Minus minus_med("B",d2);
269
+ Minus minus_min("C",d3);
270
+
271
+ Sqr sqr_max("A",d1);
272
+ Sqr sqr_med("B",d2);
273
+ Sqr sqr_min("C",d3);
274
+
275
+ Sqrt sqrt_max("A",d1);
276
+ Sqrt sqrt_med("B",d2);
277
+ Sqrt sqrt_min("C",d3);
278
+
279
+ Abs abs_bnd_max("A",d1,Gecode::ICL_BND);
280
+ Abs abs_bnd_med("B",d2,Gecode::ICL_BND);
281
+ Abs abs_bnd_min("C",d3,Gecode::ICL_BND);
282
+ Abs abs_dom_max("A",d1,Gecode::ICL_DOM);
283
+ Abs abs_dom_med("B",d2,Gecode::ICL_DOM);
284
+ Abs abs_dom_min("C",d3,Gecode::ICL_DOM);
285
+
286
+ Min min_max("A",d1);
287
+ Min min_med("B",d2);
288
+ Min min_min("C",d3);
289
+
290
+ Max max_max("A",d1);
291
+ Max max_med("B",d2);
292
+ Max max_min("C",d3);
293
+
294
+ MinNary min_nary;
295
+ MaxNary max_nary;
296
+
297
+ //@}
298
+ }
299
+
300
+ }}
301
+
302
+ // STATISTICS: test-minimodel
@@ -0,0 +1,4342 @@
1
+ /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Main authors:
4
+ * Christian Schulte <schulte@gecode.org>
5
+ *
6
+ * Copyright:
7
+ * Christian Schulte, 2008
8
+ *
9
+ * Last modified:
10
+ * $Date: 2008-02-29 01:09:17 +0100 (Fri, 29 Feb 2008) $ by $Author: schulte $
11
+ * $Revision: 6355 $
12
+ *
13
+ * This file is part of Gecode, the generic constraint
14
+ * development environment:
15
+ * http://www.gecode.org
16
+ *
17
+ * Permission is hereby granted, free of charge, to any person obtaining
18
+ * a copy of this software and associated documentation files (the
19
+ * "Software"), to deal in the Software without restriction, including
20
+ * without limitation the rights to use, copy, modify, merge, publish,
21
+ * distribute, sublicense, and/or sell copies of the Software, and to
22
+ * permit persons to whom the Software is furnished to do so, subject to
23
+ * the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be
26
+ * included in all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+ *
36
+ */
37
+
38
+ #include "test/int.hh"
39
+
40
+ #include "gecode/minimodel.hh"
41
+
42
+ namespace Test { namespace Int {
43
+
44
+ /// Tests for minimal modelling constraints (Boolean)
45
+ namespace MiniModelBoolean {
46
+
47
+ /// Boolean opcode
48
+ enum BoolOpcode {
49
+ BO_NOT, ///< Negation
50
+ BO_AND, ///< Conjunction
51
+ BO_OR, ///< Disjunction
52
+ BO_IMP, ///< Implication
53
+ BO_XOR, ///< Exclusive or
54
+ BO_EQV, ///< Equivalence
55
+ BO_HLT ///< Stop execution
56
+ };
57
+
58
+ /// Type for representing a Boolean instruction
59
+ class BoolInstr {
60
+ public:
61
+ BoolOpcode o; ///< Which instruction to execute
62
+ unsigned char x, y, z; ///< Instruction arguments, \a z is destination (or \a y for negation)
63
+ };
64
+
65
+ /// Executes Boolean instruction for evaluation (checking)
66
+ int
67
+ eval(const BoolInstr* pc, int reg[]) {
68
+ while (true) {
69
+ switch (pc->o) {
70
+ case BO_NOT: reg[pc->y] = !reg[pc->x]; break;
71
+ case BO_AND: reg[pc->z] = reg[pc->x] & reg[pc->y]; break;
72
+ case BO_OR: reg[pc->z] = reg[pc->x] | reg[pc->y]; break;
73
+ case BO_IMP: reg[pc->z] = !reg[pc->x] | reg[pc->y]; break;
74
+ case BO_XOR: reg[pc->z] = reg[pc->x] ^ reg[pc->y]; break;
75
+ case BO_EQV: reg[pc->z] = reg[pc->x] == reg[pc->y]; break;
76
+ case BO_HLT: return reg[pc->x];
77
+ default: GECODE_NEVER;
78
+ }
79
+ pc++;
80
+ }
81
+ GECODE_NEVER;
82
+ }
83
+
84
+ /// Executes Boolean instruction for constructing Boolean expressions
85
+ Gecode::MiniModel::BoolExpr
86
+ eval(const BoolInstr* pc, Gecode::MiniModel::BoolExpr reg[]) {
87
+ using namespace Gecode;
88
+ while (true) {
89
+ switch (pc->o) {
90
+ case BO_NOT: reg[pc->y] = !reg[pc->x]; break;
91
+ case BO_AND: reg[pc->z] = reg[pc->x] && reg[pc->y]; break;
92
+ case BO_OR: reg[pc->z] = reg[pc->x] || reg[pc->y]; break;
93
+ case BO_IMP: reg[pc->z] = imp(reg[pc->x],reg[pc->y]); break;
94
+ case BO_XOR: reg[pc->z] = reg[pc->x] ^ reg[pc->y]; break;
95
+ case BO_EQV: reg[pc->z] = eqv(reg[pc->x],reg[pc->y]); break;
96
+ case BO_HLT: return reg[pc->x];
97
+ default: GECODE_NEVER;
98
+ }
99
+ pc++;
100
+ }
101
+ GECODE_NEVER;
102
+ }
103
+
104
+ /**
105
+ * \defgroup TaskTestIntMiniModelBool Minimal modelling constraints (Boolean constraints)
106
+ * \ingroup TaskTestInt
107
+ */
108
+ //@{
109
+ /// Test Boolean expressions with integer result
110
+ class BoolExprInt : public Test {
111
+ protected:
112
+ /// Boolean instruction sequence
113
+ const BoolInstr* bis;
114
+ /// Result of expression
115
+ int c;
116
+ public:
117
+ /// Create and register test
118
+ BoolExprInt(const BoolInstr* bis0, const std::string& s, int c0)
119
+ : Test("MiniModel::BoolExpr::Int::"+s+"::"+str(c0),4,0,1),
120
+ bis(bis0), c(c0) {}
121
+ /// Test whether \a x is solution
122
+ virtual bool solution(const Assignment& x) const {
123
+ int reg[4] = {x[0],x[1],x[2],x[3]};
124
+ return eval(bis, reg) == c;
125
+ }
126
+ /// Post constraint on \a x
127
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
128
+ using namespace Gecode;
129
+ Gecode::MiniModel::BoolExpr reg[4] = {
130
+ channel(home,x[0]),channel(home,x[1]),
131
+ channel(home,x[2]),channel(home,x[3])
132
+ };
133
+ if (c == 0)
134
+ Gecode::post(home, ff(eval(bis,reg)));
135
+ else
136
+ Gecode::post(home, tt(eval(bis,reg)));
137
+ }
138
+ };
139
+
140
+ /// Test posting Boolean expressions
141
+ class BoolExprVar : public Test {
142
+ protected:
143
+ /// Boolean instruction sequence
144
+ const BoolInstr* bis;
145
+ public:
146
+ /// Create and register test
147
+ BoolExprVar(const BoolInstr* bis0, const std::string& s)
148
+ : Test("MiniModel::BoolExpr::Var::"+s,5,0,1), bis(bis0) {}
149
+ /// Test whether \a x is solution
150
+ virtual bool solution(const Assignment& x) const {
151
+ int reg[4] = {x[0],x[1],x[2],x[3]};
152
+ return eval(bis, reg) == x[4];
153
+ }
154
+ /// Post constraint on \a x
155
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
156
+ using namespace Gecode;
157
+ Gecode::MiniModel::BoolExpr reg[4] = {
158
+ channel(home,x[0]),channel(home,x[1]),
159
+ channel(home,x[2]),channel(home,x[3])
160
+ };
161
+ rel(home, Gecode::post(home, eval(bis,reg)), IRT_EQ,
162
+ channel(home,x[4]));
163
+ }
164
+ };
165
+
166
+ const BoolInstr bi000[] = {
167
+ {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
168
+ {BO_HLT,0,0,0}
169
+ };
170
+ const BoolInstr bi001[] = {
171
+ {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
172
+ {BO_HLT,0,0,0}
173
+ };
174
+ const BoolInstr bi002[] = {
175
+ {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
176
+ {BO_HLT,0,0,0}
177
+ };
178
+ const BoolInstr bi003[] = {
179
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
180
+ {BO_AND,0,1,0},
181
+ {BO_HLT,0,0,0}
182
+ };
183
+ const BoolInstr bi004[] = {
184
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
185
+ {BO_AND,2,3,1},{BO_AND,0,1,0},
186
+ {BO_HLT,0,0,0}
187
+ };
188
+ const BoolInstr bi005[] = {
189
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
190
+ {BO_AND,0,1,0},
191
+ {BO_HLT,0,0,0}
192
+ };
193
+ const BoolInstr bi006[] = {
194
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
195
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
196
+ {BO_HLT,0,0,0}
197
+ };
198
+ const BoolInstr bi007[] = {
199
+ {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
200
+ {BO_HLT,0,0,0}
201
+ };
202
+ const BoolInstr bi008[] = {
203
+ {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
204
+ {BO_HLT,0,0,0}
205
+ };
206
+ const BoolInstr bi009[] = {
207
+ {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
208
+ {BO_HLT,0,0,0}
209
+ };
210
+ const BoolInstr bi010[] = {
211
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
212
+ {BO_OR ,0,1,0},
213
+ {BO_HLT,0,0,0}
214
+ };
215
+ const BoolInstr bi011[] = {
216
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
217
+ {BO_AND,2,3,1},{BO_OR ,0,1,0},
218
+ {BO_HLT,0,0,0}
219
+ };
220
+ const BoolInstr bi012[] = {
221
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
222
+ {BO_OR ,0,1,0},
223
+ {BO_HLT,0,0,0}
224
+ };
225
+ const BoolInstr bi013[] = {
226
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
227
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
228
+ {BO_HLT,0,0,0}
229
+ };
230
+ const BoolInstr bi014[] = {
231
+ {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
232
+ {BO_HLT,0,0,0}
233
+ };
234
+ const BoolInstr bi015[] = {
235
+ {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
236
+ {BO_HLT,0,0,0}
237
+ };
238
+ const BoolInstr bi016[] = {
239
+ {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
240
+ {BO_HLT,0,0,0}
241
+ };
242
+ const BoolInstr bi017[] = {
243
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
244
+ {BO_IMP,0,1,0},
245
+ {BO_HLT,0,0,0}
246
+ };
247
+ const BoolInstr bi018[] = {
248
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
249
+ {BO_AND,2,3,1},{BO_IMP,0,1,0},
250
+ {BO_HLT,0,0,0}
251
+ };
252
+ const BoolInstr bi019[] = {
253
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
254
+ {BO_IMP,0,1,0},
255
+ {BO_HLT,0,0,0}
256
+ };
257
+ const BoolInstr bi020[] = {
258
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
259
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
260
+ {BO_HLT,0,0,0}
261
+ };
262
+ const BoolInstr bi021[] = {
263
+ {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
264
+ {BO_HLT,0,0,0}
265
+ };
266
+ const BoolInstr bi022[] = {
267
+ {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
268
+ {BO_HLT,0,0,0}
269
+ };
270
+ const BoolInstr bi023[] = {
271
+ {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
272
+ {BO_HLT,0,0,0}
273
+ };
274
+ const BoolInstr bi024[] = {
275
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
276
+ {BO_XOR,0,1,0},
277
+ {BO_HLT,0,0,0}
278
+ };
279
+ const BoolInstr bi025[] = {
280
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
281
+ {BO_AND,2,3,1},{BO_XOR,0,1,0},
282
+ {BO_HLT,0,0,0}
283
+ };
284
+ const BoolInstr bi026[] = {
285
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
286
+ {BO_XOR,0,1,0},
287
+ {BO_HLT,0,0,0}
288
+ };
289
+ const BoolInstr bi027[] = {
290
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
291
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
292
+ {BO_HLT,0,0,0}
293
+ };
294
+ const BoolInstr bi028[] = {
295
+ {BO_AND,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
296
+ {BO_HLT,0,0,0}
297
+ };
298
+ const BoolInstr bi029[] = {
299
+ {BO_AND,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
300
+ {BO_HLT,0,0,0}
301
+ };
302
+ const BoolInstr bi030[] = {
303
+ {BO_AND,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
304
+ {BO_HLT,0,0,0}
305
+ };
306
+ const BoolInstr bi031[] = {
307
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_AND,2,3,1},
308
+ {BO_EQV,0,1,0},
309
+ {BO_HLT,0,0,0}
310
+ };
311
+ const BoolInstr bi032[] = {
312
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
313
+ {BO_AND,2,3,1},{BO_EQV,0,1,0},
314
+ {BO_HLT,0,0,0}
315
+ };
316
+ const BoolInstr bi033[] = {
317
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
318
+ {BO_EQV,0,1,0},
319
+ {BO_HLT,0,0,0}
320
+ };
321
+ const BoolInstr bi034[] = {
322
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
323
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
324
+ {BO_HLT,0,0,0}
325
+ };
326
+ const BoolInstr bi035[] = {
327
+ {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
328
+ {BO_HLT,0,0,0}
329
+ };
330
+ const BoolInstr bi036[] = {
331
+ {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
332
+ {BO_HLT,0,0,0}
333
+ };
334
+ const BoolInstr bi037[] = {
335
+ {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
336
+ {BO_HLT,0,0,0}
337
+ };
338
+ const BoolInstr bi038[] = {
339
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
340
+ {BO_AND,0,1,0},
341
+ {BO_HLT,0,0,0}
342
+ };
343
+ const BoolInstr bi039[] = {
344
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
345
+ {BO_OR ,2,3,1},{BO_AND,0,1,0},
346
+ {BO_HLT,0,0,0}
347
+ };
348
+ const BoolInstr bi040[] = {
349
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
350
+ {BO_AND,0,1,0},
351
+ {BO_HLT,0,0,0}
352
+ };
353
+ const BoolInstr bi041[] = {
354
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
355
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
356
+ {BO_HLT,0,0,0}
357
+ };
358
+ const BoolInstr bi042[] = {
359
+ {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
360
+ {BO_HLT,0,0,0}
361
+ };
362
+ const BoolInstr bi043[] = {
363
+ {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
364
+ {BO_HLT,0,0,0}
365
+ };
366
+ const BoolInstr bi044[] = {
367
+ {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
368
+ {BO_HLT,0,0,0}
369
+ };
370
+ const BoolInstr bi045[] = {
371
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
372
+ {BO_OR ,0,1,0},
373
+ {BO_HLT,0,0,0}
374
+ };
375
+ const BoolInstr bi046[] = {
376
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
377
+ {BO_OR ,2,3,1},{BO_OR ,0,1,0},
378
+ {BO_HLT,0,0,0}
379
+ };
380
+ const BoolInstr bi047[] = {
381
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
382
+ {BO_OR ,0,1,0},
383
+ {BO_HLT,0,0,0}
384
+ };
385
+ const BoolInstr bi048[] = {
386
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
387
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
388
+ {BO_HLT,0,0,0}
389
+ };
390
+ const BoolInstr bi049[] = {
391
+ {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
392
+ {BO_HLT,0,0,0}
393
+ };
394
+ const BoolInstr bi050[] = {
395
+ {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
396
+ {BO_HLT,0,0,0}
397
+ };
398
+ const BoolInstr bi051[] = {
399
+ {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
400
+ {BO_HLT,0,0,0}
401
+ };
402
+ const BoolInstr bi052[] = {
403
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
404
+ {BO_IMP,0,1,0},
405
+ {BO_HLT,0,0,0}
406
+ };
407
+ const BoolInstr bi053[] = {
408
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
409
+ {BO_OR ,2,3,1},{BO_IMP,0,1,0},
410
+ {BO_HLT,0,0,0}
411
+ };
412
+ const BoolInstr bi054[] = {
413
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
414
+ {BO_IMP,0,1,0},
415
+ {BO_HLT,0,0,0}
416
+ };
417
+ const BoolInstr bi055[] = {
418
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
419
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
420
+ {BO_HLT,0,0,0}
421
+ };
422
+ const BoolInstr bi056[] = {
423
+ {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
424
+ {BO_HLT,0,0,0}
425
+ };
426
+ const BoolInstr bi057[] = {
427
+ {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
428
+ {BO_HLT,0,0,0}
429
+ };
430
+ const BoolInstr bi058[] = {
431
+ {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
432
+ {BO_HLT,0,0,0}
433
+ };
434
+ const BoolInstr bi059[] = {
435
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
436
+ {BO_XOR,0,1,0},
437
+ {BO_HLT,0,0,0}
438
+ };
439
+ const BoolInstr bi060[] = {
440
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
441
+ {BO_OR ,2,3,1},{BO_XOR,0,1,0},
442
+ {BO_HLT,0,0,0}
443
+ };
444
+ const BoolInstr bi061[] = {
445
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
446
+ {BO_XOR,0,1,0},
447
+ {BO_HLT,0,0,0}
448
+ };
449
+ const BoolInstr bi062[] = {
450
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
451
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
452
+ {BO_HLT,0,0,0}
453
+ };
454
+ const BoolInstr bi063[] = {
455
+ {BO_AND,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
456
+ {BO_HLT,0,0,0}
457
+ };
458
+ const BoolInstr bi064[] = {
459
+ {BO_AND,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
460
+ {BO_HLT,0,0,0}
461
+ };
462
+ const BoolInstr bi065[] = {
463
+ {BO_AND,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
464
+ {BO_HLT,0,0,0}
465
+ };
466
+ const BoolInstr bi066[] = {
467
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_OR ,2,3,1},
468
+ {BO_EQV,0,1,0},
469
+ {BO_HLT,0,0,0}
470
+ };
471
+ const BoolInstr bi067[] = {
472
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
473
+ {BO_OR ,2,3,1},{BO_EQV,0,1,0},
474
+ {BO_HLT,0,0,0}
475
+ };
476
+ const BoolInstr bi068[] = {
477
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
478
+ {BO_EQV,0,1,0},
479
+ {BO_HLT,0,0,0}
480
+ };
481
+ const BoolInstr bi069[] = {
482
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
483
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
484
+ {BO_HLT,0,0,0}
485
+ };
486
+ const BoolInstr bi070[] = {
487
+ {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
488
+ {BO_HLT,0,0,0}
489
+ };
490
+ const BoolInstr bi071[] = {
491
+ {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
492
+ {BO_HLT,0,0,0}
493
+ };
494
+ const BoolInstr bi072[] = {
495
+ {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
496
+ {BO_HLT,0,0,0}
497
+ };
498
+ const BoolInstr bi073[] = {
499
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
500
+ {BO_AND,0,1,0},
501
+ {BO_HLT,0,0,0}
502
+ };
503
+ const BoolInstr bi074[] = {
504
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
505
+ {BO_IMP,2,3,1},{BO_AND,0,1,0},
506
+ {BO_HLT,0,0,0}
507
+ };
508
+ const BoolInstr bi075[] = {
509
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
510
+ {BO_AND,0,1,0},
511
+ {BO_HLT,0,0,0}
512
+ };
513
+ const BoolInstr bi076[] = {
514
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
515
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
516
+ {BO_HLT,0,0,0}
517
+ };
518
+ const BoolInstr bi077[] = {
519
+ {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
520
+ {BO_HLT,0,0,0}
521
+ };
522
+ const BoolInstr bi078[] = {
523
+ {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
524
+ {BO_HLT,0,0,0}
525
+ };
526
+ const BoolInstr bi079[] = {
527
+ {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
528
+ {BO_HLT,0,0,0}
529
+ };
530
+ const BoolInstr bi080[] = {
531
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
532
+ {BO_OR ,0,1,0},
533
+ {BO_HLT,0,0,0}
534
+ };
535
+ const BoolInstr bi081[] = {
536
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
537
+ {BO_IMP,2,3,1},{BO_OR ,0,1,0},
538
+ {BO_HLT,0,0,0}
539
+ };
540
+ const BoolInstr bi082[] = {
541
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
542
+ {BO_OR ,0,1,0},
543
+ {BO_HLT,0,0,0}
544
+ };
545
+ const BoolInstr bi083[] = {
546
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
547
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
548
+ {BO_HLT,0,0,0}
549
+ };
550
+ const BoolInstr bi084[] = {
551
+ {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
552
+ {BO_HLT,0,0,0}
553
+ };
554
+ const BoolInstr bi085[] = {
555
+ {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
556
+ {BO_HLT,0,0,0}
557
+ };
558
+ const BoolInstr bi086[] = {
559
+ {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
560
+ {BO_HLT,0,0,0}
561
+ };
562
+ const BoolInstr bi087[] = {
563
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
564
+ {BO_IMP,0,1,0},
565
+ {BO_HLT,0,0,0}
566
+ };
567
+ const BoolInstr bi088[] = {
568
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
569
+ {BO_IMP,2,3,1},{BO_IMP,0,1,0},
570
+ {BO_HLT,0,0,0}
571
+ };
572
+ const BoolInstr bi089[] = {
573
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
574
+ {BO_IMP,0,1,0},
575
+ {BO_HLT,0,0,0}
576
+ };
577
+ const BoolInstr bi090[] = {
578
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
579
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
580
+ {BO_HLT,0,0,0}
581
+ };
582
+ const BoolInstr bi091[] = {
583
+ {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
584
+ {BO_HLT,0,0,0}
585
+ };
586
+ const BoolInstr bi092[] = {
587
+ {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
588
+ {BO_HLT,0,0,0}
589
+ };
590
+ const BoolInstr bi093[] = {
591
+ {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
592
+ {BO_HLT,0,0,0}
593
+ };
594
+ const BoolInstr bi094[] = {
595
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
596
+ {BO_XOR,0,1,0},
597
+ {BO_HLT,0,0,0}
598
+ };
599
+ const BoolInstr bi095[] = {
600
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
601
+ {BO_IMP,2,3,1},{BO_XOR,0,1,0},
602
+ {BO_HLT,0,0,0}
603
+ };
604
+ const BoolInstr bi096[] = {
605
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
606
+ {BO_XOR,0,1,0},
607
+ {BO_HLT,0,0,0}
608
+ };
609
+ const BoolInstr bi097[] = {
610
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
611
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
612
+ {BO_HLT,0,0,0}
613
+ };
614
+ const BoolInstr bi098[] = {
615
+ {BO_AND,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
616
+ {BO_HLT,0,0,0}
617
+ };
618
+ const BoolInstr bi099[] = {
619
+ {BO_AND,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
620
+ {BO_HLT,0,0,0}
621
+ };
622
+ const BoolInstr bi100[] = {
623
+ {BO_AND,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
624
+ {BO_HLT,0,0,0}
625
+ };
626
+ const BoolInstr bi101[] = {
627
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_IMP,2,3,1},
628
+ {BO_EQV,0,1,0},
629
+ {BO_HLT,0,0,0}
630
+ };
631
+ const BoolInstr bi102[] = {
632
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
633
+ {BO_IMP,2,3,1},{BO_EQV,0,1,0},
634
+ {BO_HLT,0,0,0}
635
+ };
636
+ const BoolInstr bi103[] = {
637
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
638
+ {BO_EQV,0,1,0},
639
+ {BO_HLT,0,0,0}
640
+ };
641
+ const BoolInstr bi104[] = {
642
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
643
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
644
+ {BO_HLT,0,0,0}
645
+ };
646
+ const BoolInstr bi105[] = {
647
+ {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
648
+ {BO_HLT,0,0,0}
649
+ };
650
+ const BoolInstr bi106[] = {
651
+ {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
652
+ {BO_HLT,0,0,0}
653
+ };
654
+ const BoolInstr bi107[] = {
655
+ {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
656
+ {BO_HLT,0,0,0}
657
+ };
658
+ const BoolInstr bi108[] = {
659
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
660
+ {BO_AND,0,1,0},
661
+ {BO_HLT,0,0,0}
662
+ };
663
+ const BoolInstr bi109[] = {
664
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
665
+ {BO_XOR,2,3,1},{BO_AND,0,1,0},
666
+ {BO_HLT,0,0,0}
667
+ };
668
+ const BoolInstr bi110[] = {
669
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
670
+ {BO_AND,0,1,0},
671
+ {BO_HLT,0,0,0}
672
+ };
673
+ const BoolInstr bi111[] = {
674
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
675
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
676
+ {BO_HLT,0,0,0}
677
+ };
678
+ const BoolInstr bi112[] = {
679
+ {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
680
+ {BO_HLT,0,0,0}
681
+ };
682
+ const BoolInstr bi113[] = {
683
+ {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
684
+ {BO_HLT,0,0,0}
685
+ };
686
+ const BoolInstr bi114[] = {
687
+ {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
688
+ {BO_HLT,0,0,0}
689
+ };
690
+ const BoolInstr bi115[] = {
691
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
692
+ {BO_OR ,0,1,0},
693
+ {BO_HLT,0,0,0}
694
+ };
695
+ const BoolInstr bi116[] = {
696
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
697
+ {BO_XOR,2,3,1},{BO_OR ,0,1,0},
698
+ {BO_HLT,0,0,0}
699
+ };
700
+ const BoolInstr bi117[] = {
701
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
702
+ {BO_OR ,0,1,0},
703
+ {BO_HLT,0,0,0}
704
+ };
705
+ const BoolInstr bi118[] = {
706
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
707
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
708
+ {BO_HLT,0,0,0}
709
+ };
710
+ const BoolInstr bi119[] = {
711
+ {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
712
+ {BO_HLT,0,0,0}
713
+ };
714
+ const BoolInstr bi120[] = {
715
+ {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
716
+ {BO_HLT,0,0,0}
717
+ };
718
+ const BoolInstr bi121[] = {
719
+ {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
720
+ {BO_HLT,0,0,0}
721
+ };
722
+ const BoolInstr bi122[] = {
723
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
724
+ {BO_IMP,0,1,0},
725
+ {BO_HLT,0,0,0}
726
+ };
727
+ const BoolInstr bi123[] = {
728
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
729
+ {BO_XOR,2,3,1},{BO_IMP,0,1,0},
730
+ {BO_HLT,0,0,0}
731
+ };
732
+ const BoolInstr bi124[] = {
733
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
734
+ {BO_IMP,0,1,0},
735
+ {BO_HLT,0,0,0}
736
+ };
737
+ const BoolInstr bi125[] = {
738
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
739
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
740
+ {BO_HLT,0,0,0}
741
+ };
742
+ const BoolInstr bi126[] = {
743
+ {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
744
+ {BO_HLT,0,0,0}
745
+ };
746
+ const BoolInstr bi127[] = {
747
+ {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
748
+ {BO_HLT,0,0,0}
749
+ };
750
+ const BoolInstr bi128[] = {
751
+ {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
752
+ {BO_HLT,0,0,0}
753
+ };
754
+ const BoolInstr bi129[] = {
755
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
756
+ {BO_XOR,0,1,0},
757
+ {BO_HLT,0,0,0}
758
+ };
759
+ const BoolInstr bi130[] = {
760
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
761
+ {BO_XOR,2,3,1},{BO_XOR,0,1,0},
762
+ {BO_HLT,0,0,0}
763
+ };
764
+ const BoolInstr bi131[] = {
765
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
766
+ {BO_XOR,0,1,0},
767
+ {BO_HLT,0,0,0}
768
+ };
769
+ const BoolInstr bi132[] = {
770
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
771
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
772
+ {BO_HLT,0,0,0}
773
+ };
774
+ const BoolInstr bi133[] = {
775
+ {BO_AND,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
776
+ {BO_HLT,0,0,0}
777
+ };
778
+ const BoolInstr bi134[] = {
779
+ {BO_AND,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
780
+ {BO_HLT,0,0,0}
781
+ };
782
+ const BoolInstr bi135[] = {
783
+ {BO_AND,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
784
+ {BO_HLT,0,0,0}
785
+ };
786
+ const BoolInstr bi136[] = {
787
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_XOR,2,3,1},
788
+ {BO_EQV,0,1,0},
789
+ {BO_HLT,0,0,0}
790
+ };
791
+ const BoolInstr bi137[] = {
792
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
793
+ {BO_XOR,2,3,1},{BO_EQV,0,1,0},
794
+ {BO_HLT,0,0,0}
795
+ };
796
+ const BoolInstr bi138[] = {
797
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
798
+ {BO_EQV,0,1,0},
799
+ {BO_HLT,0,0,0}
800
+ };
801
+ const BoolInstr bi139[] = {
802
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
803
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
804
+ {BO_HLT,0,0,0}
805
+ };
806
+ const BoolInstr bi140[] = {
807
+ {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
808
+ {BO_HLT,0,0,0}
809
+ };
810
+ const BoolInstr bi141[] = {
811
+ {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
812
+ {BO_HLT,0,0,0}
813
+ };
814
+ const BoolInstr bi142[] = {
815
+ {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
816
+ {BO_HLT,0,0,0}
817
+ };
818
+ const BoolInstr bi143[] = {
819
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
820
+ {BO_AND,0,1,0},
821
+ {BO_HLT,0,0,0}
822
+ };
823
+ const BoolInstr bi144[] = {
824
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
825
+ {BO_EQV,2,3,1},{BO_AND,0,1,0},
826
+ {BO_HLT,0,0,0}
827
+ };
828
+ const BoolInstr bi145[] = {
829
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
830
+ {BO_AND,0,1,0},
831
+ {BO_HLT,0,0,0}
832
+ };
833
+ const BoolInstr bi146[] = {
834
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
835
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
836
+ {BO_HLT,0,0,0}
837
+ };
838
+ const BoolInstr bi147[] = {
839
+ {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
840
+ {BO_HLT,0,0,0}
841
+ };
842
+ const BoolInstr bi148[] = {
843
+ {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
844
+ {BO_HLT,0,0,0}
845
+ };
846
+ const BoolInstr bi149[] = {
847
+ {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
848
+ {BO_HLT,0,0,0}
849
+ };
850
+ const BoolInstr bi150[] = {
851
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
852
+ {BO_OR ,0,1,0},
853
+ {BO_HLT,0,0,0}
854
+ };
855
+ const BoolInstr bi151[] = {
856
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
857
+ {BO_EQV,2,3,1},{BO_OR ,0,1,0},
858
+ {BO_HLT,0,0,0}
859
+ };
860
+ const BoolInstr bi152[] = {
861
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
862
+ {BO_OR ,0,1,0},
863
+ {BO_HLT,0,0,0}
864
+ };
865
+ const BoolInstr bi153[] = {
866
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
867
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
868
+ {BO_HLT,0,0,0}
869
+ };
870
+ const BoolInstr bi154[] = {
871
+ {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
872
+ {BO_HLT,0,0,0}
873
+ };
874
+ const BoolInstr bi155[] = {
875
+ {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
876
+ {BO_HLT,0,0,0}
877
+ };
878
+ const BoolInstr bi156[] = {
879
+ {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
880
+ {BO_HLT,0,0,0}
881
+ };
882
+ const BoolInstr bi157[] = {
883
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
884
+ {BO_IMP,0,1,0},
885
+ {BO_HLT,0,0,0}
886
+ };
887
+ const BoolInstr bi158[] = {
888
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
889
+ {BO_EQV,2,3,1},{BO_IMP,0,1,0},
890
+ {BO_HLT,0,0,0}
891
+ };
892
+ const BoolInstr bi159[] = {
893
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
894
+ {BO_IMP,0,1,0},
895
+ {BO_HLT,0,0,0}
896
+ };
897
+ const BoolInstr bi160[] = {
898
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
899
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
900
+ {BO_HLT,0,0,0}
901
+ };
902
+ const BoolInstr bi161[] = {
903
+ {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
904
+ {BO_HLT,0,0,0}
905
+ };
906
+ const BoolInstr bi162[] = {
907
+ {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
908
+ {BO_HLT,0,0,0}
909
+ };
910
+ const BoolInstr bi163[] = {
911
+ {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
912
+ {BO_HLT,0,0,0}
913
+ };
914
+ const BoolInstr bi164[] = {
915
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
916
+ {BO_XOR,0,1,0},
917
+ {BO_HLT,0,0,0}
918
+ };
919
+ const BoolInstr bi165[] = {
920
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
921
+ {BO_EQV,2,3,1},{BO_XOR,0,1,0},
922
+ {BO_HLT,0,0,0}
923
+ };
924
+ const BoolInstr bi166[] = {
925
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
926
+ {BO_XOR,0,1,0},
927
+ {BO_HLT,0,0,0}
928
+ };
929
+ const BoolInstr bi167[] = {
930
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
931
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
932
+ {BO_HLT,0,0,0}
933
+ };
934
+ const BoolInstr bi168[] = {
935
+ {BO_AND,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
936
+ {BO_HLT,0,0,0}
937
+ };
938
+ const BoolInstr bi169[] = {
939
+ {BO_AND,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
940
+ {BO_HLT,0,0,0}
941
+ };
942
+ const BoolInstr bi170[] = {
943
+ {BO_AND,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
944
+ {BO_HLT,0,0,0}
945
+ };
946
+ const BoolInstr bi171[] = {
947
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_AND,0,1,0},{BO_EQV,2,3,1},
948
+ {BO_EQV,0,1,0},
949
+ {BO_HLT,0,0,0}
950
+ };
951
+ const BoolInstr bi172[] = {
952
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_AND,0,1,0},
953
+ {BO_EQV,2,3,1},{BO_EQV,0,1,0},
954
+ {BO_HLT,0,0,0}
955
+ };
956
+ const BoolInstr bi173[] = {
957
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
958
+ {BO_EQV,0,1,0},
959
+ {BO_HLT,0,0,0}
960
+ };
961
+ const BoolInstr bi174[] = {
962
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
963
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
964
+ {BO_HLT,0,0,0}
965
+ };
966
+ const BoolInstr bi175[] = {
967
+ {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
968
+ {BO_HLT,0,0,0}
969
+ };
970
+ const BoolInstr bi176[] = {
971
+ {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
972
+ {BO_HLT,0,0,0}
973
+ };
974
+ const BoolInstr bi177[] = {
975
+ {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
976
+ {BO_HLT,0,0,0}
977
+ };
978
+ const BoolInstr bi178[] = {
979
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
980
+ {BO_AND,0,1,0},
981
+ {BO_HLT,0,0,0}
982
+ };
983
+ const BoolInstr bi179[] = {
984
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
985
+ {BO_AND,2,3,1},{BO_AND,0,1,0},
986
+ {BO_HLT,0,0,0}
987
+ };
988
+ const BoolInstr bi180[] = {
989
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
990
+ {BO_AND,0,1,0},
991
+ {BO_HLT,0,0,0}
992
+ };
993
+ const BoolInstr bi181[] = {
994
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
995
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
996
+ {BO_HLT,0,0,0}
997
+ };
998
+ const BoolInstr bi182[] = {
999
+ {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
1000
+ {BO_HLT,0,0,0}
1001
+ };
1002
+ const BoolInstr bi183[] = {
1003
+ {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
1004
+ {BO_HLT,0,0,0}
1005
+ };
1006
+ const BoolInstr bi184[] = {
1007
+ {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
1008
+ {BO_HLT,0,0,0}
1009
+ };
1010
+ const BoolInstr bi185[] = {
1011
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
1012
+ {BO_OR ,0,1,0},
1013
+ {BO_HLT,0,0,0}
1014
+ };
1015
+ const BoolInstr bi186[] = {
1016
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1017
+ {BO_AND,2,3,1},{BO_OR ,0,1,0},
1018
+ {BO_HLT,0,0,0}
1019
+ };
1020
+ const BoolInstr bi187[] = {
1021
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1022
+ {BO_OR ,0,1,0},
1023
+ {BO_HLT,0,0,0}
1024
+ };
1025
+ const BoolInstr bi188[] = {
1026
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1027
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1028
+ {BO_HLT,0,0,0}
1029
+ };
1030
+ const BoolInstr bi189[] = {
1031
+ {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
1032
+ {BO_HLT,0,0,0}
1033
+ };
1034
+ const BoolInstr bi190[] = {
1035
+ {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
1036
+ {BO_HLT,0,0,0}
1037
+ };
1038
+ const BoolInstr bi191[] = {
1039
+ {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
1040
+ {BO_HLT,0,0,0}
1041
+ };
1042
+ const BoolInstr bi192[] = {
1043
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
1044
+ {BO_IMP,0,1,0},
1045
+ {BO_HLT,0,0,0}
1046
+ };
1047
+ const BoolInstr bi193[] = {
1048
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1049
+ {BO_AND,2,3,1},{BO_IMP,0,1,0},
1050
+ {BO_HLT,0,0,0}
1051
+ };
1052
+ const BoolInstr bi194[] = {
1053
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1054
+ {BO_IMP,0,1,0},
1055
+ {BO_HLT,0,0,0}
1056
+ };
1057
+ const BoolInstr bi195[] = {
1058
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1059
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
1060
+ {BO_HLT,0,0,0}
1061
+ };
1062
+ const BoolInstr bi196[] = {
1063
+ {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
1064
+ {BO_HLT,0,0,0}
1065
+ };
1066
+ const BoolInstr bi197[] = {
1067
+ {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
1068
+ {BO_HLT,0,0,0}
1069
+ };
1070
+ const BoolInstr bi198[] = {
1071
+ {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
1072
+ {BO_HLT,0,0,0}
1073
+ };
1074
+ const BoolInstr bi199[] = {
1075
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
1076
+ {BO_XOR,0,1,0},
1077
+ {BO_HLT,0,0,0}
1078
+ };
1079
+ const BoolInstr bi200[] = {
1080
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1081
+ {BO_AND,2,3,1},{BO_XOR,0,1,0},
1082
+ {BO_HLT,0,0,0}
1083
+ };
1084
+ const BoolInstr bi201[] = {
1085
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1086
+ {BO_XOR,0,1,0},
1087
+ {BO_HLT,0,0,0}
1088
+ };
1089
+ const BoolInstr bi202[] = {
1090
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1091
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
1092
+ {BO_HLT,0,0,0}
1093
+ };
1094
+ const BoolInstr bi203[] = {
1095
+ {BO_OR ,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
1096
+ {BO_HLT,0,0,0}
1097
+ };
1098
+ const BoolInstr bi204[] = {
1099
+ {BO_OR ,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
1100
+ {BO_HLT,0,0,0}
1101
+ };
1102
+ const BoolInstr bi205[] = {
1103
+ {BO_OR ,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
1104
+ {BO_HLT,0,0,0}
1105
+ };
1106
+ const BoolInstr bi206[] = {
1107
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_AND,2,3,1},
1108
+ {BO_EQV,0,1,0},
1109
+ {BO_HLT,0,0,0}
1110
+ };
1111
+ const BoolInstr bi207[] = {
1112
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1113
+ {BO_AND,2,3,1},{BO_EQV,0,1,0},
1114
+ {BO_HLT,0,0,0}
1115
+ };
1116
+ const BoolInstr bi208[] = {
1117
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1118
+ {BO_EQV,0,1,0},
1119
+ {BO_HLT,0,0,0}
1120
+ };
1121
+ const BoolInstr bi209[] = {
1122
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1123
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
1124
+ {BO_HLT,0,0,0}
1125
+ };
1126
+ const BoolInstr bi210[] = {
1127
+ {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
1128
+ {BO_HLT,0,0,0}
1129
+ };
1130
+ const BoolInstr bi211[] = {
1131
+ {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
1132
+ {BO_HLT,0,0,0}
1133
+ };
1134
+ const BoolInstr bi212[] = {
1135
+ {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
1136
+ {BO_HLT,0,0,0}
1137
+ };
1138
+ const BoolInstr bi213[] = {
1139
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
1140
+ {BO_AND,0,1,0},
1141
+ {BO_HLT,0,0,0}
1142
+ };
1143
+ const BoolInstr bi214[] = {
1144
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1145
+ {BO_OR ,2,3,1},{BO_AND,0,1,0},
1146
+ {BO_HLT,0,0,0}
1147
+ };
1148
+ const BoolInstr bi215[] = {
1149
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1150
+ {BO_AND,0,1,0},
1151
+ {BO_HLT,0,0,0}
1152
+ };
1153
+ const BoolInstr bi216[] = {
1154
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1155
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
1156
+ {BO_HLT,0,0,0}
1157
+ };
1158
+ const BoolInstr bi217[] = {
1159
+ {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
1160
+ {BO_HLT,0,0,0}
1161
+ };
1162
+ const BoolInstr bi218[] = {
1163
+ {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
1164
+ {BO_HLT,0,0,0}
1165
+ };
1166
+ const BoolInstr bi219[] = {
1167
+ {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
1168
+ {BO_HLT,0,0,0}
1169
+ };
1170
+ const BoolInstr bi220[] = {
1171
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
1172
+ {BO_OR ,0,1,0},
1173
+ {BO_HLT,0,0,0}
1174
+ };
1175
+ const BoolInstr bi221[] = {
1176
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1177
+ {BO_OR ,2,3,1},{BO_OR ,0,1,0},
1178
+ {BO_HLT,0,0,0}
1179
+ };
1180
+ const BoolInstr bi222[] = {
1181
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1182
+ {BO_OR ,0,1,0},
1183
+ {BO_HLT,0,0,0}
1184
+ };
1185
+ const BoolInstr bi223[] = {
1186
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1187
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1188
+ {BO_HLT,0,0,0}
1189
+ };
1190
+ const BoolInstr bi224[] = {
1191
+ {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
1192
+ {BO_HLT,0,0,0}
1193
+ };
1194
+ const BoolInstr bi225[] = {
1195
+ {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
1196
+ {BO_HLT,0,0,0}
1197
+ };
1198
+ const BoolInstr bi226[] = {
1199
+ {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
1200
+ {BO_HLT,0,0,0}
1201
+ };
1202
+ const BoolInstr bi227[] = {
1203
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
1204
+ {BO_IMP,0,1,0},
1205
+ {BO_HLT,0,0,0}
1206
+ };
1207
+ const BoolInstr bi228[] = {
1208
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1209
+ {BO_OR ,2,3,1},{BO_IMP,0,1,0},
1210
+ {BO_HLT,0,0,0}
1211
+ };
1212
+ const BoolInstr bi229[] = {
1213
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1214
+ {BO_IMP,0,1,0},
1215
+ {BO_HLT,0,0,0}
1216
+ };
1217
+ const BoolInstr bi230[] = {
1218
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1219
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
1220
+ {BO_HLT,0,0,0}
1221
+ };
1222
+ const BoolInstr bi231[] = {
1223
+ {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
1224
+ {BO_HLT,0,0,0}
1225
+ };
1226
+ const BoolInstr bi232[] = {
1227
+ {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
1228
+ {BO_HLT,0,0,0}
1229
+ };
1230
+ const BoolInstr bi233[] = {
1231
+ {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
1232
+ {BO_HLT,0,0,0}
1233
+ };
1234
+ const BoolInstr bi234[] = {
1235
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
1236
+ {BO_XOR,0,1,0},
1237
+ {BO_HLT,0,0,0}
1238
+ };
1239
+ const BoolInstr bi235[] = {
1240
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1241
+ {BO_OR ,2,3,1},{BO_XOR,0,1,0},
1242
+ {BO_HLT,0,0,0}
1243
+ };
1244
+ const BoolInstr bi236[] = {
1245
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1246
+ {BO_XOR,0,1,0},
1247
+ {BO_HLT,0,0,0}
1248
+ };
1249
+ const BoolInstr bi237[] = {
1250
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1251
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
1252
+ {BO_HLT,0,0,0}
1253
+ };
1254
+ const BoolInstr bi238[] = {
1255
+ {BO_OR ,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
1256
+ {BO_HLT,0,0,0}
1257
+ };
1258
+ const BoolInstr bi239[] = {
1259
+ {BO_OR ,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
1260
+ {BO_HLT,0,0,0}
1261
+ };
1262
+ const BoolInstr bi240[] = {
1263
+ {BO_OR ,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
1264
+ {BO_HLT,0,0,0}
1265
+ };
1266
+ const BoolInstr bi241[] = {
1267
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_OR ,2,3,1},
1268
+ {BO_EQV,0,1,0},
1269
+ {BO_HLT,0,0,0}
1270
+ };
1271
+ const BoolInstr bi242[] = {
1272
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1273
+ {BO_OR ,2,3,1},{BO_EQV,0,1,0},
1274
+ {BO_HLT,0,0,0}
1275
+ };
1276
+ const BoolInstr bi243[] = {
1277
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1278
+ {BO_EQV,0,1,0},
1279
+ {BO_HLT,0,0,0}
1280
+ };
1281
+ const BoolInstr bi244[] = {
1282
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1283
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
1284
+ {BO_HLT,0,0,0}
1285
+ };
1286
+ const BoolInstr bi245[] = {
1287
+ {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
1288
+ {BO_HLT,0,0,0}
1289
+ };
1290
+ const BoolInstr bi246[] = {
1291
+ {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
1292
+ {BO_HLT,0,0,0}
1293
+ };
1294
+ const BoolInstr bi247[] = {
1295
+ {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
1296
+ {BO_HLT,0,0,0}
1297
+ };
1298
+ const BoolInstr bi248[] = {
1299
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
1300
+ {BO_AND,0,1,0},
1301
+ {BO_HLT,0,0,0}
1302
+ };
1303
+ const BoolInstr bi249[] = {
1304
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1305
+ {BO_IMP,2,3,1},{BO_AND,0,1,0},
1306
+ {BO_HLT,0,0,0}
1307
+ };
1308
+ const BoolInstr bi250[] = {
1309
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1310
+ {BO_AND,0,1,0},
1311
+ {BO_HLT,0,0,0}
1312
+ };
1313
+ const BoolInstr bi251[] = {
1314
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1315
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
1316
+ {BO_HLT,0,0,0}
1317
+ };
1318
+ const BoolInstr bi252[] = {
1319
+ {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
1320
+ {BO_HLT,0,0,0}
1321
+ };
1322
+ const BoolInstr bi253[] = {
1323
+ {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
1324
+ {BO_HLT,0,0,0}
1325
+ };
1326
+ const BoolInstr bi254[] = {
1327
+ {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
1328
+ {BO_HLT,0,0,0}
1329
+ };
1330
+ const BoolInstr bi255[] = {
1331
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
1332
+ {BO_OR ,0,1,0},
1333
+ {BO_HLT,0,0,0}
1334
+ };
1335
+ const BoolInstr bi256[] = {
1336
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1337
+ {BO_IMP,2,3,1},{BO_OR ,0,1,0},
1338
+ {BO_HLT,0,0,0}
1339
+ };
1340
+ const BoolInstr bi257[] = {
1341
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1342
+ {BO_OR ,0,1,0},
1343
+ {BO_HLT,0,0,0}
1344
+ };
1345
+ const BoolInstr bi258[] = {
1346
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1347
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1348
+ {BO_HLT,0,0,0}
1349
+ };
1350
+ const BoolInstr bi259[] = {
1351
+ {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
1352
+ {BO_HLT,0,0,0}
1353
+ };
1354
+ const BoolInstr bi260[] = {
1355
+ {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
1356
+ {BO_HLT,0,0,0}
1357
+ };
1358
+ const BoolInstr bi261[] = {
1359
+ {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
1360
+ {BO_HLT,0,0,0}
1361
+ };
1362
+ const BoolInstr bi262[] = {
1363
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
1364
+ {BO_IMP,0,1,0},
1365
+ {BO_HLT,0,0,0}
1366
+ };
1367
+ const BoolInstr bi263[] = {
1368
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1369
+ {BO_IMP,2,3,1},{BO_IMP,0,1,0},
1370
+ {BO_HLT,0,0,0}
1371
+ };
1372
+ const BoolInstr bi264[] = {
1373
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1374
+ {BO_IMP,0,1,0},
1375
+ {BO_HLT,0,0,0}
1376
+ };
1377
+ const BoolInstr bi265[] = {
1378
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1379
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
1380
+ {BO_HLT,0,0,0}
1381
+ };
1382
+ const BoolInstr bi266[] = {
1383
+ {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
1384
+ {BO_HLT,0,0,0}
1385
+ };
1386
+ const BoolInstr bi267[] = {
1387
+ {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
1388
+ {BO_HLT,0,0,0}
1389
+ };
1390
+ const BoolInstr bi268[] = {
1391
+ {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
1392
+ {BO_HLT,0,0,0}
1393
+ };
1394
+ const BoolInstr bi269[] = {
1395
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
1396
+ {BO_XOR,0,1,0},
1397
+ {BO_HLT,0,0,0}
1398
+ };
1399
+ const BoolInstr bi270[] = {
1400
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1401
+ {BO_IMP,2,3,1},{BO_XOR,0,1,0},
1402
+ {BO_HLT,0,0,0}
1403
+ };
1404
+ const BoolInstr bi271[] = {
1405
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1406
+ {BO_XOR,0,1,0},
1407
+ {BO_HLT,0,0,0}
1408
+ };
1409
+ const BoolInstr bi272[] = {
1410
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1411
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
1412
+ {BO_HLT,0,0,0}
1413
+ };
1414
+ const BoolInstr bi273[] = {
1415
+ {BO_OR ,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
1416
+ {BO_HLT,0,0,0}
1417
+ };
1418
+ const BoolInstr bi274[] = {
1419
+ {BO_OR ,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
1420
+ {BO_HLT,0,0,0}
1421
+ };
1422
+ const BoolInstr bi275[] = {
1423
+ {BO_OR ,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
1424
+ {BO_HLT,0,0,0}
1425
+ };
1426
+ const BoolInstr bi276[] = {
1427
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_IMP,2,3,1},
1428
+ {BO_EQV,0,1,0},
1429
+ {BO_HLT,0,0,0}
1430
+ };
1431
+ const BoolInstr bi277[] = {
1432
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1433
+ {BO_IMP,2,3,1},{BO_EQV,0,1,0},
1434
+ {BO_HLT,0,0,0}
1435
+ };
1436
+ const BoolInstr bi278[] = {
1437
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1438
+ {BO_EQV,0,1,0},
1439
+ {BO_HLT,0,0,0}
1440
+ };
1441
+ const BoolInstr bi279[] = {
1442
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
1443
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
1444
+ {BO_HLT,0,0,0}
1445
+ };
1446
+ const BoolInstr bi280[] = {
1447
+ {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
1448
+ {BO_HLT,0,0,0}
1449
+ };
1450
+ const BoolInstr bi281[] = {
1451
+ {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
1452
+ {BO_HLT,0,0,0}
1453
+ };
1454
+ const BoolInstr bi282[] = {
1455
+ {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
1456
+ {BO_HLT,0,0,0}
1457
+ };
1458
+ const BoolInstr bi283[] = {
1459
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
1460
+ {BO_AND,0,1,0},
1461
+ {BO_HLT,0,0,0}
1462
+ };
1463
+ const BoolInstr bi284[] = {
1464
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1465
+ {BO_XOR,2,3,1},{BO_AND,0,1,0},
1466
+ {BO_HLT,0,0,0}
1467
+ };
1468
+ const BoolInstr bi285[] = {
1469
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1470
+ {BO_AND,0,1,0},
1471
+ {BO_HLT,0,0,0}
1472
+ };
1473
+ const BoolInstr bi286[] = {
1474
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1475
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
1476
+ {BO_HLT,0,0,0}
1477
+ };
1478
+ const BoolInstr bi287[] = {
1479
+ {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
1480
+ {BO_HLT,0,0,0}
1481
+ };
1482
+ const BoolInstr bi288[] = {
1483
+ {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
1484
+ {BO_HLT,0,0,0}
1485
+ };
1486
+ const BoolInstr bi289[] = {
1487
+ {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
1488
+ {BO_HLT,0,0,0}
1489
+ };
1490
+ const BoolInstr bi290[] = {
1491
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
1492
+ {BO_OR ,0,1,0},
1493
+ {BO_HLT,0,0,0}
1494
+ };
1495
+ const BoolInstr bi291[] = {
1496
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1497
+ {BO_XOR,2,3,1},{BO_OR ,0,1,0},
1498
+ {BO_HLT,0,0,0}
1499
+ };
1500
+ const BoolInstr bi292[] = {
1501
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1502
+ {BO_OR ,0,1,0},
1503
+ {BO_HLT,0,0,0}
1504
+ };
1505
+ const BoolInstr bi293[] = {
1506
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1507
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1508
+ {BO_HLT,0,0,0}
1509
+ };
1510
+ const BoolInstr bi294[] = {
1511
+ {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
1512
+ {BO_HLT,0,0,0}
1513
+ };
1514
+ const BoolInstr bi295[] = {
1515
+ {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
1516
+ {BO_HLT,0,0,0}
1517
+ };
1518
+ const BoolInstr bi296[] = {
1519
+ {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
1520
+ {BO_HLT,0,0,0}
1521
+ };
1522
+ const BoolInstr bi297[] = {
1523
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
1524
+ {BO_IMP,0,1,0},
1525
+ {BO_HLT,0,0,0}
1526
+ };
1527
+ const BoolInstr bi298[] = {
1528
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1529
+ {BO_XOR,2,3,1},{BO_IMP,0,1,0},
1530
+ {BO_HLT,0,0,0}
1531
+ };
1532
+ const BoolInstr bi299[] = {
1533
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1534
+ {BO_IMP,0,1,0},
1535
+ {BO_HLT,0,0,0}
1536
+ };
1537
+ const BoolInstr bi300[] = {
1538
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1539
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
1540
+ {BO_HLT,0,0,0}
1541
+ };
1542
+ const BoolInstr bi301[] = {
1543
+ {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
1544
+ {BO_HLT,0,0,0}
1545
+ };
1546
+ const BoolInstr bi302[] = {
1547
+ {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
1548
+ {BO_HLT,0,0,0}
1549
+ };
1550
+ const BoolInstr bi303[] = {
1551
+ {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
1552
+ {BO_HLT,0,0,0}
1553
+ };
1554
+ const BoolInstr bi304[] = {
1555
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
1556
+ {BO_XOR,0,1,0},
1557
+ {BO_HLT,0,0,0}
1558
+ };
1559
+ const BoolInstr bi305[] = {
1560
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1561
+ {BO_XOR,2,3,1},{BO_XOR,0,1,0},
1562
+ {BO_HLT,0,0,0}
1563
+ };
1564
+ const BoolInstr bi306[] = {
1565
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1566
+ {BO_XOR,0,1,0},
1567
+ {BO_HLT,0,0,0}
1568
+ };
1569
+ const BoolInstr bi307[] = {
1570
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1571
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
1572
+ {BO_HLT,0,0,0}
1573
+ };
1574
+ const BoolInstr bi308[] = {
1575
+ {BO_OR ,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
1576
+ {BO_HLT,0,0,0}
1577
+ };
1578
+ const BoolInstr bi309[] = {
1579
+ {BO_OR ,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
1580
+ {BO_HLT,0,0,0}
1581
+ };
1582
+ const BoolInstr bi310[] = {
1583
+ {BO_OR ,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
1584
+ {BO_HLT,0,0,0}
1585
+ };
1586
+ const BoolInstr bi311[] = {
1587
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_XOR,2,3,1},
1588
+ {BO_EQV,0,1,0},
1589
+ {BO_HLT,0,0,0}
1590
+ };
1591
+ const BoolInstr bi312[] = {
1592
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1593
+ {BO_XOR,2,3,1},{BO_EQV,0,1,0},
1594
+ {BO_HLT,0,0,0}
1595
+ };
1596
+ const BoolInstr bi313[] = {
1597
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1598
+ {BO_EQV,0,1,0},
1599
+ {BO_HLT,0,0,0}
1600
+ };
1601
+ const BoolInstr bi314[] = {
1602
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
1603
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
1604
+ {BO_HLT,0,0,0}
1605
+ };
1606
+ const BoolInstr bi315[] = {
1607
+ {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
1608
+ {BO_HLT,0,0,0}
1609
+ };
1610
+ const BoolInstr bi316[] = {
1611
+ {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
1612
+ {BO_HLT,0,0,0}
1613
+ };
1614
+ const BoolInstr bi317[] = {
1615
+ {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
1616
+ {BO_HLT,0,0,0}
1617
+ };
1618
+ const BoolInstr bi318[] = {
1619
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
1620
+ {BO_AND,0,1,0},
1621
+ {BO_HLT,0,0,0}
1622
+ };
1623
+ const BoolInstr bi319[] = {
1624
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1625
+ {BO_EQV,2,3,1},{BO_AND,0,1,0},
1626
+ {BO_HLT,0,0,0}
1627
+ };
1628
+ const BoolInstr bi320[] = {
1629
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1630
+ {BO_AND,0,1,0},
1631
+ {BO_HLT,0,0,0}
1632
+ };
1633
+ const BoolInstr bi321[] = {
1634
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1635
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
1636
+ {BO_HLT,0,0,0}
1637
+ };
1638
+ const BoolInstr bi322[] = {
1639
+ {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
1640
+ {BO_HLT,0,0,0}
1641
+ };
1642
+ const BoolInstr bi323[] = {
1643
+ {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
1644
+ {BO_HLT,0,0,0}
1645
+ };
1646
+ const BoolInstr bi324[] = {
1647
+ {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
1648
+ {BO_HLT,0,0,0}
1649
+ };
1650
+ const BoolInstr bi325[] = {
1651
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
1652
+ {BO_OR ,0,1,0},
1653
+ {BO_HLT,0,0,0}
1654
+ };
1655
+ const BoolInstr bi326[] = {
1656
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1657
+ {BO_EQV,2,3,1},{BO_OR ,0,1,0},
1658
+ {BO_HLT,0,0,0}
1659
+ };
1660
+ const BoolInstr bi327[] = {
1661
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1662
+ {BO_OR ,0,1,0},
1663
+ {BO_HLT,0,0,0}
1664
+ };
1665
+ const BoolInstr bi328[] = {
1666
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1667
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1668
+ {BO_HLT,0,0,0}
1669
+ };
1670
+ const BoolInstr bi329[] = {
1671
+ {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
1672
+ {BO_HLT,0,0,0}
1673
+ };
1674
+ const BoolInstr bi330[] = {
1675
+ {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
1676
+ {BO_HLT,0,0,0}
1677
+ };
1678
+ const BoolInstr bi331[] = {
1679
+ {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
1680
+ {BO_HLT,0,0,0}
1681
+ };
1682
+ const BoolInstr bi332[] = {
1683
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
1684
+ {BO_IMP,0,1,0},
1685
+ {BO_HLT,0,0,0}
1686
+ };
1687
+ const BoolInstr bi333[] = {
1688
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1689
+ {BO_EQV,2,3,1},{BO_IMP,0,1,0},
1690
+ {BO_HLT,0,0,0}
1691
+ };
1692
+ const BoolInstr bi334[] = {
1693
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1694
+ {BO_IMP,0,1,0},
1695
+ {BO_HLT,0,0,0}
1696
+ };
1697
+ const BoolInstr bi335[] = {
1698
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1699
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
1700
+ {BO_HLT,0,0,0}
1701
+ };
1702
+ const BoolInstr bi336[] = {
1703
+ {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
1704
+ {BO_HLT,0,0,0}
1705
+ };
1706
+ const BoolInstr bi337[] = {
1707
+ {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
1708
+ {BO_HLT,0,0,0}
1709
+ };
1710
+ const BoolInstr bi338[] = {
1711
+ {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
1712
+ {BO_HLT,0,0,0}
1713
+ };
1714
+ const BoolInstr bi339[] = {
1715
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
1716
+ {BO_XOR,0,1,0},
1717
+ {BO_HLT,0,0,0}
1718
+ };
1719
+ const BoolInstr bi340[] = {
1720
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1721
+ {BO_EQV,2,3,1},{BO_XOR,0,1,0},
1722
+ {BO_HLT,0,0,0}
1723
+ };
1724
+ const BoolInstr bi341[] = {
1725
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1726
+ {BO_XOR,0,1,0},
1727
+ {BO_HLT,0,0,0}
1728
+ };
1729
+ const BoolInstr bi342[] = {
1730
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1731
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
1732
+ {BO_HLT,0,0,0}
1733
+ };
1734
+ const BoolInstr bi343[] = {
1735
+ {BO_OR ,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
1736
+ {BO_HLT,0,0,0}
1737
+ };
1738
+ const BoolInstr bi344[] = {
1739
+ {BO_OR ,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
1740
+ {BO_HLT,0,0,0}
1741
+ };
1742
+ const BoolInstr bi345[] = {
1743
+ {BO_OR ,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
1744
+ {BO_HLT,0,0,0}
1745
+ };
1746
+ const BoolInstr bi346[] = {
1747
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_OR ,0,1,0},{BO_EQV,2,3,1},
1748
+ {BO_EQV,0,1,0},
1749
+ {BO_HLT,0,0,0}
1750
+ };
1751
+ const BoolInstr bi347[] = {
1752
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_OR ,0,1,0},
1753
+ {BO_EQV,2,3,1},{BO_EQV,0,1,0},
1754
+ {BO_HLT,0,0,0}
1755
+ };
1756
+ const BoolInstr bi348[] = {
1757
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1758
+ {BO_EQV,0,1,0},
1759
+ {BO_HLT,0,0,0}
1760
+ };
1761
+ const BoolInstr bi349[] = {
1762
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
1763
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
1764
+ {BO_HLT,0,0,0}
1765
+ };
1766
+ const BoolInstr bi350[] = {
1767
+ {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
1768
+ {BO_HLT,0,0,0}
1769
+ };
1770
+ const BoolInstr bi351[] = {
1771
+ {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
1772
+ {BO_HLT,0,0,0}
1773
+ };
1774
+ const BoolInstr bi352[] = {
1775
+ {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
1776
+ {BO_HLT,0,0,0}
1777
+ };
1778
+ const BoolInstr bi353[] = {
1779
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
1780
+ {BO_AND,0,1,0},
1781
+ {BO_HLT,0,0,0}
1782
+ };
1783
+ const BoolInstr bi354[] = {
1784
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1785
+ {BO_AND,2,3,1},{BO_AND,0,1,0},
1786
+ {BO_HLT,0,0,0}
1787
+ };
1788
+ const BoolInstr bi355[] = {
1789
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1790
+ {BO_AND,0,1,0},
1791
+ {BO_HLT,0,0,0}
1792
+ };
1793
+ const BoolInstr bi356[] = {
1794
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1795
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
1796
+ {BO_HLT,0,0,0}
1797
+ };
1798
+ const BoolInstr bi357[] = {
1799
+ {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
1800
+ {BO_HLT,0,0,0}
1801
+ };
1802
+ const BoolInstr bi358[] = {
1803
+ {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
1804
+ {BO_HLT,0,0,0}
1805
+ };
1806
+ const BoolInstr bi359[] = {
1807
+ {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
1808
+ {BO_HLT,0,0,0}
1809
+ };
1810
+ const BoolInstr bi360[] = {
1811
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
1812
+ {BO_OR ,0,1,0},
1813
+ {BO_HLT,0,0,0}
1814
+ };
1815
+ const BoolInstr bi361[] = {
1816
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1817
+ {BO_AND,2,3,1},{BO_OR ,0,1,0},
1818
+ {BO_HLT,0,0,0}
1819
+ };
1820
+ const BoolInstr bi362[] = {
1821
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1822
+ {BO_OR ,0,1,0},
1823
+ {BO_HLT,0,0,0}
1824
+ };
1825
+ const BoolInstr bi363[] = {
1826
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1827
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1828
+ {BO_HLT,0,0,0}
1829
+ };
1830
+ const BoolInstr bi364[] = {
1831
+ {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
1832
+ {BO_HLT,0,0,0}
1833
+ };
1834
+ const BoolInstr bi365[] = {
1835
+ {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
1836
+ {BO_HLT,0,0,0}
1837
+ };
1838
+ const BoolInstr bi366[] = {
1839
+ {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
1840
+ {BO_HLT,0,0,0}
1841
+ };
1842
+ const BoolInstr bi367[] = {
1843
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
1844
+ {BO_IMP,0,1,0},
1845
+ {BO_HLT,0,0,0}
1846
+ };
1847
+ const BoolInstr bi368[] = {
1848
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1849
+ {BO_AND,2,3,1},{BO_IMP,0,1,0},
1850
+ {BO_HLT,0,0,0}
1851
+ };
1852
+ const BoolInstr bi369[] = {
1853
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1854
+ {BO_IMP,0,1,0},
1855
+ {BO_HLT,0,0,0}
1856
+ };
1857
+ const BoolInstr bi370[] = {
1858
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1859
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
1860
+ {BO_HLT,0,0,0}
1861
+ };
1862
+ const BoolInstr bi371[] = {
1863
+ {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
1864
+ {BO_HLT,0,0,0}
1865
+ };
1866
+ const BoolInstr bi372[] = {
1867
+ {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
1868
+ {BO_HLT,0,0,0}
1869
+ };
1870
+ const BoolInstr bi373[] = {
1871
+ {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
1872
+ {BO_HLT,0,0,0}
1873
+ };
1874
+ const BoolInstr bi374[] = {
1875
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
1876
+ {BO_XOR,0,1,0},
1877
+ {BO_HLT,0,0,0}
1878
+ };
1879
+ const BoolInstr bi375[] = {
1880
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1881
+ {BO_AND,2,3,1},{BO_XOR,0,1,0},
1882
+ {BO_HLT,0,0,0}
1883
+ };
1884
+ const BoolInstr bi376[] = {
1885
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1886
+ {BO_XOR,0,1,0},
1887
+ {BO_HLT,0,0,0}
1888
+ };
1889
+ const BoolInstr bi377[] = {
1890
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1891
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
1892
+ {BO_HLT,0,0,0}
1893
+ };
1894
+ const BoolInstr bi378[] = {
1895
+ {BO_IMP,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
1896
+ {BO_HLT,0,0,0}
1897
+ };
1898
+ const BoolInstr bi379[] = {
1899
+ {BO_IMP,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
1900
+ {BO_HLT,0,0,0}
1901
+ };
1902
+ const BoolInstr bi380[] = {
1903
+ {BO_IMP,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
1904
+ {BO_HLT,0,0,0}
1905
+ };
1906
+ const BoolInstr bi381[] = {
1907
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_AND,2,3,1},
1908
+ {BO_EQV,0,1,0},
1909
+ {BO_HLT,0,0,0}
1910
+ };
1911
+ const BoolInstr bi382[] = {
1912
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1913
+ {BO_AND,2,3,1},{BO_EQV,0,1,0},
1914
+ {BO_HLT,0,0,0}
1915
+ };
1916
+ const BoolInstr bi383[] = {
1917
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1918
+ {BO_EQV,0,1,0},
1919
+ {BO_HLT,0,0,0}
1920
+ };
1921
+ const BoolInstr bi384[] = {
1922
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
1923
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
1924
+ {BO_HLT,0,0,0}
1925
+ };
1926
+ const BoolInstr bi385[] = {
1927
+ {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
1928
+ {BO_HLT,0,0,0}
1929
+ };
1930
+ const BoolInstr bi386[] = {
1931
+ {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
1932
+ {BO_HLT,0,0,0}
1933
+ };
1934
+ const BoolInstr bi387[] = {
1935
+ {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
1936
+ {BO_HLT,0,0,0}
1937
+ };
1938
+ const BoolInstr bi388[] = {
1939
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
1940
+ {BO_AND,0,1,0},
1941
+ {BO_HLT,0,0,0}
1942
+ };
1943
+ const BoolInstr bi389[] = {
1944
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1945
+ {BO_OR ,2,3,1},{BO_AND,0,1,0},
1946
+ {BO_HLT,0,0,0}
1947
+ };
1948
+ const BoolInstr bi390[] = {
1949
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1950
+ {BO_AND,0,1,0},
1951
+ {BO_HLT,0,0,0}
1952
+ };
1953
+ const BoolInstr bi391[] = {
1954
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1955
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
1956
+ {BO_HLT,0,0,0}
1957
+ };
1958
+ const BoolInstr bi392[] = {
1959
+ {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
1960
+ {BO_HLT,0,0,0}
1961
+ };
1962
+ const BoolInstr bi393[] = {
1963
+ {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
1964
+ {BO_HLT,0,0,0}
1965
+ };
1966
+ const BoolInstr bi394[] = {
1967
+ {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
1968
+ {BO_HLT,0,0,0}
1969
+ };
1970
+ const BoolInstr bi395[] = {
1971
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
1972
+ {BO_OR ,0,1,0},
1973
+ {BO_HLT,0,0,0}
1974
+ };
1975
+ const BoolInstr bi396[] = {
1976
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
1977
+ {BO_OR ,2,3,1},{BO_OR ,0,1,0},
1978
+ {BO_HLT,0,0,0}
1979
+ };
1980
+ const BoolInstr bi397[] = {
1981
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1982
+ {BO_OR ,0,1,0},
1983
+ {BO_HLT,0,0,0}
1984
+ };
1985
+ const BoolInstr bi398[] = {
1986
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
1987
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
1988
+ {BO_HLT,0,0,0}
1989
+ };
1990
+ const BoolInstr bi399[] = {
1991
+ {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
1992
+ {BO_HLT,0,0,0}
1993
+ };
1994
+ const BoolInstr bi400[] = {
1995
+ {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
1996
+ {BO_HLT,0,0,0}
1997
+ };
1998
+ const BoolInstr bi401[] = {
1999
+ {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
2000
+ {BO_HLT,0,0,0}
2001
+ };
2002
+ const BoolInstr bi402[] = {
2003
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
2004
+ {BO_IMP,0,1,0},
2005
+ {BO_HLT,0,0,0}
2006
+ };
2007
+ const BoolInstr bi403[] = {
2008
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2009
+ {BO_OR ,2,3,1},{BO_IMP,0,1,0},
2010
+ {BO_HLT,0,0,0}
2011
+ };
2012
+ const BoolInstr bi404[] = {
2013
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2014
+ {BO_IMP,0,1,0},
2015
+ {BO_HLT,0,0,0}
2016
+ };
2017
+ const BoolInstr bi405[] = {
2018
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2019
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2020
+ {BO_HLT,0,0,0}
2021
+ };
2022
+ const BoolInstr bi406[] = {
2023
+ {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
2024
+ {BO_HLT,0,0,0}
2025
+ };
2026
+ const BoolInstr bi407[] = {
2027
+ {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
2028
+ {BO_HLT,0,0,0}
2029
+ };
2030
+ const BoolInstr bi408[] = {
2031
+ {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
2032
+ {BO_HLT,0,0,0}
2033
+ };
2034
+ const BoolInstr bi409[] = {
2035
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
2036
+ {BO_XOR,0,1,0},
2037
+ {BO_HLT,0,0,0}
2038
+ };
2039
+ const BoolInstr bi410[] = {
2040
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2041
+ {BO_OR ,2,3,1},{BO_XOR,0,1,0},
2042
+ {BO_HLT,0,0,0}
2043
+ };
2044
+ const BoolInstr bi411[] = {
2045
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2046
+ {BO_XOR,0,1,0},
2047
+ {BO_HLT,0,0,0}
2048
+ };
2049
+ const BoolInstr bi412[] = {
2050
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2051
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
2052
+ {BO_HLT,0,0,0}
2053
+ };
2054
+ const BoolInstr bi413[] = {
2055
+ {BO_IMP,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
2056
+ {BO_HLT,0,0,0}
2057
+ };
2058
+ const BoolInstr bi414[] = {
2059
+ {BO_IMP,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
2060
+ {BO_HLT,0,0,0}
2061
+ };
2062
+ const BoolInstr bi415[] = {
2063
+ {BO_IMP,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
2064
+ {BO_HLT,0,0,0}
2065
+ };
2066
+ const BoolInstr bi416[] = {
2067
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_OR ,2,3,1},
2068
+ {BO_EQV,0,1,0},
2069
+ {BO_HLT,0,0,0}
2070
+ };
2071
+ const BoolInstr bi417[] = {
2072
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2073
+ {BO_OR ,2,3,1},{BO_EQV,0,1,0},
2074
+ {BO_HLT,0,0,0}
2075
+ };
2076
+ const BoolInstr bi418[] = {
2077
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2078
+ {BO_EQV,0,1,0},
2079
+ {BO_HLT,0,0,0}
2080
+ };
2081
+ const BoolInstr bi419[] = {
2082
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2083
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
2084
+ {BO_HLT,0,0,0}
2085
+ };
2086
+ const BoolInstr bi420[] = {
2087
+ {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
2088
+ {BO_HLT,0,0,0}
2089
+ };
2090
+ const BoolInstr bi421[] = {
2091
+ {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
2092
+ {BO_HLT,0,0,0}
2093
+ };
2094
+ const BoolInstr bi422[] = {
2095
+ {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
2096
+ {BO_HLT,0,0,0}
2097
+ };
2098
+ const BoolInstr bi423[] = {
2099
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
2100
+ {BO_AND,0,1,0},
2101
+ {BO_HLT,0,0,0}
2102
+ };
2103
+ const BoolInstr bi424[] = {
2104
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2105
+ {BO_IMP,2,3,1},{BO_AND,0,1,0},
2106
+ {BO_HLT,0,0,0}
2107
+ };
2108
+ const BoolInstr bi425[] = {
2109
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2110
+ {BO_AND,0,1,0},
2111
+ {BO_HLT,0,0,0}
2112
+ };
2113
+ const BoolInstr bi426[] = {
2114
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2115
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
2116
+ {BO_HLT,0,0,0}
2117
+ };
2118
+ const BoolInstr bi427[] = {
2119
+ {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
2120
+ {BO_HLT,0,0,0}
2121
+ };
2122
+ const BoolInstr bi428[] = {
2123
+ {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
2124
+ {BO_HLT,0,0,0}
2125
+ };
2126
+ const BoolInstr bi429[] = {
2127
+ {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
2128
+ {BO_HLT,0,0,0}
2129
+ };
2130
+ const BoolInstr bi430[] = {
2131
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
2132
+ {BO_OR ,0,1,0},
2133
+ {BO_HLT,0,0,0}
2134
+ };
2135
+ const BoolInstr bi431[] = {
2136
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2137
+ {BO_IMP,2,3,1},{BO_OR ,0,1,0},
2138
+ {BO_HLT,0,0,0}
2139
+ };
2140
+ const BoolInstr bi432[] = {
2141
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2142
+ {BO_OR ,0,1,0},
2143
+ {BO_HLT,0,0,0}
2144
+ };
2145
+ const BoolInstr bi433[] = {
2146
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2147
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
2148
+ {BO_HLT,0,0,0}
2149
+ };
2150
+ const BoolInstr bi434[] = {
2151
+ {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
2152
+ {BO_HLT,0,0,0}
2153
+ };
2154
+ const BoolInstr bi435[] = {
2155
+ {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
2156
+ {BO_HLT,0,0,0}
2157
+ };
2158
+ const BoolInstr bi436[] = {
2159
+ {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
2160
+ {BO_HLT,0,0,0}
2161
+ };
2162
+ const BoolInstr bi437[] = {
2163
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
2164
+ {BO_IMP,0,1,0},
2165
+ {BO_HLT,0,0,0}
2166
+ };
2167
+ const BoolInstr bi438[] = {
2168
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2169
+ {BO_IMP,2,3,1},{BO_IMP,0,1,0},
2170
+ {BO_HLT,0,0,0}
2171
+ };
2172
+ const BoolInstr bi439[] = {
2173
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2174
+ {BO_IMP,0,1,0},
2175
+ {BO_HLT,0,0,0}
2176
+ };
2177
+ const BoolInstr bi440[] = {
2178
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2179
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2180
+ {BO_HLT,0,0,0}
2181
+ };
2182
+ const BoolInstr bi441[] = {
2183
+ {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
2184
+ {BO_HLT,0,0,0}
2185
+ };
2186
+ const BoolInstr bi442[] = {
2187
+ {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
2188
+ {BO_HLT,0,0,0}
2189
+ };
2190
+ const BoolInstr bi443[] = {
2191
+ {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
2192
+ {BO_HLT,0,0,0}
2193
+ };
2194
+ const BoolInstr bi444[] = {
2195
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
2196
+ {BO_XOR,0,1,0},
2197
+ {BO_HLT,0,0,0}
2198
+ };
2199
+ const BoolInstr bi445[] = {
2200
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2201
+ {BO_IMP,2,3,1},{BO_XOR,0,1,0},
2202
+ {BO_HLT,0,0,0}
2203
+ };
2204
+ const BoolInstr bi446[] = {
2205
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2206
+ {BO_XOR,0,1,0},
2207
+ {BO_HLT,0,0,0}
2208
+ };
2209
+ const BoolInstr bi447[] = {
2210
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2211
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
2212
+ {BO_HLT,0,0,0}
2213
+ };
2214
+ const BoolInstr bi448[] = {
2215
+ {BO_IMP,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
2216
+ {BO_HLT,0,0,0}
2217
+ };
2218
+ const BoolInstr bi449[] = {
2219
+ {BO_IMP,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
2220
+ {BO_HLT,0,0,0}
2221
+ };
2222
+ const BoolInstr bi450[] = {
2223
+ {BO_IMP,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
2224
+ {BO_HLT,0,0,0}
2225
+ };
2226
+ const BoolInstr bi451[] = {
2227
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_IMP,2,3,1},
2228
+ {BO_EQV,0,1,0},
2229
+ {BO_HLT,0,0,0}
2230
+ };
2231
+ const BoolInstr bi452[] = {
2232
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2233
+ {BO_IMP,2,3,1},{BO_EQV,0,1,0},
2234
+ {BO_HLT,0,0,0}
2235
+ };
2236
+ const BoolInstr bi453[] = {
2237
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2238
+ {BO_EQV,0,1,0},
2239
+ {BO_HLT,0,0,0}
2240
+ };
2241
+ const BoolInstr bi454[] = {
2242
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2243
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
2244
+ {BO_HLT,0,0,0}
2245
+ };
2246
+ const BoolInstr bi455[] = {
2247
+ {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
2248
+ {BO_HLT,0,0,0}
2249
+ };
2250
+ const BoolInstr bi456[] = {
2251
+ {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
2252
+ {BO_HLT,0,0,0}
2253
+ };
2254
+ const BoolInstr bi457[] = {
2255
+ {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
2256
+ {BO_HLT,0,0,0}
2257
+ };
2258
+ const BoolInstr bi458[] = {
2259
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
2260
+ {BO_AND,0,1,0},
2261
+ {BO_HLT,0,0,0}
2262
+ };
2263
+ const BoolInstr bi459[] = {
2264
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2265
+ {BO_XOR,2,3,1},{BO_AND,0,1,0},
2266
+ {BO_HLT,0,0,0}
2267
+ };
2268
+ const BoolInstr bi460[] = {
2269
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2270
+ {BO_AND,0,1,0},
2271
+ {BO_HLT,0,0,0}
2272
+ };
2273
+ const BoolInstr bi461[] = {
2274
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2275
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
2276
+ {BO_HLT,0,0,0}
2277
+ };
2278
+ const BoolInstr bi462[] = {
2279
+ {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
2280
+ {BO_HLT,0,0,0}
2281
+ };
2282
+ const BoolInstr bi463[] = {
2283
+ {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
2284
+ {BO_HLT,0,0,0}
2285
+ };
2286
+ const BoolInstr bi464[] = {
2287
+ {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
2288
+ {BO_HLT,0,0,0}
2289
+ };
2290
+ const BoolInstr bi465[] = {
2291
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
2292
+ {BO_OR ,0,1,0},
2293
+ {BO_HLT,0,0,0}
2294
+ };
2295
+ const BoolInstr bi466[] = {
2296
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2297
+ {BO_XOR,2,3,1},{BO_OR ,0,1,0},
2298
+ {BO_HLT,0,0,0}
2299
+ };
2300
+ const BoolInstr bi467[] = {
2301
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2302
+ {BO_OR ,0,1,0},
2303
+ {BO_HLT,0,0,0}
2304
+ };
2305
+ const BoolInstr bi468[] = {
2306
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2307
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
2308
+ {BO_HLT,0,0,0}
2309
+ };
2310
+ const BoolInstr bi469[] = {
2311
+ {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
2312
+ {BO_HLT,0,0,0}
2313
+ };
2314
+ const BoolInstr bi470[] = {
2315
+ {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
2316
+ {BO_HLT,0,0,0}
2317
+ };
2318
+ const BoolInstr bi471[] = {
2319
+ {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
2320
+ {BO_HLT,0,0,0}
2321
+ };
2322
+ const BoolInstr bi472[] = {
2323
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
2324
+ {BO_IMP,0,1,0},
2325
+ {BO_HLT,0,0,0}
2326
+ };
2327
+ const BoolInstr bi473[] = {
2328
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2329
+ {BO_XOR,2,3,1},{BO_IMP,0,1,0},
2330
+ {BO_HLT,0,0,0}
2331
+ };
2332
+ const BoolInstr bi474[] = {
2333
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2334
+ {BO_IMP,0,1,0},
2335
+ {BO_HLT,0,0,0}
2336
+ };
2337
+ const BoolInstr bi475[] = {
2338
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2339
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2340
+ {BO_HLT,0,0,0}
2341
+ };
2342
+ const BoolInstr bi476[] = {
2343
+ {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
2344
+ {BO_HLT,0,0,0}
2345
+ };
2346
+ const BoolInstr bi477[] = {
2347
+ {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
2348
+ {BO_HLT,0,0,0}
2349
+ };
2350
+ const BoolInstr bi478[] = {
2351
+ {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
2352
+ {BO_HLT,0,0,0}
2353
+ };
2354
+ const BoolInstr bi479[] = {
2355
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
2356
+ {BO_XOR,0,1,0},
2357
+ {BO_HLT,0,0,0}
2358
+ };
2359
+ const BoolInstr bi480[] = {
2360
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2361
+ {BO_XOR,2,3,1},{BO_XOR,0,1,0},
2362
+ {BO_HLT,0,0,0}
2363
+ };
2364
+ const BoolInstr bi481[] = {
2365
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2366
+ {BO_XOR,0,1,0},
2367
+ {BO_HLT,0,0,0}
2368
+ };
2369
+ const BoolInstr bi482[] = {
2370
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2371
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
2372
+ {BO_HLT,0,0,0}
2373
+ };
2374
+ const BoolInstr bi483[] = {
2375
+ {BO_IMP,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
2376
+ {BO_HLT,0,0,0}
2377
+ };
2378
+ const BoolInstr bi484[] = {
2379
+ {BO_IMP,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
2380
+ {BO_HLT,0,0,0}
2381
+ };
2382
+ const BoolInstr bi485[] = {
2383
+ {BO_IMP,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
2384
+ {BO_HLT,0,0,0}
2385
+ };
2386
+ const BoolInstr bi486[] = {
2387
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_XOR,2,3,1},
2388
+ {BO_EQV,0,1,0},
2389
+ {BO_HLT,0,0,0}
2390
+ };
2391
+ const BoolInstr bi487[] = {
2392
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2393
+ {BO_XOR,2,3,1},{BO_EQV,0,1,0},
2394
+ {BO_HLT,0,0,0}
2395
+ };
2396
+ const BoolInstr bi488[] = {
2397
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2398
+ {BO_EQV,0,1,0},
2399
+ {BO_HLT,0,0,0}
2400
+ };
2401
+ const BoolInstr bi489[] = {
2402
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
2403
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
2404
+ {BO_HLT,0,0,0}
2405
+ };
2406
+ const BoolInstr bi490[] = {
2407
+ {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
2408
+ {BO_HLT,0,0,0}
2409
+ };
2410
+ const BoolInstr bi491[] = {
2411
+ {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
2412
+ {BO_HLT,0,0,0}
2413
+ };
2414
+ const BoolInstr bi492[] = {
2415
+ {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
2416
+ {BO_HLT,0,0,0}
2417
+ };
2418
+ const BoolInstr bi493[] = {
2419
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
2420
+ {BO_AND,0,1,0},
2421
+ {BO_HLT,0,0,0}
2422
+ };
2423
+ const BoolInstr bi494[] = {
2424
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2425
+ {BO_EQV,2,3,1},{BO_AND,0,1,0},
2426
+ {BO_HLT,0,0,0}
2427
+ };
2428
+ const BoolInstr bi495[] = {
2429
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2430
+ {BO_AND,0,1,0},
2431
+ {BO_HLT,0,0,0}
2432
+ };
2433
+ const BoolInstr bi496[] = {
2434
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2435
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
2436
+ {BO_HLT,0,0,0}
2437
+ };
2438
+ const BoolInstr bi497[] = {
2439
+ {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
2440
+ {BO_HLT,0,0,0}
2441
+ };
2442
+ const BoolInstr bi498[] = {
2443
+ {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
2444
+ {BO_HLT,0,0,0}
2445
+ };
2446
+ const BoolInstr bi499[] = {
2447
+ {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
2448
+ {BO_HLT,0,0,0}
2449
+ };
2450
+ const BoolInstr bi500[] = {
2451
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
2452
+ {BO_OR ,0,1,0},
2453
+ {BO_HLT,0,0,0}
2454
+ };
2455
+ const BoolInstr bi501[] = {
2456
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2457
+ {BO_EQV,2,3,1},{BO_OR ,0,1,0},
2458
+ {BO_HLT,0,0,0}
2459
+ };
2460
+ const BoolInstr bi502[] = {
2461
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2462
+ {BO_OR ,0,1,0},
2463
+ {BO_HLT,0,0,0}
2464
+ };
2465
+ const BoolInstr bi503[] = {
2466
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2467
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
2468
+ {BO_HLT,0,0,0}
2469
+ };
2470
+ const BoolInstr bi504[] = {
2471
+ {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
2472
+ {BO_HLT,0,0,0}
2473
+ };
2474
+ const BoolInstr bi505[] = {
2475
+ {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
2476
+ {BO_HLT,0,0,0}
2477
+ };
2478
+ const BoolInstr bi506[] = {
2479
+ {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
2480
+ {BO_HLT,0,0,0}
2481
+ };
2482
+ const BoolInstr bi507[] = {
2483
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
2484
+ {BO_IMP,0,1,0},
2485
+ {BO_HLT,0,0,0}
2486
+ };
2487
+ const BoolInstr bi508[] = {
2488
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2489
+ {BO_EQV,2,3,1},{BO_IMP,0,1,0},
2490
+ {BO_HLT,0,0,0}
2491
+ };
2492
+ const BoolInstr bi509[] = {
2493
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2494
+ {BO_IMP,0,1,0},
2495
+ {BO_HLT,0,0,0}
2496
+ };
2497
+ const BoolInstr bi510[] = {
2498
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2499
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2500
+ {BO_HLT,0,0,0}
2501
+ };
2502
+ const BoolInstr bi511[] = {
2503
+ {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
2504
+ {BO_HLT,0,0,0}
2505
+ };
2506
+ const BoolInstr bi512[] = {
2507
+ {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
2508
+ {BO_HLT,0,0,0}
2509
+ };
2510
+ const BoolInstr bi513[] = {
2511
+ {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
2512
+ {BO_HLT,0,0,0}
2513
+ };
2514
+ const BoolInstr bi514[] = {
2515
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
2516
+ {BO_XOR,0,1,0},
2517
+ {BO_HLT,0,0,0}
2518
+ };
2519
+ const BoolInstr bi515[] = {
2520
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2521
+ {BO_EQV,2,3,1},{BO_XOR,0,1,0},
2522
+ {BO_HLT,0,0,0}
2523
+ };
2524
+ const BoolInstr bi516[] = {
2525
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2526
+ {BO_XOR,0,1,0},
2527
+ {BO_HLT,0,0,0}
2528
+ };
2529
+ const BoolInstr bi517[] = {
2530
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2531
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
2532
+ {BO_HLT,0,0,0}
2533
+ };
2534
+ const BoolInstr bi518[] = {
2535
+ {BO_IMP,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
2536
+ {BO_HLT,0,0,0}
2537
+ };
2538
+ const BoolInstr bi519[] = {
2539
+ {BO_IMP,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
2540
+ {BO_HLT,0,0,0}
2541
+ };
2542
+ const BoolInstr bi520[] = {
2543
+ {BO_IMP,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
2544
+ {BO_HLT,0,0,0}
2545
+ };
2546
+ const BoolInstr bi521[] = {
2547
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_IMP,0,1,0},{BO_EQV,2,3,1},
2548
+ {BO_EQV,0,1,0},
2549
+ {BO_HLT,0,0,0}
2550
+ };
2551
+ const BoolInstr bi522[] = {
2552
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_IMP,0,1,0},
2553
+ {BO_EQV,2,3,1},{BO_EQV,0,1,0},
2554
+ {BO_HLT,0,0,0}
2555
+ };
2556
+ const BoolInstr bi523[] = {
2557
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2558
+ {BO_EQV,0,1,0},
2559
+ {BO_HLT,0,0,0}
2560
+ };
2561
+ const BoolInstr bi524[] = {
2562
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
2563
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
2564
+ {BO_HLT,0,0,0}
2565
+ };
2566
+ const BoolInstr bi525[] = {
2567
+ {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
2568
+ {BO_HLT,0,0,0}
2569
+ };
2570
+ const BoolInstr bi526[] = {
2571
+ {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
2572
+ {BO_HLT,0,0,0}
2573
+ };
2574
+ const BoolInstr bi527[] = {
2575
+ {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
2576
+ {BO_HLT,0,0,0}
2577
+ };
2578
+ const BoolInstr bi528[] = {
2579
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
2580
+ {BO_AND,0,1,0},
2581
+ {BO_HLT,0,0,0}
2582
+ };
2583
+ const BoolInstr bi529[] = {
2584
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2585
+ {BO_AND,2,3,1},{BO_AND,0,1,0},
2586
+ {BO_HLT,0,0,0}
2587
+ };
2588
+ const BoolInstr bi530[] = {
2589
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2590
+ {BO_AND,0,1,0},
2591
+ {BO_HLT,0,0,0}
2592
+ };
2593
+ const BoolInstr bi531[] = {
2594
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2595
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
2596
+ {BO_HLT,0,0,0}
2597
+ };
2598
+ const BoolInstr bi532[] = {
2599
+ {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
2600
+ {BO_HLT,0,0,0}
2601
+ };
2602
+ const BoolInstr bi533[] = {
2603
+ {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
2604
+ {BO_HLT,0,0,0}
2605
+ };
2606
+ const BoolInstr bi534[] = {
2607
+ {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
2608
+ {BO_HLT,0,0,0}
2609
+ };
2610
+ const BoolInstr bi535[] = {
2611
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
2612
+ {BO_OR ,0,1,0},
2613
+ {BO_HLT,0,0,0}
2614
+ };
2615
+ const BoolInstr bi536[] = {
2616
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2617
+ {BO_AND,2,3,1},{BO_OR ,0,1,0},
2618
+ {BO_HLT,0,0,0}
2619
+ };
2620
+ const BoolInstr bi537[] = {
2621
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2622
+ {BO_OR ,0,1,0},
2623
+ {BO_HLT,0,0,0}
2624
+ };
2625
+ const BoolInstr bi538[] = {
2626
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2627
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
2628
+ {BO_HLT,0,0,0}
2629
+ };
2630
+ const BoolInstr bi539[] = {
2631
+ {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
2632
+ {BO_HLT,0,0,0}
2633
+ };
2634
+ const BoolInstr bi540[] = {
2635
+ {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
2636
+ {BO_HLT,0,0,0}
2637
+ };
2638
+ const BoolInstr bi541[] = {
2639
+ {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
2640
+ {BO_HLT,0,0,0}
2641
+ };
2642
+ const BoolInstr bi542[] = {
2643
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
2644
+ {BO_IMP,0,1,0},
2645
+ {BO_HLT,0,0,0}
2646
+ };
2647
+ const BoolInstr bi543[] = {
2648
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2649
+ {BO_AND,2,3,1},{BO_IMP,0,1,0},
2650
+ {BO_HLT,0,0,0}
2651
+ };
2652
+ const BoolInstr bi544[] = {
2653
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2654
+ {BO_IMP,0,1,0},
2655
+ {BO_HLT,0,0,0}
2656
+ };
2657
+ const BoolInstr bi545[] = {
2658
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2659
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2660
+ {BO_HLT,0,0,0}
2661
+ };
2662
+ const BoolInstr bi546[] = {
2663
+ {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
2664
+ {BO_HLT,0,0,0}
2665
+ };
2666
+ const BoolInstr bi547[] = {
2667
+ {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
2668
+ {BO_HLT,0,0,0}
2669
+ };
2670
+ const BoolInstr bi548[] = {
2671
+ {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
2672
+ {BO_HLT,0,0,0}
2673
+ };
2674
+ const BoolInstr bi549[] = {
2675
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
2676
+ {BO_XOR,0,1,0},
2677
+ {BO_HLT,0,0,0}
2678
+ };
2679
+ const BoolInstr bi550[] = {
2680
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2681
+ {BO_AND,2,3,1},{BO_XOR,0,1,0},
2682
+ {BO_HLT,0,0,0}
2683
+ };
2684
+ const BoolInstr bi551[] = {
2685
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2686
+ {BO_XOR,0,1,0},
2687
+ {BO_HLT,0,0,0}
2688
+ };
2689
+ const BoolInstr bi552[] = {
2690
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2691
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
2692
+ {BO_HLT,0,0,0}
2693
+ };
2694
+ const BoolInstr bi553[] = {
2695
+ {BO_XOR,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
2696
+ {BO_HLT,0,0,0}
2697
+ };
2698
+ const BoolInstr bi554[] = {
2699
+ {BO_XOR,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
2700
+ {BO_HLT,0,0,0}
2701
+ };
2702
+ const BoolInstr bi555[] = {
2703
+ {BO_XOR,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
2704
+ {BO_HLT,0,0,0}
2705
+ };
2706
+ const BoolInstr bi556[] = {
2707
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_AND,2,3,1},
2708
+ {BO_EQV,0,1,0},
2709
+ {BO_HLT,0,0,0}
2710
+ };
2711
+ const BoolInstr bi557[] = {
2712
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2713
+ {BO_AND,2,3,1},{BO_EQV,0,1,0},
2714
+ {BO_HLT,0,0,0}
2715
+ };
2716
+ const BoolInstr bi558[] = {
2717
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2718
+ {BO_EQV,0,1,0},
2719
+ {BO_HLT,0,0,0}
2720
+ };
2721
+ const BoolInstr bi559[] = {
2722
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
2723
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
2724
+ {BO_HLT,0,0,0}
2725
+ };
2726
+ const BoolInstr bi560[] = {
2727
+ {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
2728
+ {BO_HLT,0,0,0}
2729
+ };
2730
+ const BoolInstr bi561[] = {
2731
+ {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
2732
+ {BO_HLT,0,0,0}
2733
+ };
2734
+ const BoolInstr bi562[] = {
2735
+ {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
2736
+ {BO_HLT,0,0,0}
2737
+ };
2738
+ const BoolInstr bi563[] = {
2739
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
2740
+ {BO_AND,0,1,0},
2741
+ {BO_HLT,0,0,0}
2742
+ };
2743
+ const BoolInstr bi564[] = {
2744
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2745
+ {BO_OR ,2,3,1},{BO_AND,0,1,0},
2746
+ {BO_HLT,0,0,0}
2747
+ };
2748
+ const BoolInstr bi565[] = {
2749
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2750
+ {BO_AND,0,1,0},
2751
+ {BO_HLT,0,0,0}
2752
+ };
2753
+ const BoolInstr bi566[] = {
2754
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2755
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
2756
+ {BO_HLT,0,0,0}
2757
+ };
2758
+ const BoolInstr bi567[] = {
2759
+ {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
2760
+ {BO_HLT,0,0,0}
2761
+ };
2762
+ const BoolInstr bi568[] = {
2763
+ {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
2764
+ {BO_HLT,0,0,0}
2765
+ };
2766
+ const BoolInstr bi569[] = {
2767
+ {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
2768
+ {BO_HLT,0,0,0}
2769
+ };
2770
+ const BoolInstr bi570[] = {
2771
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
2772
+ {BO_OR ,0,1,0},
2773
+ {BO_HLT,0,0,0}
2774
+ };
2775
+ const BoolInstr bi571[] = {
2776
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2777
+ {BO_OR ,2,3,1},{BO_OR ,0,1,0},
2778
+ {BO_HLT,0,0,0}
2779
+ };
2780
+ const BoolInstr bi572[] = {
2781
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2782
+ {BO_OR ,0,1,0},
2783
+ {BO_HLT,0,0,0}
2784
+ };
2785
+ const BoolInstr bi573[] = {
2786
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2787
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
2788
+ {BO_HLT,0,0,0}
2789
+ };
2790
+ const BoolInstr bi574[] = {
2791
+ {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
2792
+ {BO_HLT,0,0,0}
2793
+ };
2794
+ const BoolInstr bi575[] = {
2795
+ {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
2796
+ {BO_HLT,0,0,0}
2797
+ };
2798
+ const BoolInstr bi576[] = {
2799
+ {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
2800
+ {BO_HLT,0,0,0}
2801
+ };
2802
+ const BoolInstr bi577[] = {
2803
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
2804
+ {BO_IMP,0,1,0},
2805
+ {BO_HLT,0,0,0}
2806
+ };
2807
+ const BoolInstr bi578[] = {
2808
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2809
+ {BO_OR ,2,3,1},{BO_IMP,0,1,0},
2810
+ {BO_HLT,0,0,0}
2811
+ };
2812
+ const BoolInstr bi579[] = {
2813
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2814
+ {BO_IMP,0,1,0},
2815
+ {BO_HLT,0,0,0}
2816
+ };
2817
+ const BoolInstr bi580[] = {
2818
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2819
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2820
+ {BO_HLT,0,0,0}
2821
+ };
2822
+ const BoolInstr bi581[] = {
2823
+ {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
2824
+ {BO_HLT,0,0,0}
2825
+ };
2826
+ const BoolInstr bi582[] = {
2827
+ {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
2828
+ {BO_HLT,0,0,0}
2829
+ };
2830
+ const BoolInstr bi583[] = {
2831
+ {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
2832
+ {BO_HLT,0,0,0}
2833
+ };
2834
+ const BoolInstr bi584[] = {
2835
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
2836
+ {BO_XOR,0,1,0},
2837
+ {BO_HLT,0,0,0}
2838
+ };
2839
+ const BoolInstr bi585[] = {
2840
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2841
+ {BO_OR ,2,3,1},{BO_XOR,0,1,0},
2842
+ {BO_HLT,0,0,0}
2843
+ };
2844
+ const BoolInstr bi586[] = {
2845
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2846
+ {BO_XOR,0,1,0},
2847
+ {BO_HLT,0,0,0}
2848
+ };
2849
+ const BoolInstr bi587[] = {
2850
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2851
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
2852
+ {BO_HLT,0,0,0}
2853
+ };
2854
+ const BoolInstr bi588[] = {
2855
+ {BO_XOR,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
2856
+ {BO_HLT,0,0,0}
2857
+ };
2858
+ const BoolInstr bi589[] = {
2859
+ {BO_XOR,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
2860
+ {BO_HLT,0,0,0}
2861
+ };
2862
+ const BoolInstr bi590[] = {
2863
+ {BO_XOR,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
2864
+ {BO_HLT,0,0,0}
2865
+ };
2866
+ const BoolInstr bi591[] = {
2867
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_OR ,2,3,1},
2868
+ {BO_EQV,0,1,0},
2869
+ {BO_HLT,0,0,0}
2870
+ };
2871
+ const BoolInstr bi592[] = {
2872
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2873
+ {BO_OR ,2,3,1},{BO_EQV,0,1,0},
2874
+ {BO_HLT,0,0,0}
2875
+ };
2876
+ const BoolInstr bi593[] = {
2877
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2878
+ {BO_EQV,0,1,0},
2879
+ {BO_HLT,0,0,0}
2880
+ };
2881
+ const BoolInstr bi594[] = {
2882
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
2883
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
2884
+ {BO_HLT,0,0,0}
2885
+ };
2886
+ const BoolInstr bi595[] = {
2887
+ {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
2888
+ {BO_HLT,0,0,0}
2889
+ };
2890
+ const BoolInstr bi596[] = {
2891
+ {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
2892
+ {BO_HLT,0,0,0}
2893
+ };
2894
+ const BoolInstr bi597[] = {
2895
+ {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
2896
+ {BO_HLT,0,0,0}
2897
+ };
2898
+ const BoolInstr bi598[] = {
2899
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
2900
+ {BO_AND,0,1,0},
2901
+ {BO_HLT,0,0,0}
2902
+ };
2903
+ const BoolInstr bi599[] = {
2904
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2905
+ {BO_IMP,2,3,1},{BO_AND,0,1,0},
2906
+ {BO_HLT,0,0,0}
2907
+ };
2908
+ const BoolInstr bi600[] = {
2909
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2910
+ {BO_AND,0,1,0},
2911
+ {BO_HLT,0,0,0}
2912
+ };
2913
+ const BoolInstr bi601[] = {
2914
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2915
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
2916
+ {BO_HLT,0,0,0}
2917
+ };
2918
+ const BoolInstr bi602[] = {
2919
+ {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
2920
+ {BO_HLT,0,0,0}
2921
+ };
2922
+ const BoolInstr bi603[] = {
2923
+ {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
2924
+ {BO_HLT,0,0,0}
2925
+ };
2926
+ const BoolInstr bi604[] = {
2927
+ {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
2928
+ {BO_HLT,0,0,0}
2929
+ };
2930
+ const BoolInstr bi605[] = {
2931
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
2932
+ {BO_OR ,0,1,0},
2933
+ {BO_HLT,0,0,0}
2934
+ };
2935
+ const BoolInstr bi606[] = {
2936
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2937
+ {BO_IMP,2,3,1},{BO_OR ,0,1,0},
2938
+ {BO_HLT,0,0,0}
2939
+ };
2940
+ const BoolInstr bi607[] = {
2941
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2942
+ {BO_OR ,0,1,0},
2943
+ {BO_HLT,0,0,0}
2944
+ };
2945
+ const BoolInstr bi608[] = {
2946
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2947
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
2948
+ {BO_HLT,0,0,0}
2949
+ };
2950
+ const BoolInstr bi609[] = {
2951
+ {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
2952
+ {BO_HLT,0,0,0}
2953
+ };
2954
+ const BoolInstr bi610[] = {
2955
+ {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
2956
+ {BO_HLT,0,0,0}
2957
+ };
2958
+ const BoolInstr bi611[] = {
2959
+ {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
2960
+ {BO_HLT,0,0,0}
2961
+ };
2962
+ const BoolInstr bi612[] = {
2963
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
2964
+ {BO_IMP,0,1,0},
2965
+ {BO_HLT,0,0,0}
2966
+ };
2967
+ const BoolInstr bi613[] = {
2968
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
2969
+ {BO_IMP,2,3,1},{BO_IMP,0,1,0},
2970
+ {BO_HLT,0,0,0}
2971
+ };
2972
+ const BoolInstr bi614[] = {
2973
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2974
+ {BO_IMP,0,1,0},
2975
+ {BO_HLT,0,0,0}
2976
+ };
2977
+ const BoolInstr bi615[] = {
2978
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
2979
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
2980
+ {BO_HLT,0,0,0}
2981
+ };
2982
+ const BoolInstr bi616[] = {
2983
+ {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
2984
+ {BO_HLT,0,0,0}
2985
+ };
2986
+ const BoolInstr bi617[] = {
2987
+ {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
2988
+ {BO_HLT,0,0,0}
2989
+ };
2990
+ const BoolInstr bi618[] = {
2991
+ {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
2992
+ {BO_HLT,0,0,0}
2993
+ };
2994
+ const BoolInstr bi619[] = {
2995
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
2996
+ {BO_XOR,0,1,0},
2997
+ {BO_HLT,0,0,0}
2998
+ };
2999
+ const BoolInstr bi620[] = {
3000
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3001
+ {BO_IMP,2,3,1},{BO_XOR,0,1,0},
3002
+ {BO_HLT,0,0,0}
3003
+ };
3004
+ const BoolInstr bi621[] = {
3005
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3006
+ {BO_XOR,0,1,0},
3007
+ {BO_HLT,0,0,0}
3008
+ };
3009
+ const BoolInstr bi622[] = {
3010
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3011
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3012
+ {BO_HLT,0,0,0}
3013
+ };
3014
+ const BoolInstr bi623[] = {
3015
+ {BO_XOR,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
3016
+ {BO_HLT,0,0,0}
3017
+ };
3018
+ const BoolInstr bi624[] = {
3019
+ {BO_XOR,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
3020
+ {BO_HLT,0,0,0}
3021
+ };
3022
+ const BoolInstr bi625[] = {
3023
+ {BO_XOR,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
3024
+ {BO_HLT,0,0,0}
3025
+ };
3026
+ const BoolInstr bi626[] = {
3027
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_IMP,2,3,1},
3028
+ {BO_EQV,0,1,0},
3029
+ {BO_HLT,0,0,0}
3030
+ };
3031
+ const BoolInstr bi627[] = {
3032
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3033
+ {BO_IMP,2,3,1},{BO_EQV,0,1,0},
3034
+ {BO_HLT,0,0,0}
3035
+ };
3036
+ const BoolInstr bi628[] = {
3037
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3038
+ {BO_EQV,0,1,0},
3039
+ {BO_HLT,0,0,0}
3040
+ };
3041
+ const BoolInstr bi629[] = {
3042
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3043
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
3044
+ {BO_HLT,0,0,0}
3045
+ };
3046
+ const BoolInstr bi630[] = {
3047
+ {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
3048
+ {BO_HLT,0,0,0}
3049
+ };
3050
+ const BoolInstr bi631[] = {
3051
+ {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
3052
+ {BO_HLT,0,0,0}
3053
+ };
3054
+ const BoolInstr bi632[] = {
3055
+ {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
3056
+ {BO_HLT,0,0,0}
3057
+ };
3058
+ const BoolInstr bi633[] = {
3059
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
3060
+ {BO_AND,0,1,0},
3061
+ {BO_HLT,0,0,0}
3062
+ };
3063
+ const BoolInstr bi634[] = {
3064
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3065
+ {BO_XOR,2,3,1},{BO_AND,0,1,0},
3066
+ {BO_HLT,0,0,0}
3067
+ };
3068
+ const BoolInstr bi635[] = {
3069
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3070
+ {BO_AND,0,1,0},
3071
+ {BO_HLT,0,0,0}
3072
+ };
3073
+ const BoolInstr bi636[] = {
3074
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3075
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
3076
+ {BO_HLT,0,0,0}
3077
+ };
3078
+ const BoolInstr bi637[] = {
3079
+ {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
3080
+ {BO_HLT,0,0,0}
3081
+ };
3082
+ const BoolInstr bi638[] = {
3083
+ {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
3084
+ {BO_HLT,0,0,0}
3085
+ };
3086
+ const BoolInstr bi639[] = {
3087
+ {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
3088
+ {BO_HLT,0,0,0}
3089
+ };
3090
+ const BoolInstr bi640[] = {
3091
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
3092
+ {BO_OR ,0,1,0},
3093
+ {BO_HLT,0,0,0}
3094
+ };
3095
+ const BoolInstr bi641[] = {
3096
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3097
+ {BO_XOR,2,3,1},{BO_OR ,0,1,0},
3098
+ {BO_HLT,0,0,0}
3099
+ };
3100
+ const BoolInstr bi642[] = {
3101
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3102
+ {BO_OR ,0,1,0},
3103
+ {BO_HLT,0,0,0}
3104
+ };
3105
+ const BoolInstr bi643[] = {
3106
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3107
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
3108
+ {BO_HLT,0,0,0}
3109
+ };
3110
+ const BoolInstr bi644[] = {
3111
+ {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
3112
+ {BO_HLT,0,0,0}
3113
+ };
3114
+ const BoolInstr bi645[] = {
3115
+ {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
3116
+ {BO_HLT,0,0,0}
3117
+ };
3118
+ const BoolInstr bi646[] = {
3119
+ {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
3120
+ {BO_HLT,0,0,0}
3121
+ };
3122
+ const BoolInstr bi647[] = {
3123
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
3124
+ {BO_IMP,0,1,0},
3125
+ {BO_HLT,0,0,0}
3126
+ };
3127
+ const BoolInstr bi648[] = {
3128
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3129
+ {BO_XOR,2,3,1},{BO_IMP,0,1,0},
3130
+ {BO_HLT,0,0,0}
3131
+ };
3132
+ const BoolInstr bi649[] = {
3133
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3134
+ {BO_IMP,0,1,0},
3135
+ {BO_HLT,0,0,0}
3136
+ };
3137
+ const BoolInstr bi650[] = {
3138
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3139
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
3140
+ {BO_HLT,0,0,0}
3141
+ };
3142
+ const BoolInstr bi651[] = {
3143
+ {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
3144
+ {BO_HLT,0,0,0}
3145
+ };
3146
+ const BoolInstr bi652[] = {
3147
+ {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
3148
+ {BO_HLT,0,0,0}
3149
+ };
3150
+ const BoolInstr bi653[] = {
3151
+ {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
3152
+ {BO_HLT,0,0,0}
3153
+ };
3154
+ const BoolInstr bi654[] = {
3155
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
3156
+ {BO_XOR,0,1,0},
3157
+ {BO_HLT,0,0,0}
3158
+ };
3159
+ const BoolInstr bi655[] = {
3160
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3161
+ {BO_XOR,2,3,1},{BO_XOR,0,1,0},
3162
+ {BO_HLT,0,0,0}
3163
+ };
3164
+ const BoolInstr bi656[] = {
3165
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3166
+ {BO_XOR,0,1,0},
3167
+ {BO_HLT,0,0,0}
3168
+ };
3169
+ const BoolInstr bi657[] = {
3170
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3171
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3172
+ {BO_HLT,0,0,0}
3173
+ };
3174
+ const BoolInstr bi658[] = {
3175
+ {BO_XOR,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
3176
+ {BO_HLT,0,0,0}
3177
+ };
3178
+ const BoolInstr bi659[] = {
3179
+ {BO_XOR,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
3180
+ {BO_HLT,0,0,0}
3181
+ };
3182
+ const BoolInstr bi660[] = {
3183
+ {BO_XOR,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
3184
+ {BO_HLT,0,0,0}
3185
+ };
3186
+ const BoolInstr bi661[] = {
3187
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_XOR,2,3,1},
3188
+ {BO_EQV,0,1,0},
3189
+ {BO_HLT,0,0,0}
3190
+ };
3191
+ const BoolInstr bi662[] = {
3192
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3193
+ {BO_XOR,2,3,1},{BO_EQV,0,1,0},
3194
+ {BO_HLT,0,0,0}
3195
+ };
3196
+ const BoolInstr bi663[] = {
3197
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3198
+ {BO_EQV,0,1,0},
3199
+ {BO_HLT,0,0,0}
3200
+ };
3201
+ const BoolInstr bi664[] = {
3202
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3203
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
3204
+ {BO_HLT,0,0,0}
3205
+ };
3206
+ const BoolInstr bi665[] = {
3207
+ {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
3208
+ {BO_HLT,0,0,0}
3209
+ };
3210
+ const BoolInstr bi666[] = {
3211
+ {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
3212
+ {BO_HLT,0,0,0}
3213
+ };
3214
+ const BoolInstr bi667[] = {
3215
+ {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
3216
+ {BO_HLT,0,0,0}
3217
+ };
3218
+ const BoolInstr bi668[] = {
3219
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
3220
+ {BO_AND,0,1,0},
3221
+ {BO_HLT,0,0,0}
3222
+ };
3223
+ const BoolInstr bi669[] = {
3224
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3225
+ {BO_EQV,2,3,1},{BO_AND,0,1,0},
3226
+ {BO_HLT,0,0,0}
3227
+ };
3228
+ const BoolInstr bi670[] = {
3229
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3230
+ {BO_AND,0,1,0},
3231
+ {BO_HLT,0,0,0}
3232
+ };
3233
+ const BoolInstr bi671[] = {
3234
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3235
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
3236
+ {BO_HLT,0,0,0}
3237
+ };
3238
+ const BoolInstr bi672[] = {
3239
+ {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
3240
+ {BO_HLT,0,0,0}
3241
+ };
3242
+ const BoolInstr bi673[] = {
3243
+ {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
3244
+ {BO_HLT,0,0,0}
3245
+ };
3246
+ const BoolInstr bi674[] = {
3247
+ {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
3248
+ {BO_HLT,0,0,0}
3249
+ };
3250
+ const BoolInstr bi675[] = {
3251
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
3252
+ {BO_OR ,0,1,0},
3253
+ {BO_HLT,0,0,0}
3254
+ };
3255
+ const BoolInstr bi676[] = {
3256
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3257
+ {BO_EQV,2,3,1},{BO_OR ,0,1,0},
3258
+ {BO_HLT,0,0,0}
3259
+ };
3260
+ const BoolInstr bi677[] = {
3261
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3262
+ {BO_OR ,0,1,0},
3263
+ {BO_HLT,0,0,0}
3264
+ };
3265
+ const BoolInstr bi678[] = {
3266
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3267
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
3268
+ {BO_HLT,0,0,0}
3269
+ };
3270
+ const BoolInstr bi679[] = {
3271
+ {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
3272
+ {BO_HLT,0,0,0}
3273
+ };
3274
+ const BoolInstr bi680[] = {
3275
+ {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
3276
+ {BO_HLT,0,0,0}
3277
+ };
3278
+ const BoolInstr bi681[] = {
3279
+ {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
3280
+ {BO_HLT,0,0,0}
3281
+ };
3282
+ const BoolInstr bi682[] = {
3283
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
3284
+ {BO_IMP,0,1,0},
3285
+ {BO_HLT,0,0,0}
3286
+ };
3287
+ const BoolInstr bi683[] = {
3288
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3289
+ {BO_EQV,2,3,1},{BO_IMP,0,1,0},
3290
+ {BO_HLT,0,0,0}
3291
+ };
3292
+ const BoolInstr bi684[] = {
3293
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3294
+ {BO_IMP,0,1,0},
3295
+ {BO_HLT,0,0,0}
3296
+ };
3297
+ const BoolInstr bi685[] = {
3298
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3299
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
3300
+ {BO_HLT,0,0,0}
3301
+ };
3302
+ const BoolInstr bi686[] = {
3303
+ {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
3304
+ {BO_HLT,0,0,0}
3305
+ };
3306
+ const BoolInstr bi687[] = {
3307
+ {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
3308
+ {BO_HLT,0,0,0}
3309
+ };
3310
+ const BoolInstr bi688[] = {
3311
+ {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
3312
+ {BO_HLT,0,0,0}
3313
+ };
3314
+ const BoolInstr bi689[] = {
3315
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
3316
+ {BO_XOR,0,1,0},
3317
+ {BO_HLT,0,0,0}
3318
+ };
3319
+ const BoolInstr bi690[] = {
3320
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3321
+ {BO_EQV,2,3,1},{BO_XOR,0,1,0},
3322
+ {BO_HLT,0,0,0}
3323
+ };
3324
+ const BoolInstr bi691[] = {
3325
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3326
+ {BO_XOR,0,1,0},
3327
+ {BO_HLT,0,0,0}
3328
+ };
3329
+ const BoolInstr bi692[] = {
3330
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3331
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3332
+ {BO_HLT,0,0,0}
3333
+ };
3334
+ const BoolInstr bi693[] = {
3335
+ {BO_XOR,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
3336
+ {BO_HLT,0,0,0}
3337
+ };
3338
+ const BoolInstr bi694[] = {
3339
+ {BO_XOR,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
3340
+ {BO_HLT,0,0,0}
3341
+ };
3342
+ const BoolInstr bi695[] = {
3343
+ {BO_XOR,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
3344
+ {BO_HLT,0,0,0}
3345
+ };
3346
+ const BoolInstr bi696[] = {
3347
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_XOR,0,1,0},{BO_EQV,2,3,1},
3348
+ {BO_EQV,0,1,0},
3349
+ {BO_HLT,0,0,0}
3350
+ };
3351
+ const BoolInstr bi697[] = {
3352
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_XOR,0,1,0},
3353
+ {BO_EQV,2,3,1},{BO_EQV,0,1,0},
3354
+ {BO_HLT,0,0,0}
3355
+ };
3356
+ const BoolInstr bi698[] = {
3357
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3358
+ {BO_EQV,0,1,0},
3359
+ {BO_HLT,0,0,0}
3360
+ };
3361
+ const BoolInstr bi699[] = {
3362
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
3363
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
3364
+ {BO_HLT,0,0,0}
3365
+ };
3366
+ const BoolInstr bi700[] = {
3367
+ {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_AND,0,1,0},
3368
+ {BO_HLT,0,0,0}
3369
+ };
3370
+ const BoolInstr bi701[] = {
3371
+ {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_AND,0,3,0},
3372
+ {BO_HLT,0,0,0}
3373
+ };
3374
+ const BoolInstr bi702[] = {
3375
+ {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_AND,0,1,0},
3376
+ {BO_HLT,0,0,0}
3377
+ };
3378
+ const BoolInstr bi703[] = {
3379
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
3380
+ {BO_AND,0,1,0},
3381
+ {BO_HLT,0,0,0}
3382
+ };
3383
+ const BoolInstr bi704[] = {
3384
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3385
+ {BO_AND,2,3,1},{BO_AND,0,1,0},
3386
+ {BO_HLT,0,0,0}
3387
+ };
3388
+ const BoolInstr bi705[] = {
3389
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3390
+ {BO_AND,0,1,0},
3391
+ {BO_HLT,0,0,0}
3392
+ };
3393
+ const BoolInstr bi706[] = {
3394
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3395
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
3396
+ {BO_HLT,0,0,0}
3397
+ };
3398
+ const BoolInstr bi707[] = {
3399
+ {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_OR ,0,1,0},
3400
+ {BO_HLT,0,0,0}
3401
+ };
3402
+ const BoolInstr bi708[] = {
3403
+ {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_OR ,0,3,0},
3404
+ {BO_HLT,0,0,0}
3405
+ };
3406
+ const BoolInstr bi709[] = {
3407
+ {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_OR ,0,1,0},
3408
+ {BO_HLT,0,0,0}
3409
+ };
3410
+ const BoolInstr bi710[] = {
3411
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
3412
+ {BO_OR ,0,1,0},
3413
+ {BO_HLT,0,0,0}
3414
+ };
3415
+ const BoolInstr bi711[] = {
3416
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3417
+ {BO_AND,2,3,1},{BO_OR ,0,1,0},
3418
+ {BO_HLT,0,0,0}
3419
+ };
3420
+ const BoolInstr bi712[] = {
3421
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3422
+ {BO_OR ,0,1,0},
3423
+ {BO_HLT,0,0,0}
3424
+ };
3425
+ const BoolInstr bi713[] = {
3426
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3427
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
3428
+ {BO_HLT,0,0,0}
3429
+ };
3430
+ const BoolInstr bi714[] = {
3431
+ {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_IMP,0,1,0},
3432
+ {BO_HLT,0,0,0}
3433
+ };
3434
+ const BoolInstr bi715[] = {
3435
+ {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_IMP,0,3,0},
3436
+ {BO_HLT,0,0,0}
3437
+ };
3438
+ const BoolInstr bi716[] = {
3439
+ {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_IMP,0,1,0},
3440
+ {BO_HLT,0,0,0}
3441
+ };
3442
+ const BoolInstr bi717[] = {
3443
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
3444
+ {BO_IMP,0,1,0},
3445
+ {BO_HLT,0,0,0}
3446
+ };
3447
+ const BoolInstr bi718[] = {
3448
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3449
+ {BO_AND,2,3,1},{BO_IMP,0,1,0},
3450
+ {BO_HLT,0,0,0}
3451
+ };
3452
+ const BoolInstr bi719[] = {
3453
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3454
+ {BO_IMP,0,1,0},
3455
+ {BO_HLT,0,0,0}
3456
+ };
3457
+ const BoolInstr bi720[] = {
3458
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3459
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
3460
+ {BO_HLT,0,0,0}
3461
+ };
3462
+ const BoolInstr bi721[] = {
3463
+ {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_XOR,0,1,0},
3464
+ {BO_HLT,0,0,0}
3465
+ };
3466
+ const BoolInstr bi722[] = {
3467
+ {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_XOR,0,3,0},
3468
+ {BO_HLT,0,0,0}
3469
+ };
3470
+ const BoolInstr bi723[] = {
3471
+ {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_XOR,0,1,0},
3472
+ {BO_HLT,0,0,0}
3473
+ };
3474
+ const BoolInstr bi724[] = {
3475
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
3476
+ {BO_XOR,0,1,0},
3477
+ {BO_HLT,0,0,0}
3478
+ };
3479
+ const BoolInstr bi725[] = {
3480
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3481
+ {BO_AND,2,3,1},{BO_XOR,0,1,0},
3482
+ {BO_HLT,0,0,0}
3483
+ };
3484
+ const BoolInstr bi726[] = {
3485
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3486
+ {BO_XOR,0,1,0},
3487
+ {BO_HLT,0,0,0}
3488
+ };
3489
+ const BoolInstr bi727[] = {
3490
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3491
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3492
+ {BO_HLT,0,0,0}
3493
+ };
3494
+ const BoolInstr bi728[] = {
3495
+ {BO_EQV,0,1,0},{BO_AND,2,3,1},{BO_EQV,0,1,0},
3496
+ {BO_HLT,0,0,0}
3497
+ };
3498
+ const BoolInstr bi729[] = {
3499
+ {BO_EQV,0,1,0},{BO_AND,0,2,0},{BO_EQV,0,3,0},
3500
+ {BO_HLT,0,0,0}
3501
+ };
3502
+ const BoolInstr bi730[] = {
3503
+ {BO_EQV,2,3,2},{BO_AND,1,2,1},{BO_EQV,0,1,0},
3504
+ {BO_HLT,0,0,0}
3505
+ };
3506
+ const BoolInstr bi731[] = {
3507
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_AND,2,3,1},
3508
+ {BO_EQV,0,1,0},
3509
+ {BO_HLT,0,0,0}
3510
+ };
3511
+ const BoolInstr bi732[] = {
3512
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3513
+ {BO_AND,2,3,1},{BO_EQV,0,1,0},
3514
+ {BO_HLT,0,0,0}
3515
+ };
3516
+ const BoolInstr bi733[] = {
3517
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3518
+ {BO_EQV,0,1,0},
3519
+ {BO_HLT,0,0,0}
3520
+ };
3521
+ const BoolInstr bi734[] = {
3522
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_AND,2,3,1},{BO_NOT,1,1,0},
3523
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
3524
+ {BO_HLT,0,0,0}
3525
+ };
3526
+ const BoolInstr bi735[] = {
3527
+ {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_AND,0,1,0},
3528
+ {BO_HLT,0,0,0}
3529
+ };
3530
+ const BoolInstr bi736[] = {
3531
+ {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_AND,0,3,0},
3532
+ {BO_HLT,0,0,0}
3533
+ };
3534
+ const BoolInstr bi737[] = {
3535
+ {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_AND,0,1,0},
3536
+ {BO_HLT,0,0,0}
3537
+ };
3538
+ const BoolInstr bi738[] = {
3539
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
3540
+ {BO_AND,0,1,0},
3541
+ {BO_HLT,0,0,0}
3542
+ };
3543
+ const BoolInstr bi739[] = {
3544
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3545
+ {BO_OR ,2,3,1},{BO_AND,0,1,0},
3546
+ {BO_HLT,0,0,0}
3547
+ };
3548
+ const BoolInstr bi740[] = {
3549
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3550
+ {BO_AND,0,1,0},
3551
+ {BO_HLT,0,0,0}
3552
+ };
3553
+ const BoolInstr bi741[] = {
3554
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3555
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
3556
+ {BO_HLT,0,0,0}
3557
+ };
3558
+ const BoolInstr bi742[] = {
3559
+ {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_OR ,0,1,0},
3560
+ {BO_HLT,0,0,0}
3561
+ };
3562
+ const BoolInstr bi743[] = {
3563
+ {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_OR ,0,3,0},
3564
+ {BO_HLT,0,0,0}
3565
+ };
3566
+ const BoolInstr bi744[] = {
3567
+ {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_OR ,0,1,0},
3568
+ {BO_HLT,0,0,0}
3569
+ };
3570
+ const BoolInstr bi745[] = {
3571
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
3572
+ {BO_OR ,0,1,0},
3573
+ {BO_HLT,0,0,0}
3574
+ };
3575
+ const BoolInstr bi746[] = {
3576
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3577
+ {BO_OR ,2,3,1},{BO_OR ,0,1,0},
3578
+ {BO_HLT,0,0,0}
3579
+ };
3580
+ const BoolInstr bi747[] = {
3581
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3582
+ {BO_OR ,0,1,0},
3583
+ {BO_HLT,0,0,0}
3584
+ };
3585
+ const BoolInstr bi748[] = {
3586
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3587
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
3588
+ {BO_HLT,0,0,0}
3589
+ };
3590
+ const BoolInstr bi749[] = {
3591
+ {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_IMP,0,1,0},
3592
+ {BO_HLT,0,0,0}
3593
+ };
3594
+ const BoolInstr bi750[] = {
3595
+ {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_IMP,0,3,0},
3596
+ {BO_HLT,0,0,0}
3597
+ };
3598
+ const BoolInstr bi751[] = {
3599
+ {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_IMP,0,1,0},
3600
+ {BO_HLT,0,0,0}
3601
+ };
3602
+ const BoolInstr bi752[] = {
3603
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
3604
+ {BO_IMP,0,1,0},
3605
+ {BO_HLT,0,0,0}
3606
+ };
3607
+ const BoolInstr bi753[] = {
3608
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3609
+ {BO_OR ,2,3,1},{BO_IMP,0,1,0},
3610
+ {BO_HLT,0,0,0}
3611
+ };
3612
+ const BoolInstr bi754[] = {
3613
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3614
+ {BO_IMP,0,1,0},
3615
+ {BO_HLT,0,0,0}
3616
+ };
3617
+ const BoolInstr bi755[] = {
3618
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3619
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
3620
+ {BO_HLT,0,0,0}
3621
+ };
3622
+ const BoolInstr bi756[] = {
3623
+ {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_XOR,0,1,0},
3624
+ {BO_HLT,0,0,0}
3625
+ };
3626
+ const BoolInstr bi757[] = {
3627
+ {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_XOR,0,3,0},
3628
+ {BO_HLT,0,0,0}
3629
+ };
3630
+ const BoolInstr bi758[] = {
3631
+ {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_XOR,0,1,0},
3632
+ {BO_HLT,0,0,0}
3633
+ };
3634
+ const BoolInstr bi759[] = {
3635
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
3636
+ {BO_XOR,0,1,0},
3637
+ {BO_HLT,0,0,0}
3638
+ };
3639
+ const BoolInstr bi760[] = {
3640
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3641
+ {BO_OR ,2,3,1},{BO_XOR,0,1,0},
3642
+ {BO_HLT,0,0,0}
3643
+ };
3644
+ const BoolInstr bi761[] = {
3645
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3646
+ {BO_XOR,0,1,0},
3647
+ {BO_HLT,0,0,0}
3648
+ };
3649
+ const BoolInstr bi762[] = {
3650
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3651
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3652
+ {BO_HLT,0,0,0}
3653
+ };
3654
+ const BoolInstr bi763[] = {
3655
+ {BO_EQV,0,1,0},{BO_OR ,2,3,1},{BO_EQV,0,1,0},
3656
+ {BO_HLT,0,0,0}
3657
+ };
3658
+ const BoolInstr bi764[] = {
3659
+ {BO_EQV,0,1,0},{BO_OR ,0,2,0},{BO_EQV,0,3,0},
3660
+ {BO_HLT,0,0,0}
3661
+ };
3662
+ const BoolInstr bi765[] = {
3663
+ {BO_EQV,2,3,2},{BO_OR ,1,2,1},{BO_EQV,0,1,0},
3664
+ {BO_HLT,0,0,0}
3665
+ };
3666
+ const BoolInstr bi766[] = {
3667
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_OR ,2,3,1},
3668
+ {BO_EQV,0,1,0},
3669
+ {BO_HLT,0,0,0}
3670
+ };
3671
+ const BoolInstr bi767[] = {
3672
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3673
+ {BO_OR ,2,3,1},{BO_EQV,0,1,0},
3674
+ {BO_HLT,0,0,0}
3675
+ };
3676
+ const BoolInstr bi768[] = {
3677
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3678
+ {BO_EQV,0,1,0},
3679
+ {BO_HLT,0,0,0}
3680
+ };
3681
+ const BoolInstr bi769[] = {
3682
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_OR ,2,3,1},{BO_NOT,1,1,0},
3683
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
3684
+ {BO_HLT,0,0,0}
3685
+ };
3686
+ const BoolInstr bi770[] = {
3687
+ {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_AND,0,1,0},
3688
+ {BO_HLT,0,0,0}
3689
+ };
3690
+ const BoolInstr bi771[] = {
3691
+ {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_AND,0,3,0},
3692
+ {BO_HLT,0,0,0}
3693
+ };
3694
+ const BoolInstr bi772[] = {
3695
+ {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_AND,0,1,0},
3696
+ {BO_HLT,0,0,0}
3697
+ };
3698
+ const BoolInstr bi773[] = {
3699
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
3700
+ {BO_AND,0,1,0},
3701
+ {BO_HLT,0,0,0}
3702
+ };
3703
+ const BoolInstr bi774[] = {
3704
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3705
+ {BO_IMP,2,3,1},{BO_AND,0,1,0},
3706
+ {BO_HLT,0,0,0}
3707
+ };
3708
+ const BoolInstr bi775[] = {
3709
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3710
+ {BO_AND,0,1,0},
3711
+ {BO_HLT,0,0,0}
3712
+ };
3713
+ const BoolInstr bi776[] = {
3714
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3715
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
3716
+ {BO_HLT,0,0,0}
3717
+ };
3718
+ const BoolInstr bi777[] = {
3719
+ {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_OR ,0,1,0},
3720
+ {BO_HLT,0,0,0}
3721
+ };
3722
+ const BoolInstr bi778[] = {
3723
+ {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_OR ,0,3,0},
3724
+ {BO_HLT,0,0,0}
3725
+ };
3726
+ const BoolInstr bi779[] = {
3727
+ {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_OR ,0,1,0},
3728
+ {BO_HLT,0,0,0}
3729
+ };
3730
+ const BoolInstr bi780[] = {
3731
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
3732
+ {BO_OR ,0,1,0},
3733
+ {BO_HLT,0,0,0}
3734
+ };
3735
+ const BoolInstr bi781[] = {
3736
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3737
+ {BO_IMP,2,3,1},{BO_OR ,0,1,0},
3738
+ {BO_HLT,0,0,0}
3739
+ };
3740
+ const BoolInstr bi782[] = {
3741
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3742
+ {BO_OR ,0,1,0},
3743
+ {BO_HLT,0,0,0}
3744
+ };
3745
+ const BoolInstr bi783[] = {
3746
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3747
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
3748
+ {BO_HLT,0,0,0}
3749
+ };
3750
+ const BoolInstr bi784[] = {
3751
+ {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_IMP,0,1,0},
3752
+ {BO_HLT,0,0,0}
3753
+ };
3754
+ const BoolInstr bi785[] = {
3755
+ {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_IMP,0,3,0},
3756
+ {BO_HLT,0,0,0}
3757
+ };
3758
+ const BoolInstr bi786[] = {
3759
+ {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_IMP,0,1,0},
3760
+ {BO_HLT,0,0,0}
3761
+ };
3762
+ const BoolInstr bi787[] = {
3763
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
3764
+ {BO_IMP,0,1,0},
3765
+ {BO_HLT,0,0,0}
3766
+ };
3767
+ const BoolInstr bi788[] = {
3768
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3769
+ {BO_IMP,2,3,1},{BO_IMP,0,1,0},
3770
+ {BO_HLT,0,0,0}
3771
+ };
3772
+ const BoolInstr bi789[] = {
3773
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3774
+ {BO_IMP,0,1,0},
3775
+ {BO_HLT,0,0,0}
3776
+ };
3777
+ const BoolInstr bi790[] = {
3778
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3779
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
3780
+ {BO_HLT,0,0,0}
3781
+ };
3782
+ const BoolInstr bi791[] = {
3783
+ {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_XOR,0,1,0},
3784
+ {BO_HLT,0,0,0}
3785
+ };
3786
+ const BoolInstr bi792[] = {
3787
+ {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_XOR,0,3,0},
3788
+ {BO_HLT,0,0,0}
3789
+ };
3790
+ const BoolInstr bi793[] = {
3791
+ {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_XOR,0,1,0},
3792
+ {BO_HLT,0,0,0}
3793
+ };
3794
+ const BoolInstr bi794[] = {
3795
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
3796
+ {BO_XOR,0,1,0},
3797
+ {BO_HLT,0,0,0}
3798
+ };
3799
+ const BoolInstr bi795[] = {
3800
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3801
+ {BO_IMP,2,3,1},{BO_XOR,0,1,0},
3802
+ {BO_HLT,0,0,0}
3803
+ };
3804
+ const BoolInstr bi796[] = {
3805
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3806
+ {BO_XOR,0,1,0},
3807
+ {BO_HLT,0,0,0}
3808
+ };
3809
+ const BoolInstr bi797[] = {
3810
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3811
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3812
+ {BO_HLT,0,0,0}
3813
+ };
3814
+ const BoolInstr bi798[] = {
3815
+ {BO_EQV,0,1,0},{BO_IMP,2,3,1},{BO_EQV,0,1,0},
3816
+ {BO_HLT,0,0,0}
3817
+ };
3818
+ const BoolInstr bi799[] = {
3819
+ {BO_EQV,0,1,0},{BO_IMP,0,2,0},{BO_EQV,0,3,0},
3820
+ {BO_HLT,0,0,0}
3821
+ };
3822
+ const BoolInstr bi800[] = {
3823
+ {BO_EQV,2,3,2},{BO_IMP,1,2,1},{BO_EQV,0,1,0},
3824
+ {BO_HLT,0,0,0}
3825
+ };
3826
+ const BoolInstr bi801[] = {
3827
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_IMP,2,3,1},
3828
+ {BO_EQV,0,1,0},
3829
+ {BO_HLT,0,0,0}
3830
+ };
3831
+ const BoolInstr bi802[] = {
3832
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3833
+ {BO_IMP,2,3,1},{BO_EQV,0,1,0},
3834
+ {BO_HLT,0,0,0}
3835
+ };
3836
+ const BoolInstr bi803[] = {
3837
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3838
+ {BO_EQV,0,1,0},
3839
+ {BO_HLT,0,0,0}
3840
+ };
3841
+ const BoolInstr bi804[] = {
3842
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_IMP,2,3,1},{BO_NOT,1,1,0},
3843
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
3844
+ {BO_HLT,0,0,0}
3845
+ };
3846
+ const BoolInstr bi805[] = {
3847
+ {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_AND,0,1,0},
3848
+ {BO_HLT,0,0,0}
3849
+ };
3850
+ const BoolInstr bi806[] = {
3851
+ {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_AND,0,3,0},
3852
+ {BO_HLT,0,0,0}
3853
+ };
3854
+ const BoolInstr bi807[] = {
3855
+ {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_AND,0,1,0},
3856
+ {BO_HLT,0,0,0}
3857
+ };
3858
+ const BoolInstr bi808[] = {
3859
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
3860
+ {BO_AND,0,1,0},
3861
+ {BO_HLT,0,0,0}
3862
+ };
3863
+ const BoolInstr bi809[] = {
3864
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3865
+ {BO_XOR,2,3,1},{BO_AND,0,1,0},
3866
+ {BO_HLT,0,0,0}
3867
+ };
3868
+ const BoolInstr bi810[] = {
3869
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3870
+ {BO_AND,0,1,0},
3871
+ {BO_HLT,0,0,0}
3872
+ };
3873
+ const BoolInstr bi811[] = {
3874
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3875
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
3876
+ {BO_HLT,0,0,0}
3877
+ };
3878
+ const BoolInstr bi812[] = {
3879
+ {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_OR ,0,1,0},
3880
+ {BO_HLT,0,0,0}
3881
+ };
3882
+ const BoolInstr bi813[] = {
3883
+ {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_OR ,0,3,0},
3884
+ {BO_HLT,0,0,0}
3885
+ };
3886
+ const BoolInstr bi814[] = {
3887
+ {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_OR ,0,1,0},
3888
+ {BO_HLT,0,0,0}
3889
+ };
3890
+ const BoolInstr bi815[] = {
3891
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
3892
+ {BO_OR ,0,1,0},
3893
+ {BO_HLT,0,0,0}
3894
+ };
3895
+ const BoolInstr bi816[] = {
3896
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3897
+ {BO_XOR,2,3,1},{BO_OR ,0,1,0},
3898
+ {BO_HLT,0,0,0}
3899
+ };
3900
+ const BoolInstr bi817[] = {
3901
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3902
+ {BO_OR ,0,1,0},
3903
+ {BO_HLT,0,0,0}
3904
+ };
3905
+ const BoolInstr bi818[] = {
3906
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3907
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
3908
+ {BO_HLT,0,0,0}
3909
+ };
3910
+ const BoolInstr bi819[] = {
3911
+ {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_IMP,0,1,0},
3912
+ {BO_HLT,0,0,0}
3913
+ };
3914
+ const BoolInstr bi820[] = {
3915
+ {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_IMP,0,3,0},
3916
+ {BO_HLT,0,0,0}
3917
+ };
3918
+ const BoolInstr bi821[] = {
3919
+ {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_IMP,0,1,0},
3920
+ {BO_HLT,0,0,0}
3921
+ };
3922
+ const BoolInstr bi822[] = {
3923
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
3924
+ {BO_IMP,0,1,0},
3925
+ {BO_HLT,0,0,0}
3926
+ };
3927
+ const BoolInstr bi823[] = {
3928
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3929
+ {BO_XOR,2,3,1},{BO_IMP,0,1,0},
3930
+ {BO_HLT,0,0,0}
3931
+ };
3932
+ const BoolInstr bi824[] = {
3933
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3934
+ {BO_IMP,0,1,0},
3935
+ {BO_HLT,0,0,0}
3936
+ };
3937
+ const BoolInstr bi825[] = {
3938
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3939
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
3940
+ {BO_HLT,0,0,0}
3941
+ };
3942
+ const BoolInstr bi826[] = {
3943
+ {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_XOR,0,1,0},
3944
+ {BO_HLT,0,0,0}
3945
+ };
3946
+ const BoolInstr bi827[] = {
3947
+ {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_XOR,0,3,0},
3948
+ {BO_HLT,0,0,0}
3949
+ };
3950
+ const BoolInstr bi828[] = {
3951
+ {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_XOR,0,1,0},
3952
+ {BO_HLT,0,0,0}
3953
+ };
3954
+ const BoolInstr bi829[] = {
3955
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
3956
+ {BO_XOR,0,1,0},
3957
+ {BO_HLT,0,0,0}
3958
+ };
3959
+ const BoolInstr bi830[] = {
3960
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3961
+ {BO_XOR,2,3,1},{BO_XOR,0,1,0},
3962
+ {BO_HLT,0,0,0}
3963
+ };
3964
+ const BoolInstr bi831[] = {
3965
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3966
+ {BO_XOR,0,1,0},
3967
+ {BO_HLT,0,0,0}
3968
+ };
3969
+ const BoolInstr bi832[] = {
3970
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3971
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
3972
+ {BO_HLT,0,0,0}
3973
+ };
3974
+ const BoolInstr bi833[] = {
3975
+ {BO_EQV,0,1,0},{BO_XOR,2,3,1},{BO_EQV,0,1,0},
3976
+ {BO_HLT,0,0,0}
3977
+ };
3978
+ const BoolInstr bi834[] = {
3979
+ {BO_EQV,0,1,0},{BO_XOR,0,2,0},{BO_EQV,0,3,0},
3980
+ {BO_HLT,0,0,0}
3981
+ };
3982
+ const BoolInstr bi835[] = {
3983
+ {BO_EQV,2,3,2},{BO_XOR,1,2,1},{BO_EQV,0,1,0},
3984
+ {BO_HLT,0,0,0}
3985
+ };
3986
+ const BoolInstr bi836[] = {
3987
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_XOR,2,3,1},
3988
+ {BO_EQV,0,1,0},
3989
+ {BO_HLT,0,0,0}
3990
+ };
3991
+ const BoolInstr bi837[] = {
3992
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
3993
+ {BO_XOR,2,3,1},{BO_EQV,0,1,0},
3994
+ {BO_HLT,0,0,0}
3995
+ };
3996
+ const BoolInstr bi838[] = {
3997
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
3998
+ {BO_EQV,0,1,0},
3999
+ {BO_HLT,0,0,0}
4000
+ };
4001
+ const BoolInstr bi839[] = {
4002
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_XOR,2,3,1},{BO_NOT,1,1,0},
4003
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
4004
+ {BO_HLT,0,0,0}
4005
+ };
4006
+ const BoolInstr bi840[] = {
4007
+ {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_AND,0,1,0},
4008
+ {BO_HLT,0,0,0}
4009
+ };
4010
+ const BoolInstr bi841[] = {
4011
+ {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_AND,0,3,0},
4012
+ {BO_HLT,0,0,0}
4013
+ };
4014
+ const BoolInstr bi842[] = {
4015
+ {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_AND,0,1,0},
4016
+ {BO_HLT,0,0,0}
4017
+ };
4018
+ const BoolInstr bi843[] = {
4019
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
4020
+ {BO_AND,0,1,0},
4021
+ {BO_HLT,0,0,0}
4022
+ };
4023
+ const BoolInstr bi844[] = {
4024
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
4025
+ {BO_EQV,2,3,1},{BO_AND,0,1,0},
4026
+ {BO_HLT,0,0,0}
4027
+ };
4028
+ const BoolInstr bi845[] = {
4029
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4030
+ {BO_AND,0,1,0},
4031
+ {BO_HLT,0,0,0}
4032
+ };
4033
+ const BoolInstr bi846[] = {
4034
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4035
+ {BO_AND,0,1,0},{BO_NOT,0,0,0},
4036
+ {BO_HLT,0,0,0}
4037
+ };
4038
+ const BoolInstr bi847[] = {
4039
+ {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_OR ,0,1,0},
4040
+ {BO_HLT,0,0,0}
4041
+ };
4042
+ const BoolInstr bi848[] = {
4043
+ {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_OR ,0,3,0},
4044
+ {BO_HLT,0,0,0}
4045
+ };
4046
+ const BoolInstr bi849[] = {
4047
+ {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_OR ,0,1,0},
4048
+ {BO_HLT,0,0,0}
4049
+ };
4050
+ const BoolInstr bi850[] = {
4051
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
4052
+ {BO_OR ,0,1,0},
4053
+ {BO_HLT,0,0,0}
4054
+ };
4055
+ const BoolInstr bi851[] = {
4056
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
4057
+ {BO_EQV,2,3,1},{BO_OR ,0,1,0},
4058
+ {BO_HLT,0,0,0}
4059
+ };
4060
+ const BoolInstr bi852[] = {
4061
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4062
+ {BO_OR ,0,1,0},
4063
+ {BO_HLT,0,0,0}
4064
+ };
4065
+ const BoolInstr bi853[] = {
4066
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4067
+ {BO_OR ,0,1,0},{BO_NOT,0,0,0},
4068
+ {BO_HLT,0,0,0}
4069
+ };
4070
+ const BoolInstr bi854[] = {
4071
+ {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_IMP,0,1,0},
4072
+ {BO_HLT,0,0,0}
4073
+ };
4074
+ const BoolInstr bi855[] = {
4075
+ {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_IMP,0,3,0},
4076
+ {BO_HLT,0,0,0}
4077
+ };
4078
+ const BoolInstr bi856[] = {
4079
+ {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_IMP,0,1,0},
4080
+ {BO_HLT,0,0,0}
4081
+ };
4082
+ const BoolInstr bi857[] = {
4083
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
4084
+ {BO_IMP,0,1,0},
4085
+ {BO_HLT,0,0,0}
4086
+ };
4087
+ const BoolInstr bi858[] = {
4088
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
4089
+ {BO_EQV,2,3,1},{BO_IMP,0,1,0},
4090
+ {BO_HLT,0,0,0}
4091
+ };
4092
+ const BoolInstr bi859[] = {
4093
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4094
+ {BO_IMP,0,1,0},
4095
+ {BO_HLT,0,0,0}
4096
+ };
4097
+ const BoolInstr bi860[] = {
4098
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4099
+ {BO_IMP,0,1,0},{BO_NOT,0,0,0},
4100
+ {BO_HLT,0,0,0}
4101
+ };
4102
+ const BoolInstr bi861[] = {
4103
+ {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_XOR,0,1,0},
4104
+ {BO_HLT,0,0,0}
4105
+ };
4106
+ const BoolInstr bi862[] = {
4107
+ {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_XOR,0,3,0},
4108
+ {BO_HLT,0,0,0}
4109
+ };
4110
+ const BoolInstr bi863[] = {
4111
+ {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_XOR,0,1,0},
4112
+ {BO_HLT,0,0,0}
4113
+ };
4114
+ const BoolInstr bi864[] = {
4115
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
4116
+ {BO_XOR,0,1,0},
4117
+ {BO_HLT,0,0,0}
4118
+ };
4119
+ const BoolInstr bi865[] = {
4120
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
4121
+ {BO_EQV,2,3,1},{BO_XOR,0,1,0},
4122
+ {BO_HLT,0,0,0}
4123
+ };
4124
+ const BoolInstr bi866[] = {
4125
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4126
+ {BO_XOR,0,1,0},
4127
+ {BO_HLT,0,0,0}
4128
+ };
4129
+ const BoolInstr bi867[] = {
4130
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4131
+ {BO_XOR,0,1,0},{BO_NOT,0,0,0},
4132
+ {BO_HLT,0,0,0}
4133
+ };
4134
+ const BoolInstr bi868[] = {
4135
+ {BO_EQV,0,1,0},{BO_EQV,2,3,1},{BO_EQV,0,1,0},
4136
+ {BO_HLT,0,0,0}
4137
+ };
4138
+ const BoolInstr bi869[] = {
4139
+ {BO_EQV,0,1,0},{BO_EQV,0,2,0},{BO_EQV,0,3,0},
4140
+ {BO_HLT,0,0,0}
4141
+ };
4142
+ const BoolInstr bi870[] = {
4143
+ {BO_EQV,2,3,2},{BO_EQV,1,2,1},{BO_EQV,0,1,0},
4144
+ {BO_HLT,0,0,0}
4145
+ };
4146
+ const BoolInstr bi871[] = {
4147
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_EQV,0,1,0},{BO_EQV,2,3,1},
4148
+ {BO_EQV,0,1,0},
4149
+ {BO_HLT,0,0,0}
4150
+ };
4151
+ const BoolInstr bi872[] = {
4152
+ {BO_NOT,0,0,0},{BO_NOT,2,2,0},{BO_NOT,0,0,0},{BO_EQV,0,1,0},
4153
+ {BO_EQV,2,3,1},{BO_EQV,0,1,0},
4154
+ {BO_HLT,0,0,0}
4155
+ };
4156
+ const BoolInstr bi873[] = {
4157
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4158
+ {BO_EQV,0,1,0},
4159
+ {BO_HLT,0,0,0}
4160
+ };
4161
+ const BoolInstr bi874[] = {
4162
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},{BO_EQV,2,3,1},{BO_NOT,1,1,0},
4163
+ {BO_EQV,0,1,0},{BO_NOT,0,0,0},
4164
+ {BO_HLT,0,0,0}
4165
+ };
4166
+
4167
+ const BoolInstr* bi[] = {
4168
+ &bi000[0],&bi001[0],&bi002[0],&bi003[0],&bi004[0],&bi005[0],
4169
+ &bi006[0],&bi007[0],&bi008[0],&bi009[0],&bi010[0],&bi011[0],
4170
+ &bi012[0],&bi013[0],&bi014[0],&bi015[0],&bi016[0],&bi017[0],
4171
+ &bi018[0],&bi019[0],&bi020[0],&bi021[0],&bi022[0],&bi023[0],
4172
+ &bi024[0],&bi025[0],&bi026[0],&bi027[0],&bi028[0],&bi029[0],
4173
+ &bi030[0],&bi031[0],&bi032[0],&bi033[0],&bi034[0],&bi035[0],
4174
+ &bi036[0],&bi037[0],&bi038[0],&bi039[0],&bi040[0],&bi041[0],
4175
+ &bi042[0],&bi043[0],&bi044[0],&bi045[0],&bi046[0],&bi047[0],
4176
+ &bi048[0],&bi049[0],&bi050[0],&bi051[0],&bi052[0],&bi053[0],
4177
+ &bi054[0],&bi055[0],&bi056[0],&bi057[0],&bi058[0],&bi059[0],
4178
+ &bi060[0],&bi061[0],&bi062[0],&bi063[0],&bi064[0],&bi065[0],
4179
+ &bi066[0],&bi067[0],&bi068[0],&bi069[0],&bi070[0],&bi071[0],
4180
+ &bi072[0],&bi073[0],&bi074[0],&bi075[0],&bi076[0],&bi077[0],
4181
+ &bi078[0],&bi079[0],&bi080[0],&bi081[0],&bi082[0],&bi083[0],
4182
+ &bi084[0],&bi085[0],&bi086[0],&bi087[0],&bi088[0],&bi089[0],
4183
+ &bi090[0],&bi091[0],&bi092[0],&bi093[0],&bi094[0],&bi095[0],
4184
+ &bi096[0],&bi097[0],&bi098[0],&bi099[0],&bi100[0],&bi101[0],
4185
+ &bi102[0],&bi103[0],&bi104[0],&bi105[0],&bi106[0],&bi107[0],
4186
+ &bi108[0],&bi109[0],&bi110[0],&bi111[0],&bi112[0],&bi113[0],
4187
+ &bi114[0],&bi115[0],&bi116[0],&bi117[0],&bi118[0],&bi119[0],
4188
+ &bi120[0],&bi121[0],&bi122[0],&bi123[0],&bi124[0],&bi125[0],
4189
+ &bi126[0],&bi127[0],&bi128[0],&bi129[0],&bi130[0],&bi131[0],
4190
+ &bi132[0],&bi133[0],&bi134[0],&bi135[0],&bi136[0],&bi137[0],
4191
+ &bi138[0],&bi139[0],&bi140[0],&bi141[0],&bi142[0],&bi143[0],
4192
+ &bi144[0],&bi145[0],&bi146[0],&bi147[0],&bi148[0],&bi149[0],
4193
+ &bi150[0],&bi151[0],&bi152[0],&bi153[0],&bi154[0],&bi155[0],
4194
+ &bi156[0],&bi157[0],&bi158[0],&bi159[0],&bi160[0],&bi161[0],
4195
+ &bi162[0],&bi163[0],&bi164[0],&bi165[0],&bi166[0],&bi167[0],
4196
+ &bi168[0],&bi169[0],&bi170[0],&bi171[0],&bi172[0],&bi173[0],
4197
+ &bi174[0],&bi175[0],&bi176[0],&bi177[0],&bi178[0],&bi179[0],
4198
+ &bi180[0],&bi181[0],&bi182[0],&bi183[0],&bi184[0],&bi185[0],
4199
+ &bi186[0],&bi187[0],&bi188[0],&bi189[0],&bi190[0],&bi191[0],
4200
+ &bi192[0],&bi193[0],&bi194[0],&bi195[0],&bi196[0],&bi197[0],
4201
+ &bi198[0],&bi199[0],&bi200[0],&bi201[0],&bi202[0],&bi203[0],
4202
+ &bi204[0],&bi205[0],&bi206[0],&bi207[0],&bi208[0],&bi209[0],
4203
+ &bi210[0],&bi211[0],&bi212[0],&bi213[0],&bi214[0],&bi215[0],
4204
+ &bi216[0],&bi217[0],&bi218[0],&bi219[0],&bi220[0],&bi221[0],
4205
+ &bi222[0],&bi223[0],&bi224[0],&bi225[0],&bi226[0],&bi227[0],
4206
+ &bi228[0],&bi229[0],&bi230[0],&bi231[0],&bi232[0],&bi233[0],
4207
+ &bi234[0],&bi235[0],&bi236[0],&bi237[0],&bi238[0],&bi239[0],
4208
+ &bi240[0],&bi241[0],&bi242[0],&bi243[0],&bi244[0],&bi245[0],
4209
+ &bi246[0],&bi247[0],&bi248[0],&bi249[0],&bi250[0],&bi251[0],
4210
+ &bi252[0],&bi253[0],&bi254[0],&bi255[0],&bi256[0],&bi257[0],
4211
+ &bi258[0],&bi259[0],&bi260[0],&bi261[0],&bi262[0],&bi263[0],
4212
+ &bi264[0],&bi265[0],&bi266[0],&bi267[0],&bi268[0],&bi269[0],
4213
+ &bi270[0],&bi271[0],&bi272[0],&bi273[0],&bi274[0],&bi275[0],
4214
+ &bi276[0],&bi277[0],&bi278[0],&bi279[0],&bi280[0],&bi281[0],
4215
+ &bi282[0],&bi283[0],&bi284[0],&bi285[0],&bi286[0],&bi287[0],
4216
+ &bi288[0],&bi289[0],&bi290[0],&bi291[0],&bi292[0],&bi293[0],
4217
+ &bi294[0],&bi295[0],&bi296[0],&bi297[0],&bi298[0],&bi299[0],
4218
+ &bi300[0],&bi301[0],&bi302[0],&bi303[0],&bi304[0],&bi305[0],
4219
+ &bi306[0],&bi307[0],&bi308[0],&bi309[0],&bi310[0],&bi311[0],
4220
+ &bi312[0],&bi313[0],&bi314[0],&bi315[0],&bi316[0],&bi317[0],
4221
+ &bi318[0],&bi319[0],&bi320[0],&bi321[0],&bi322[0],&bi323[0],
4222
+ &bi324[0],&bi325[0],&bi326[0],&bi327[0],&bi328[0],&bi329[0],
4223
+ &bi330[0],&bi331[0],&bi332[0],&bi333[0],&bi334[0],&bi335[0],
4224
+ &bi336[0],&bi337[0],&bi338[0],&bi339[0],&bi340[0],&bi341[0],
4225
+ &bi342[0],&bi343[0],&bi344[0],&bi345[0],&bi346[0],&bi347[0],
4226
+ &bi348[0],&bi349[0],&bi350[0],&bi351[0],&bi352[0],&bi353[0],
4227
+ &bi354[0],&bi355[0],&bi356[0],&bi357[0],&bi358[0],&bi359[0],
4228
+ &bi360[0],&bi361[0],&bi362[0],&bi363[0],&bi364[0],&bi365[0],
4229
+ &bi366[0],&bi367[0],&bi368[0],&bi369[0],&bi370[0],&bi371[0],
4230
+ &bi372[0],&bi373[0],&bi374[0],&bi375[0],&bi376[0],&bi377[0],
4231
+ &bi378[0],&bi379[0],&bi380[0],&bi381[0],&bi382[0],&bi383[0],
4232
+ &bi384[0],&bi385[0],&bi386[0],&bi387[0],&bi388[0],&bi389[0],
4233
+ &bi390[0],&bi391[0],&bi392[0],&bi393[0],&bi394[0],&bi395[0],
4234
+ &bi396[0],&bi397[0],&bi398[0],&bi399[0],&bi400[0],&bi401[0],
4235
+ &bi402[0],&bi403[0],&bi404[0],&bi405[0],&bi406[0],&bi407[0],
4236
+ &bi408[0],&bi409[0],&bi410[0],&bi411[0],&bi412[0],&bi413[0],
4237
+ &bi414[0],&bi415[0],&bi416[0],&bi417[0],&bi418[0],&bi419[0],
4238
+ &bi420[0],&bi421[0],&bi422[0],&bi423[0],&bi424[0],&bi425[0],
4239
+ &bi426[0],&bi427[0],&bi428[0],&bi429[0],&bi430[0],&bi431[0],
4240
+ &bi432[0],&bi433[0],&bi434[0],&bi435[0],&bi436[0],&bi437[0],
4241
+ &bi438[0],&bi439[0],&bi440[0],&bi441[0],&bi442[0],&bi443[0],
4242
+ &bi444[0],&bi445[0],&bi446[0],&bi447[0],&bi448[0],&bi449[0],
4243
+ &bi450[0],&bi451[0],&bi452[0],&bi453[0],&bi454[0],&bi455[0],
4244
+ &bi456[0],&bi457[0],&bi458[0],&bi459[0],&bi460[0],&bi461[0],
4245
+ &bi462[0],&bi463[0],&bi464[0],&bi465[0],&bi466[0],&bi467[0],
4246
+ &bi468[0],&bi469[0],&bi470[0],&bi471[0],&bi472[0],&bi473[0],
4247
+ &bi474[0],&bi475[0],&bi476[0],&bi477[0],&bi478[0],&bi479[0],
4248
+ &bi480[0],&bi481[0],&bi482[0],&bi483[0],&bi484[0],&bi485[0],
4249
+ &bi486[0],&bi487[0],&bi488[0],&bi489[0],&bi490[0],&bi491[0],
4250
+ &bi492[0],&bi493[0],&bi494[0],&bi495[0],&bi496[0],&bi497[0],
4251
+ &bi498[0],&bi499[0],&bi500[0],&bi501[0],&bi502[0],&bi503[0],
4252
+ &bi504[0],&bi505[0],&bi506[0],&bi507[0],&bi508[0],&bi509[0],
4253
+ &bi510[0],&bi511[0],&bi512[0],&bi513[0],&bi514[0],&bi515[0],
4254
+ &bi516[0],&bi517[0],&bi518[0],&bi519[0],&bi520[0],&bi521[0],
4255
+ &bi522[0],&bi523[0],&bi524[0],&bi525[0],&bi526[0],&bi527[0],
4256
+ &bi528[0],&bi529[0],&bi530[0],&bi531[0],&bi532[0],&bi533[0],
4257
+ &bi534[0],&bi535[0],&bi536[0],&bi537[0],&bi538[0],&bi539[0],
4258
+ &bi540[0],&bi541[0],&bi542[0],&bi543[0],&bi544[0],&bi545[0],
4259
+ &bi546[0],&bi547[0],&bi548[0],&bi549[0],&bi550[0],&bi551[0],
4260
+ &bi552[0],&bi553[0],&bi554[0],&bi555[0],&bi556[0],&bi557[0],
4261
+ &bi558[0],&bi559[0],&bi560[0],&bi561[0],&bi562[0],&bi563[0],
4262
+ &bi564[0],&bi565[0],&bi566[0],&bi567[0],&bi568[0],&bi569[0],
4263
+ &bi570[0],&bi571[0],&bi572[0],&bi573[0],&bi574[0],&bi575[0],
4264
+ &bi576[0],&bi577[0],&bi578[0],&bi579[0],&bi580[0],&bi581[0],
4265
+ &bi582[0],&bi583[0],&bi584[0],&bi585[0],&bi586[0],&bi587[0],
4266
+ &bi588[0],&bi589[0],&bi590[0],&bi591[0],&bi592[0],&bi593[0],
4267
+ &bi594[0],&bi595[0],&bi596[0],&bi597[0],&bi598[0],&bi599[0],
4268
+ &bi600[0],&bi601[0],&bi602[0],&bi603[0],&bi604[0],&bi605[0],
4269
+ &bi606[0],&bi607[0],&bi608[0],&bi609[0],&bi610[0],&bi611[0],
4270
+ &bi612[0],&bi613[0],&bi614[0],&bi615[0],&bi616[0],&bi617[0],
4271
+ &bi618[0],&bi619[0],&bi620[0],&bi621[0],&bi622[0],&bi623[0],
4272
+ &bi624[0],&bi625[0],&bi626[0],&bi627[0],&bi628[0],&bi629[0],
4273
+ &bi630[0],&bi631[0],&bi632[0],&bi633[0],&bi634[0],&bi635[0],
4274
+ &bi636[0],&bi637[0],&bi638[0],&bi639[0],&bi640[0],&bi641[0],
4275
+ &bi642[0],&bi643[0],&bi644[0],&bi645[0],&bi646[0],&bi647[0],
4276
+ &bi648[0],&bi649[0],&bi650[0],&bi651[0],&bi652[0],&bi653[0],
4277
+ &bi654[0],&bi655[0],&bi656[0],&bi657[0],&bi658[0],&bi659[0],
4278
+ &bi660[0],&bi661[0],&bi662[0],&bi663[0],&bi664[0],&bi665[0],
4279
+ &bi666[0],&bi667[0],&bi668[0],&bi669[0],&bi670[0],&bi671[0],
4280
+ &bi672[0],&bi673[0],&bi674[0],&bi675[0],&bi676[0],&bi677[0],
4281
+ &bi678[0],&bi679[0],&bi680[0],&bi681[0],&bi682[0],&bi683[0],
4282
+ &bi684[0],&bi685[0],&bi686[0],&bi687[0],&bi688[0],&bi689[0],
4283
+ &bi690[0],&bi691[0],&bi692[0],&bi693[0],&bi694[0],&bi695[0],
4284
+ &bi696[0],&bi697[0],&bi698[0],&bi699[0],&bi700[0],&bi701[0],
4285
+ &bi702[0],&bi703[0],&bi704[0],&bi705[0],&bi706[0],&bi707[0],
4286
+ &bi708[0],&bi709[0],&bi710[0],&bi711[0],&bi712[0],&bi713[0],
4287
+ &bi714[0],&bi715[0],&bi716[0],&bi717[0],&bi718[0],&bi719[0],
4288
+ &bi720[0],&bi721[0],&bi722[0],&bi723[0],&bi724[0],&bi725[0],
4289
+ &bi726[0],&bi727[0],&bi728[0],&bi729[0],&bi730[0],&bi731[0],
4290
+ &bi732[0],&bi733[0],&bi734[0],&bi735[0],&bi736[0],&bi737[0],
4291
+ &bi738[0],&bi739[0],&bi740[0],&bi741[0],&bi742[0],&bi743[0],
4292
+ &bi744[0],&bi745[0],&bi746[0],&bi747[0],&bi748[0],&bi749[0],
4293
+ &bi750[0],&bi751[0],&bi752[0],&bi753[0],&bi754[0],&bi755[0],
4294
+ &bi756[0],&bi757[0],&bi758[0],&bi759[0],&bi760[0],&bi761[0],
4295
+ &bi762[0],&bi763[0],&bi764[0],&bi765[0],&bi766[0],&bi767[0],
4296
+ &bi768[0],&bi769[0],&bi770[0],&bi771[0],&bi772[0],&bi773[0],
4297
+ &bi774[0],&bi775[0],&bi776[0],&bi777[0],&bi778[0],&bi779[0],
4298
+ &bi780[0],&bi781[0],&bi782[0],&bi783[0],&bi784[0],&bi785[0],
4299
+ &bi786[0],&bi787[0],&bi788[0],&bi789[0],&bi790[0],&bi791[0],
4300
+ &bi792[0],&bi793[0],&bi794[0],&bi795[0],&bi796[0],&bi797[0],
4301
+ &bi798[0],&bi799[0],&bi800[0],&bi801[0],&bi802[0],&bi803[0],
4302
+ &bi804[0],&bi805[0],&bi806[0],&bi807[0],&bi808[0],&bi809[0],
4303
+ &bi810[0],&bi811[0],&bi812[0],&bi813[0],&bi814[0],&bi815[0],
4304
+ &bi816[0],&bi817[0],&bi818[0],&bi819[0],&bi820[0],&bi821[0],
4305
+ &bi822[0],&bi823[0],&bi824[0],&bi825[0],&bi826[0],&bi827[0],
4306
+ &bi828[0],&bi829[0],&bi830[0],&bi831[0],&bi832[0],&bi833[0],
4307
+ &bi834[0],&bi835[0],&bi836[0],&bi837[0],&bi838[0],&bi839[0],
4308
+ &bi840[0],&bi841[0],&bi842[0],&bi843[0],&bi844[0],&bi845[0],
4309
+ &bi846[0],&bi847[0],&bi848[0],&bi849[0],&bi850[0],&bi851[0],
4310
+ &bi852[0],&bi853[0],&bi854[0],&bi855[0],&bi856[0],&bi857[0],
4311
+ &bi858[0],&bi859[0],&bi860[0],&bi861[0],&bi862[0],&bi863[0],
4312
+ &bi864[0],&bi865[0],&bi866[0],&bi867[0],&bi868[0],&bi869[0],
4313
+ &bi870[0],&bi871[0],&bi872[0],&bi873[0],&bi874[0]
4314
+ };
4315
+
4316
+ /// Help class to create and register tests
4317
+ class Create {
4318
+ public:
4319
+ /// Perform creation and registration
4320
+ Create(void) {
4321
+ int n = sizeof(bi)/sizeof(BoolInstr*);
4322
+ for (int i=0; i<n; i++) {
4323
+ std::string s = Test::str(i);
4324
+ if (i < 10) {
4325
+ s = "00" + s;
4326
+ } else if (i < 100) {
4327
+ s = "0" + s;
4328
+ }
4329
+ (void) new BoolExprInt(bi[i],s,0);
4330
+ (void) new BoolExprInt(bi[i],s,1);
4331
+ (void) new BoolExprVar(bi[i],s);
4332
+ }
4333
+ }
4334
+ };
4335
+
4336
+ Create c;
4337
+ //@}
4338
+ }
4339
+
4340
+ }}
4341
+
4342
+ // STATISTICS: test-minimodel