home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / pub / users / Harry / compilers / p10 / tst / logic.pcat < prev    next >
Text File  |  2006-02-17  |  124KB  |  2,814 lines

  1. (* This program tests IR generation for various logical combinations. *)
  2.  
  3. program is
  4.   var
  5.     a,b,c,d: boolean := false;
  6.     x,i,j: integer := 0;
  7.   begin
  8.  
  9. (*****  All expressions with one variable  *****)
  10.  
  11.     a := b;
  12.     a := not b;
  13.     a := not not b;
  14.     a := not not not b;
  15.  
  16. (*****  All expressions with two variables  *****)
  17.  
  18.     a := b or c;
  19.     a := not b or c;
  20.     a := c or not b;
  21.     a := not b or not c;
  22.  
  23.     a := not (b or c);
  24.     a := not (not b or c);
  25.     a := not (c or not b);
  26.     a := not (not b or not c);
  27.  
  28.     a := b and c;
  29.     a := not b and c;
  30.     a := b and not c;
  31.     a := not b and not c;
  32.  
  33.     a := not (b and c);
  34.     a := not (not b and c);
  35.     a := not (b and not c);
  36.     a := not (not b and not c);
  37.  
  38. (*****  All expressions with two variables (double negations)  *****)
  39.  
  40.     a := not not b or c;
  41.     a := c or not not b;
  42.     a := not not b or not not c;
  43.  
  44.     a := not not (b or c);
  45.     a := not not (not not b or c);
  46.     a := not not (c or not not b);
  47.     a := not not (not not b or not not c);
  48.  
  49.     a := b and c;
  50.     a := not not b and c;
  51.     a := b and not not c;
  52.     a := not not b and not not c;
  53.  
  54.     a := not not (b and c);
  55.     a := not not (not not b and c);
  56.     a := not not (b and not not c);
  57.     a := not not (not not b and not not c);
  58.  
  59. (*****  All expressions with: or or  *****)
  60.  
  61.     a := (b or c) or d;
  62.     a := (not b or c) or d;
  63.     a := (b or not c) or d;
  64.     a := (b or c) or not d;
  65.     a := (not b or not c) or d;
  66.     a := (b or not c) or not d;
  67.     a := (not b or c) or not d;
  68.     a := (not b or not c) or not d;
  69.  
  70.     a := (not (b or c)) or d;
  71.     a := (not (not b or c)) or d;
  72.     a := (not (b or not c)) or d;
  73.     a := (not (b or c)) or not d;
  74.     a := (not (not b or not c)) or d;
  75.     a := (not (b or not c)) or not d;
  76.     a := (not (not b or c)) or not d;
  77.     a := (not (not b or not c)) or not d;
  78.  
  79.     a := b or (c or d);
  80.     a := not b or (c or d);
  81.     a := b or (not c or d);
  82.     a := b or (c or not d);
  83.     a := not b or (not c or d);
  84.     a := b or (not c or not d);
  85.     a := not b or (c or not d);
  86.     a := not b or (not c or not d);
  87.  
  88.     a := b or (not (c or d));
  89.     a := not b or (not (c or d));
  90.     a := b or (not (not c or d));
  91.     a := b or (not (c or not d));
  92.     a := not b or (not (not c or d));
  93.     a := b or (not (not c or not d));
  94.     a := not b or (not (c or not d));
  95.     a := not b or (not (not c or not d));
  96.  
  97.     a := not ((b or c) or d);
  98.     a := not ((not b or c) or d);
  99.     a := not ((b or not c) or d);
  100.     a := not ((b or c) or not d);
  101.     a := not ((not b or not c) or d);
  102.     a := not ((b or not c) or not d);
  103.     a := not ((not b or c) or not d);
  104.     a := not ((not b or not c) or not d);
  105.  
  106.     a := not ((not (b or c)) or d);
  107.     a := not ((not (not b or c)) or d);
  108.     a := not ((not (b or not c)) or d);
  109.     a := not ((not (b or c)) or not d);
  110.     a := not ((not (not b or not c)) or d);
  111.     a := not ((not (b or not c)) or not d);
  112.     a := not ((not (not b or c)) or not d);
  113.     a := not ((not (not b or not c)) or not d);
  114.  
  115.     a := not (b or (c or d));
  116.     a := not (not b or (c or d));
  117.     a := not (b or (not c or d));
  118.     a := not (b or (c or not d));
  119.     a := not (not b or (not c or d));
  120.     a := not (b or (not c or not d));
  121.     a := not (not b or (c or not d));
  122.     a := not (not b or (not c or not d));
  123.  
  124.     a := not (b or (not (c or d)));
  125.     a := not (not b or (not (c or d)));
  126.     a := not (b or (not (not c or d)));
  127.     a := not (b or (not (c or not d)));
  128.     a := not (not b or (not (not c or d)));
  129.     a := not (b or (not (not c or not d)));
  130.     a := not (not b or (not (c or not d)));
  131.     a := not (not b or (not (not c or not d)));
  132.  
  133. (*****  All expressions with: and and  *****)
  134.  
  135.     a := (b and c) and d;
  136.     a := (not b and c) and d;
  137.     a := (b and not c) and d;
  138.     a := (b and c) and not d;
  139.     a := (not b and not c) and d;
  140.     a := (b and not c) and not d;
  141.     a := (not b and c) and not d;
  142.     a := (not b and not c) and not d;
  143.  
  144.     a := (not (b and c)) and d;
  145.     a := (not (not b and c)) and d;
  146.     a := (not (b and not c)) and d;
  147.     a := (not (b and c)) and not d;
  148.     a := (not (not b and not c)) and d;
  149.     a := (not (b and not c)) and not d;
  150.     a := (not (not b and c)) and not d;
  151.     a := (not (not b and not c)) and not d;
  152.  
  153.     a := b and (c and d);
  154.     a := not b and (c and d);
  155.     a := b and (not c and d);
  156.     a := b and (c and not d);
  157.     a := not b and (not c and d);
  158.     a := b and (not c and not d);
  159.     a := not b and (c and not d);
  160.     a := not b and (not c and not d);
  161.  
  162.     a := b and (not (c and d));
  163.     a := not b and (not (c and d));
  164.     a := b and (not (not c and d));
  165.     a := b and (not (c and not d));
  166.     a := not b and (not (not c and d));
  167.     a := b and (not (not c and not d));
  168.     a := not b and (not (c and not d));
  169.     a := not b and (not (not c and not d));
  170.  
  171.     a := not ((b and c) and d);
  172.     a := not ((not b and c) and d);
  173.     a := not ((b and not c) and d);
  174.     a := not ((b and c) and not d);
  175.     a := not ((not b and not c) and d);
  176.     a := not ((b and not c) and not d);
  177.     a := not ((not b and c) and not d);
  178.     a := not ((not b and not c) and not d);
  179.  
  180.     a := not ((not (b and c)) and d);
  181.     a := not ((not (not b and c)) and d);
  182.     a := not ((not (b and not c)) and d);
  183.     a := not ((not (b and c)) and not d);
  184.     a := not ((not (not b and not c)) and d);
  185.     a := not ((not (b and not c)) and not d);
  186.     a := not ((not (not b and c)) and not d);
  187.     a := not ((not (not b and not c)) and not d);
  188.  
  189.     a := not (b and (c and d));
  190.     a := not (not b and (c and d));
  191.     a := not (b and (not c and d));
  192.     a := not (b and (c and not d));
  193.     a := not (not b and (not c and d));
  194.     a := not (b and (not c and not d));
  195.     a := not (not b and (c and not d));
  196.     a := not (not b and (not c and not d));
  197.  
  198.     a := not (b and (not (c and d)));
  199.     a := not (not b and (not (c and d)));
  200.     a := not (b and (not (not c and d)));
  201.     a := not (b and (not (c and not d)));
  202.     a := not (not b and (not (not c and d)));
  203.     a := not (b and (not (not c and not d)));
  204.     a := not (not b and (not (c and not d)));
  205.     a := not (not b and (not (not c and not d)));
  206.  
  207. (*****  All expressions with: and or  *****)
  208.  
  209.     a := (b and c) or d;
  210.     a := (not b and c) or d;
  211.     a := (b and not c) or d;
  212.     a := (b and c) or not d;
  213.     a := (not b and not c) or d;
  214.     a := (b and not c) or not d;
  215.     a := (not b and c) or not d;
  216.     a := (not b and not c) or not d;
  217.  
  218.     a := (not (b and c)) or d;
  219.     a := (not (not b and c)) or d;
  220.     a := (not (b and not c)) or d;
  221.     a := (not (b and c)) or not d;
  222.     a := (not (not b and not c)) or d;
  223.     a := (not (b and not c)) or not d;
  224.     a := (not (not b and c)) or not d;
  225.     a := (not (not b and not c)) or not d;
  226.  
  227.     a := b and (c or d);
  228.     a := not b and (c or d);
  229.     a := b and (not c or d);
  230.     a := b and (c or not d);
  231.     a := not b and (not c or d);
  232.     a := b and (not c or not d);
  233.     a := not b and (c or not d);
  234.     a := not b and (not c or not d);
  235.  
  236.     a := b and (not (c or d));
  237.     a := not b and (not (c or d));
  238.     a := b and (not (not c or d));
  239.     a := b and (not (c or not d));
  240.     a := not b and (not (not c or d));
  241.     a := b and (not (not c or not d));
  242.     a := not b and (not (c or not d));
  243.     a := not b and (not (not c or not d));
  244.  
  245.     a := not ((b and c) or d);
  246.     a := not ((not b and c) or d);
  247.     a := not ((b and not c) or d);
  248.     a := not ((b and c) or not d);
  249.     a := not ((not b and not c) or d);
  250.     a := not ((b and not c) or not d);
  251.     a := not ((not b and c) or not d);
  252.     a := not ((not b and not c) or not d);
  253.  
  254.     a := not ((not (b and c)) or d);
  255.     a := not ((not (not b and c)) or d);
  256.     a := not ((not (b and not c)) or d);
  257.     a := not ((not (b and c)) or not d);
  258.     a := not ((not (not b and not c)) or d);
  259.     a := not ((not (b and not c)) or not d);
  260.     a := not ((not (not b and c)) or not d);
  261.     a := not ((not (not b and not c)) or not d);
  262.  
  263.     a := not (b and (c or d));
  264.     a := not (not b and (c or d));
  265.     a := not (b and (not c or d));
  266.     a := not (b and (c or not d));
  267.     a := not (not b and (not c or d));
  268.     a := not (b and (not c or not d));
  269.     a := not (not b and (c or not d));
  270.     a := not (not b and (not c or not d));
  271.  
  272.     a := not (b and (not (c or d)));
  273.     a := not (not b and (not (c or d)));
  274.     a := not (b and (not (not c or d)));
  275.     a := not (b and (not (c or not d)));
  276.     a := not (not b and (not (not c or d)));
  277.     a := not (b and (not (not c or not d)));
  278.     a := not (not b and (not (c or not d)));
  279.     a := not (not b and (not (not c or not d)));
  280.  
  281. (*****  All expressions with: or and  *****)
  282.  
  283.     a := (b or c) and d;
  284.     a := (not b or c) and d;
  285.     a := (b or not c) and d;
  286.     a := (b or c) and not d;
  287.     a := (not b or not c) and d;
  288.     a := (b or not c) and not d;
  289.     a := (not b or c) and not d;
  290.     a := (not b or not c) and not d;
  291.  
  292.     a := (not (b or c)) and d;
  293.     a := (not (not b or c)) and d;
  294.     a := (not (b or not c)) and d;
  295.     a := (not (b or c)) and not d;
  296.     a := (not (not b or not c)) and d;
  297.     a := (not (b or not c)) and not d;
  298.     a := (not (not b or c)) and not d;
  299.     a := (not (not b or not c)) and not d;
  300.  
  301.     a := b or (c and d);
  302.     a := not b or (c and d);
  303.     a := b or (not c and d);
  304.     a := b or (c and not d);
  305.     a := not b or (not c and d);
  306.     a := b or (not c and not d);
  307.     a := not b or (c and not d);
  308.     a := not b or (not c and not d);
  309.  
  310.     a := b or (not (c and d));
  311.     a := not b or (not (c and d));
  312.     a := b or (not (not c and d));
  313.     a := b or (not (c and not d));
  314.     a := not b or (not (not c and d));
  315.     a := b or (not (not c and not d));
  316.     a := not b or (not (c and not d));
  317.     a := not b or (not (not c and not d));
  318.  
  319.     a := not ((b or c) and d);
  320.     a := not ((not b or c) and d);
  321.     a := not ((b or not c) and d);
  322.     a := not ((b or c) and not d);
  323.     a := not ((not b or not c) and d);
  324.     a := not ((b or not c) and not d);
  325.     a := not ((not b or c) and not d);
  326.     a := not ((not b or not c) and not d);
  327.  
  328.     a := not ((not (b or c)) and d);
  329.     a := not ((not (not b or c)) and d);
  330.     a := not ((not (b or not c)) and d);
  331.     a := not ((not (b or c)) and not d);
  332.     a := not ((not (not b or not c)) and d);
  333.     a := not ((not (b or not c)) and not d);
  334.     a := not ((not (not b or c)) and not d);
  335.     a := not ((not (not b or not c)) and not d);
  336.  
  337.     a := not (b or (c and d));
  338.     a := not (not b or (c and d));
  339.     a := not (b or (not c and d));
  340.     a := not (b or (c and not d));
  341.     a := not (not b or (not c and d));
  342.     a := not (b or (not c and not d));
  343.     a := not (not b or (c and not d));
  344.     a := not (not b or (not c and not d));
  345.  
  346.     a := not (b or (not (c and d)));
  347.     a := not (not b or (not (c and d)));
  348.     a := not (b or (not (not c and d)));
  349.     a := not (b or (not (c and not d)));
  350.     a := not (not b or (not (not c and d)));
  351.     a := not (b or (not (not c and not d)));
  352.     a := not (not b or (not (c and not d)));
  353.     a := not (not b or (not (not c and not d)));
  354.  
  355. (*****  Same thing, only in the context of a while  *****)
  356.  
  357.  
  358. (*****  All expressions with one variable  *****)
  359.  
  360.     while (b) do x:=123; end;
  361.     while (not b) do x:=123; end;
  362.     while (not not b) do x:=123; end;
  363.     while (not not not b) do x:=123; end;
  364.  
  365. (*****  All expressions with two variables  *****)
  366.  
  367.     while (b or c) do x:=123; end;
  368.     while (not b or c) do x:=123; end;
  369.     while (c or not b) do x:=123; end;
  370.     while (not b or not c) do x:=123; end;
  371.  
  372.     while (not (b or c)) do x:=123; end;
  373.     while (not (not b or c)) do x:=123; end;
  374.     while (not (c or not b)) do x:=123; end;
  375.     while (not (not b or not c)) do x:=123; end;
  376.  
  377.     while (b and c) do x:=123; end;
  378.     while (not b and c) do x:=123; end;
  379.     while (b and not c) do x:=123; end;
  380.     while (not b and not c) do x:=123; end;
  381.  
  382.     while (not (b and c)) do x:=123; end;
  383.     while (not (not b and c)) do x:=123; end;
  384.     while (not (b and not c)) do x:=123; end;
  385.     while (not (not b and not c)) do x:=123; end;
  386.  
  387. (*****  All expressions with two variables (double negations)  *****)
  388.  
  389.     while (not not b or c) do x:=123; end;
  390.     while (c or not not b) do x:=123; end;
  391.     while (not not b or not not c) do x:=123; end;
  392.  
  393.     while (not not (b or c)) do x:=123; end;
  394.     while (not not (not not b or c)) do x:=123; end;
  395.     while (not not (c or not not b)) do x:=123; end;
  396.     while (not not (not not b or not not c)) do x:=123; end;
  397.  
  398.     while (b and c) do x:=123; end;
  399.     while (not not b and c) do x:=123; end;
  400.     while (b and not not c) do x:=123; end;
  401.     while (not not b and not not c) do x:=123; end;
  402.  
  403.     while (not not (b and c)) do x:=123; end;
  404.     while (not not (not not b and c)) do x:=123; end;
  405.     while (not not (b and not not c)) do x:=123; end;
  406.     while (not not (not not b and not not c)) do x:=123; end;
  407.  
  408. (*****  All expressions with: or or  *****)
  409.  
  410.     while ((b or c) or d) do x:=123; end;
  411.     while ((not b or c) or d) do x:=123; end;
  412.     while ((b or not c) or d) do x:=123; end;
  413.     while ((b or c) or not d) do x:=123; end;
  414.     while ((not b or not c) or d) do x:=123; end;
  415.     while ((b or not c) or not d) do x:=123; end;
  416.     while ((not b or c) or not d) do x:=123; end;
  417.     while ((not b or not c) or not d) do x:=123; end;
  418.  
  419.     while ((not (b or c)) or d) do x:=123; end;
  420.     while ((not (not b or c)) or d) do x:=123; end;
  421.     while ((not (b or not c)) or d) do x:=123; end;
  422.     while ((not (b or c)) or not d) do x:=123; end;
  423.     while ((not (not b or not c)) or d) do x:=123; end;
  424.     while ((not (b or not c)) or not d) do x:=123; end;
  425.     while ((not (not b or c)) or not d) do x:=123; end;
  426.     while ((not (not b or not c)) or not d) do x:=123; end;
  427.  
  428.     while (b or (c or d)) do x:=123; end;
  429.     while (not b or (c or d)) do x:=123; end;
  430.     while (b or (not c or d)) do x:=123; end;
  431.     while (b or (c or not d)) do x:=123; end;
  432.     while (not b or (not c or d)) do x:=123; end;
  433.     while (b or (not c or not d)) do x:=123; end;
  434.     while (not b or (c or not d)) do x:=123; end;
  435.     while (not b or (not c or not d)) do x:=123; end;
  436.  
  437.     while (b or (not (c or d))) do x:=123; end;
  438.     while (not b or (not (c or d))) do x:=123; end;
  439.     while (b or (not (not c or d))) do x:=123; end;
  440.     while (b or (not (c or not d))) do x:=123; end;
  441.     while (not b or (not (not c or d))) do x:=123; end;
  442.     while (b or (not (not c or not d))) do x:=123; end;
  443.     while (not b or (not (c or not d))) do x:=123; end;
  444.     while (not b or (not (not c or not d))) do x:=123; end;
  445.  
  446.     while (not ((b or c) or d)) do x:=123; end;
  447.     while (not ((not b or c) or d)) do x:=123; end;
  448.     while (not ((b or not c) or d)) do x:=123; end;
  449.     while (not ((b or c) or not d)) do x:=123; end;
  450.     while (not ((not b or not c) or d)) do x:=123; end;
  451.     while (not ((b or not c) or not d)) do x:=123; end;
  452.     while (not ((not b or c) or not d)) do x:=123; end;
  453.     while (not ((not b or not c) or not d)) do x:=123; end;
  454.  
  455.     while (not ((not (b or c)) or d)) do x:=123; end;
  456.     while (not ((not (not b or c)) or d)) do x:=123; end;
  457.     while (not ((not (b or not c)) or d)) do x:=123; end;
  458.     while (not ((not (b or c)) or not d)) do x:=123; end;
  459.     while (not ((not (not b or not c)) or d)) do x:=123; end;
  460.     while (not ((not (b or not c)) or not d)) do x:=123; end;
  461.     while (not ((not (not b or c)) or not d)) do x:=123; end;
  462.     while (not ((not (not b or not c)) or not d)) do x:=123; end;
  463.  
  464.     while (not (b or (c or d))) do x:=123; end;
  465.     while (not (not b or (c or d))) do x:=123; end;
  466.     while (not (b or (not c or d))) do x:=123; end;
  467.     while (not (b or (c or not d))) do x:=123; end;
  468.     while (not (not b or (not c or d))) do x:=123; end;
  469.     while (not (b or (not c or not d))) do x:=123; end;
  470.     while (not (not b or (c or not d))) do x:=123; end;
  471.     while (not (not b or (not c or not d))) do x:=123; end;
  472.  
  473.     while (not (b or (not (c or d)))) do x:=123; end;
  474.     while (not (not b or (not (c or d)))) do x:=123; end;
  475.     while (not (b or (not (not c or d)))) do x:=123; end;
  476.     while (not (b or (not (c or not d)))) do x:=123; end;
  477.     while (not (not b or (not (not c or d)))) do x:=123; end;
  478.     while (not (b or (not (not c or not d)))) do x:=123; end;
  479.     while (not (not b or (not (c or not d)))) do x:=123; end;
  480.     while (not (not b or (not (not c or not d)))) do x:=123; end;
  481.  
  482. (*****  All expressions with: and and  *****)
  483.  
  484.     while ((b and c) and d) do x:=123; end;
  485.     while ((not b and c) and d) do x:=123; end;
  486.     while ((b and not c) and d) do x:=123; end;
  487.     while ((b and c) and not d) do x:=123; end;
  488.     while ((not b and not c) and d) do x:=123; end;
  489.     while ((b and not c) and not d) do x:=123; end;
  490.     while ((not b and c) and not d) do x:=123; end;
  491.     while ((not b and not c) and not d) do x:=123; end;
  492.  
  493.     while ((not (b and c)) and d) do x:=123; end;
  494.     while ((not (not b and c)) and d) do x:=123; end;
  495.     while ((not (b and not c)) and d) do x:=123; end;
  496.     while ((not (b and c)) and not d) do x:=123; end;
  497.     while ((not (not b and not c)) and d) do x:=123; end;
  498.     while ((not (b and not c)) and not d) do x:=123; end;
  499.     while ((not (not b and c)) and not d) do x:=123; end;
  500.     while ((not (not b and not c)) and not d) do x:=123; end;
  501.  
  502.     while (b and (c and d)) do x:=123; end;
  503.     while (not b and (c and d)) do x:=123; end;
  504.     while (b and (not c and d)) do x:=123; end;
  505.     while (b and (c and not d)) do x:=123; end;
  506.     while (not b and (not c and d)) do x:=123; end;
  507.     while (b and (not c and not d)) do x:=123; end;
  508.     while (not b and (c and not d)) do x:=123; end;
  509.     while (not b and (not c and not d)) do x:=123; end;
  510.  
  511.     while (b and (not (c and d))) do x:=123; end;
  512.     while (not b and (not (c and d))) do x:=123; end;
  513.     while (b and (not (not c and d))) do x:=123; end;
  514.     while (b and (not (c and not d))) do x:=123; end;
  515.     while (not b and (not (not c and d))) do x:=123; end;
  516.     while (b and (not (not c and not d))) do x:=123; end;
  517.     while (not b and (not (c and not d))) do x:=123; end;
  518.     while (not b and (not (not c and not d))) do x:=123; end;
  519.  
  520.     while (not ((b and c) and d)) do x:=123; end;
  521.     while (not ((not b and c) and d)) do x:=123; end;
  522.     while (not ((b and not c) and d)) do x:=123; end;
  523.     while (not ((b and c) and not d)) do x:=123; end;
  524.     while (not ((not b and not c) and d)) do x:=123; end;
  525.     while (not ((b and not c) and not d)) do x:=123; end;
  526.     while (not ((not b and c) and not d)) do x:=123; end;
  527.     while (not ((not b and not c) and not d)) do x:=123; end;
  528.  
  529.     while (not ((not (b and c)) and d)) do x:=123; end;
  530.     while (not ((not (not b and c)) and d)) do x:=123; end;
  531.     while (not ((not (b and not c)) and d)) do x:=123; end;
  532.     while (not ((not (b and c)) and not d)) do x:=123; end;
  533.     while (not ((not (not b and not c)) and d)) do x:=123; end;
  534.     while (not ((not (b and not c)) and not d)) do x:=123; end;
  535.     while (not ((not (not b and c)) and not d)) do x:=123; end;
  536.     while (not ((not (not b and not c)) and not d)) do x:=123; end;
  537.  
  538.     while (not (b and (c and d))) do x:=123; end;
  539.     while (not (not b and (c and d))) do x:=123; end;
  540.     while (not (b and (not c and d))) do x:=123; end;
  541.     while (not (b and (c and not d))) do x:=123; end;
  542.     while (not (not b and (not c and d))) do x:=123; end;
  543.     while (not (b and (not c and not d))) do x:=123; end;
  544.     while (not (not b and (c and not d))) do x:=123; end;
  545.     while (not (not b and (not c and not d))) do x:=123; end;
  546.  
  547.     while (not (b and (not (c and d)))) do x:=123; end;
  548.     while (not (not b and (not (c and d)))) do x:=123; end;
  549.     while (not (b and (not (not c and d)))) do x:=123; end;
  550.     while (not (b and (not (c and not d)))) do x:=123; end;
  551.     while (not (not b and (not (not c and d)))) do x:=123; end;
  552.     while (not (b and (not (not c and not d)))) do x:=123; end;
  553.     while (not (not b and (not (c and not d)))) do x:=123; end;
  554.     while (not (not b and (not (not c and not d)))) do x:=123; end;
  555.  
  556. (*****  All expressions with: and or  *****)
  557.  
  558.     while ((b and c) or d) do x:=123; end;
  559.     while ((not b and c) or d) do x:=123; end;
  560.     while ((b and not c) or d) do x:=123; end;
  561.     while ((b and c) or not d) do x:=123; end;
  562.     while ((not b and not c) or d) do x:=123; end;
  563.     while ((b and not c) or not d) do x:=123; end;
  564.     while ((not b and c) or not d) do x:=123; end;
  565.     while ((not b and not c) or not d) do x:=123; end;
  566.  
  567.     while ((not (b and c)) or d) do x:=123; end;
  568.     while ((not (not b and c)) or d) do x:=123; end;
  569.     while ((not (b and not c)) or d) do x:=123; end;
  570.     while ((not (b and c)) or not d) do x:=123; end;
  571.     while ((not (not b and not c)) or d) do x:=123; end;
  572.     while ((not (b and not c)) or not d) do x:=123; end;
  573.     while ((not (not b and c)) or not d) do x:=123; end;
  574.     while ((not (not b and not c)) or not d) do x:=123; end;
  575.  
  576.     while (b and (c or d)) do x:=123; end;
  577.     while (not b and (c or d)) do x:=123; end;
  578.     while (b and (not c or d)) do x:=123; end;
  579.     while (b and (c or not d)) do x:=123; end;
  580.     while (not b and (not c or d)) do x:=123; end;
  581.     while (b and (not c or not d)) do x:=123; end;
  582.     while (not b and (c or not d)) do x:=123; end;
  583.     while (not b and (not c or not d)) do x:=123; end;
  584.  
  585.     while (b and (not (c or d))) do x:=123; end;
  586.     while (not b and (not (c or d))) do x:=123; end;
  587.     while (b and (not (not c or d))) do x:=123; end;
  588.     while (b and (not (c or not d))) do x:=123; end;
  589.     while (not b and (not (not c or d))) do x:=123; end;
  590.     while (b and (not (not c or not d))) do x:=123; end;
  591.     while (not b and (not (c or not d))) do x:=123; end;
  592.     while (not b and (not (not c or not d))) do x:=123; end;
  593.  
  594.     while (not ((b and c) or d)) do x:=123; end;
  595.     while (not ((not b and c) or d)) do x:=123; end;
  596.     while (not ((b and not c) or d)) do x:=123; end;
  597.     while (not ((b and c) or not d)) do x:=123; end;
  598.     while (not ((not b and not c) or d)) do x:=123; end;
  599.     while (not ((b and not c) or not d)) do x:=123; end;
  600.     while (not ((not b and c) or not d)) do x:=123; end;
  601.     while (not ((not b and not c) or not d)) do x:=123; end;
  602.  
  603.     while (not ((not (b and c)) or d)) do x:=123; end;
  604.     while (not ((not (not b and c)) or d)) do x:=123; end;
  605.     while (not ((not (b and not c)) or d)) do x:=123; end;
  606.     while (not ((not (b and c)) or not d)) do x:=123; end;
  607.     while (not ((not (not b and not c)) or d)) do x:=123; end;
  608.     while (not ((not (b and not c)) or not d)) do x:=123; end;
  609.     while (not ((not (not b and c)) or not d)) do x:=123; end;
  610.     while (not ((not (not b and not c)) or not d)) do x:=123; end;
  611.  
  612.     while (not (b and (c or d))) do x:=123; end;
  613.     while (not (not b and (c or d))) do x:=123; end;
  614.     while (not (b and (not c or d))) do x:=123; end;
  615.     while (not (b and (c or not d))) do x:=123; end;
  616.     while (not (not b and (not c or d))) do x:=123; end;
  617.     while (not (b and (not c or not d))) do x:=123; end;
  618.     while (not (not b and (c or not d))) do x:=123; end;
  619.     while (not (not b and (not c or not d))) do x:=123; end;
  620.  
  621.     while (not (b and (not (c or d)))) do x:=123; end;
  622.     while (not (not b and (not (c or d)))) do x:=123; end;
  623.     while (not (b and (not (not c or d)))) do x:=123; end;
  624.     while (not (b and (not (c or not d)))) do x:=123; end;
  625.     while (not (not b and (not (not c or d)))) do x:=123; end;
  626.     while (not (b and (not (not c or not d)))) do x:=123; end;
  627.     while (not (not b and (not (c or not d)))) do x:=123; end;
  628.     while (not (not b and (not (not c or not d)))) do x:=123; end;
  629.  
  630. (*****  All expressions with: or and  *****)
  631.  
  632.     while ((b or c) and d) do x:=123; end;
  633.     while ((not b or c) and d) do x:=123; end;
  634.     while ((b or not c) and d) do x:=123; end;
  635.     while ((b or c) and not d) do x:=123; end;
  636.     while ((not b or not c) and d) do x:=123; end;
  637.     while ((b or not c) and not d) do x:=123; end;
  638.     while ((not b or c) and not d) do x:=123; end;
  639.     while ((not b or not c) and not d) do x:=123; end;
  640.  
  641.     while ((not (b or c)) and d) do x:=123; end;
  642.     while ((not (not b or c)) and d) do x:=123; end;
  643.     while ((not (b or not c)) and d) do x:=123; end;
  644.     while ((not (b or c)) and not d) do x:=123; end;
  645.     while ((not (not b or not c)) and d) do x:=123; end;
  646.     while ((not (b or not c)) and not d) do x:=123; end;
  647.     while ((not (not b or c)) and not d) do x:=123; end;
  648.     while ((not (not b or not c)) and not d) do x:=123; end;
  649.  
  650.     while (b or (c and d)) do x:=123; end;
  651.     while (not b or (c and d)) do x:=123; end;
  652.     while (b or (not c and d)) do x:=123; end;
  653.     while (b or (c and not d)) do x:=123; end;
  654.     while (not b or (not c and d)) do x:=123; end;
  655.     while (b or (not c and not d)) do x:=123; end;
  656.     while (not b or (c and not d)) do x:=123; end;
  657.     while (not b or (not c and not d)) do x:=123; end;
  658.  
  659.     while (b or (not (c and d))) do x:=123; end;
  660.     while (not b or (not (c and d))) do x:=123; end;
  661.     while (b or (not (not c and d))) do x:=123; end;
  662.     while (b or (not (c and not d))) do x:=123; end;
  663.     while (not b or (not (not c and d))) do x:=123; end;
  664.     while (b or (not (not c and not d))) do x:=123; end;
  665.     while (not b or (not (c and not d))) do x:=123; end;
  666.     while (not b or (not (not c and not d))) do x:=123; end;
  667.  
  668.     while (not ((b or c) and d)) do x:=123; end;
  669.     while (not ((not b or c) and d)) do x:=123; end;
  670.     while (not ((b or not c) and d)) do x:=123; end;
  671.     while (not ((b or c) and not d)) do x:=123; end;
  672.     while (not ((not b or not c) and d)) do x:=123; end;
  673.     while (not ((b or not c) and not d)) do x:=123; end;
  674.     while (not ((not b or c) and not d)) do x:=123; end;
  675.     while (not ((not b or not c) and not d)) do x:=123; end;
  676.  
  677.     while (not ((not (b or c)) and d)) do x:=123; end;
  678.     while (not ((not (not b or c)) and d)) do x:=123; end;
  679.     while (not ((not (b or not c)) and d)) do x:=123; end;
  680.     while (not ((not (b or c)) and not d)) do x:=123; end;
  681.     while (not ((not (not b or not c)) and d)) do x:=123; end;
  682.     while (not ((not (b or not c)) and not d)) do x:=123; end;
  683.     while (not ((not (not b or c)) and not d)) do x:=123; end;
  684.     while (not ((not (not b or not c)) and not d)) do x:=123; end;
  685.  
  686.     while (not (b or (c and d))) do x:=123; end;
  687.     while (not (not b or (c and d))) do x:=123; end;
  688.     while (not (b or (not c and d))) do x:=123; end;
  689.     while (not (b or (c and not d))) do x:=123; end;
  690.     while (not (not b or (not c and d))) do x:=123; end;
  691.     while (not (b or (not c and not d))) do x:=123; end;
  692.     while (not (not b or (c and not d))) do x:=123; end;
  693.     while (not (not b or (not c and not d))) do x:=123; end;
  694.  
  695.     while (not (b or (not (c and d)))) do x:=123; end;
  696.     while (not (not b or (not (c and d)))) do x:=123; end;
  697.     while (not (b or (not (not c and d)))) do x:=123; end;
  698.     while (not (b or (not (c and not d)))) do x:=123; end;
  699.     while (not (not b or (not (not c and d)))) do x:=123; end;
  700.     while (not (b or (not (not c and not d)))) do x:=123; end;
  701.     while (not (not b or (not (c and not d)))) do x:=123; end;
  702.     while (not (not b or (not (not c and not d)))) do x:=123; end;
  703.  
  704.  
  705. (*****  Same thing as above, except with <, <= relationals  *****)
  706.  
  707.  
  708.  
  709.  
  710. (*****  All expressions with one variables  *****)
  711.  
  712.     a := (i<j);
  713.     a := not (i<j);
  714.     a := not not (i<j);
  715.     a := not not not (i<j);
  716.  
  717. (*****  All expressions with two variables  *****)
  718.  
  719.     a := (i<j) or (i<=j);
  720.     a := not (i<j) or (i<=j);
  721.     a := (i<=j) or not (i<j);
  722.     a := not (i<j) or not (i<=j);
  723.  
  724.     a := not ((i<j) or (i<=j));
  725.     a := not (not (i<j) or (i<=j));
  726.     a := not ((i<=j) or not (i<j));
  727.     a := not (not (i<j) or not (i<=j));
  728.  
  729.     a := (i<j) and (i<=j);
  730.     a := not (i<j) and (i<=j);
  731.     a := (i<j) and not (i<=j);
  732.     a := not (i<j) and not (i<=j);
  733.  
  734.     a := not ((i<j) and (i<=j));
  735.     a := not (not (i<j) and (i<=j));
  736.     a := not ((i<j) and not (i<=j));
  737.     a := not (not (i<j) and not (i<=j));
  738.  
  739. (*****  All expressions with two variables (double negations)  *****)
  740.  
  741.     a := not not (i<j) or (i<=j);
  742.     a := (i<=j) or not not (i<j);
  743.     a := not not (i<j) or not not (i<=j);
  744.  
  745.     a := not not ((i<j) or (i<=j));
  746.     a := not not (not not (i<j) or (i<=j));
  747.     a := not not ((i<=j) or not not (i<j));
  748.     a := not not (not not (i<j) or not not (i<=j));
  749.  
  750.     a := (i<j) and (i<=j);
  751.     a := not not (i<j) and (i<=j);
  752.     a := (i<j) and not not (i<=j);
  753.     a := not not (i<j) and not not (i<=j);
  754.  
  755.     a := not not ((i<j) and (i<=j));
  756.     a := not not (not not (i<j) and (i<=j));
  757.     a := not not ((i<j) and not not (i<=j));
  758.     a := not not (not not (i<j) and not not (i<=j));
  759.  
  760. (*****  All expressions with: or or  *****)
  761.  
  762.     a := ((i<j) or (i<=j)) or d;
  763.     a := (not (i<j) or (i<=j)) or d;
  764.     a := ((i<j) or not (i<=j)) or d;
  765.     a := ((i<j) or (i<=j)) or not d;
  766.     a := (not (i<j) or not (i<=j)) or d;
  767.     a := ((i<j) or not (i<=j)) or not d;
  768.     a := (not (i<j) or (i<=j)) or not d;
  769.     a := (not (i<j) or not (i<=j)) or not d;
  770.  
  771.     a := (not ((i<j) or (i<=j))) or d;
  772.     a := (not (not (i<j) or (i<=j))) or d;
  773.     a := (not ((i<j) or not (i<=j))) or d;
  774.     a := (not ((i<j) or (i<=j))) or not d;
  775.     a := (not (not (i<j) or not (i<=j))) or d;
  776.     a := (not ((i<j) or not (i<=j))) or not d;
  777.     a := (not (not (i<j) or (i<=j))) or not d;
  778.     a := (not (not (i<j) or not (i<=j))) or not d;
  779.  
  780.     a := (i<j) or ((i<=j) or d);
  781.     a := not (i<j) or ((i<=j) or d);
  782.     a := (i<j) or (not (i<=j) or d);
  783.     a := (i<j) or ((i<=j) or not d);
  784.     a := not (i<j) or (not (i<=j) or d);
  785.     a := (i<j) or (not (i<=j) or not d);
  786.     a := not (i<j) or ((i<=j) or not d);
  787.     a := not (i<j) or (not (i<=j) or not d);
  788.  
  789.     a := (i<j) or (not ((i<=j) or d));
  790.     a := not (i<j) or (not ((i<=j) or d));
  791.     a := (i<j) or (not (not (i<=j) or d));
  792.     a := (i<j) or (not ((i<=j) or not d));
  793.     a := not (i<j) or (not (not (i<=j) or d));
  794.     a := (i<j) or (not (not (i<=j) or not d));
  795.     a := not (i<j) or (not ((i<=j) or not d));
  796.     a := not (i<j) or (not (not (i<=j) or not d));
  797.  
  798.     a := not (((i<j) or (i<=j)) or d);
  799.     a := not ((not (i<j) or (i<=j)) or d);
  800.     a := not (((i<j) or not (i<=j)) or d);
  801.     a := not (((i<j) or (i<=j)) or not d);
  802.     a := not ((not (i<j) or not (i<=j)) or d);
  803.     a := not (((i<j) or not (i<=j)) or not d);
  804.     a := not ((not (i<j) or (i<=j)) or not d);
  805.     a := not ((not (i<j) or not (i<=j)) or not d);
  806.  
  807.     a := not ((not ((i<j) or (i<=j))) or d);
  808.     a := not ((not (not (i<j) or (i<=j))) or d);
  809.     a := not ((not ((i<j) or not (i<=j))) or d);
  810.     a := not ((not ((i<j) or (i<=j))) or not d);
  811.     a := not ((not (not (i<j) or not (i<=j))) or d);
  812.     a := not ((not ((i<j) or not (i<=j))) or not d);
  813.     a := not ((not (not (i<j) or (i<=j))) or not d);
  814.     a := not ((not (not (i<j) or not (i<=j))) or not d);
  815.  
  816.     a := not ((i<j) or ((i<=j) or d));
  817.     a := not (not (i<j) or ((i<=j) or d));
  818.     a := not ((i<j) or (not (i<=j) or d));
  819.     a := not ((i<j) or ((i<=j) or not d));
  820.     a := not (not (i<j) or (not (i<=j) or d));
  821.     a := not ((i<j) or (not (i<=j) or not d));
  822.     a := not (not (i<j) or ((i<=j) or not d));
  823.     a := not (not (i<j) or (not (i<=j) or not d));
  824.  
  825.     a := not ((i<j) or (not ((i<=j) or d)));
  826.     a := not (not (i<j) or (not ((i<=j) or d)));
  827.     a := not ((i<j) or (not (not (i<=j) or d)));
  828.     a := not ((i<j) or (not ((i<=j) or not d)));
  829.     a := not (not (i<j) or (not (not (i<=j) or d)));
  830.     a := not ((i<j) or (not (not (i<=j) or not d)));
  831.     a := not (not (i<j) or (not ((i<=j) or not d)));
  832.     a := not (not (i<j) or (not (not (i<=j) or not d)));
  833.  
  834. (*****  All expressions with: and and  *****)
  835.  
  836.     a := ((i<j) and (i<=j)) and d;
  837.     a := (not (i<j) and (i<=j)) and d;
  838.     a := ((i<j) and not (i<=j)) and d;
  839.     a := ((i<j) and (i<=j)) and not d;
  840.     a := (not (i<j) and not (i<=j)) and d;
  841.     a := ((i<j) and not (i<=j)) and not d;
  842.     a := (not (i<j) and (i<=j)) and not d;
  843.     a := (not (i<j) and not (i<=j)) and not d;
  844.  
  845.     a := (not ((i<j) and (i<=j))) and d;
  846.     a := (not (not (i<j) and (i<=j))) and d;
  847.     a := (not ((i<j) and not (i<=j))) and d;
  848.     a := (not ((i<j) and (i<=j))) and not d;
  849.     a := (not (not (i<j) and not (i<=j))) and d;
  850.     a := (not ((i<j) and not (i<=j))) and not d;
  851.     a := (not (not (i<j) and (i<=j))) and not d;
  852.     a := (not (not (i<j) and not (i<=j))) and not d;
  853.  
  854.     a := (i<j) and ((i<=j) and d);
  855.     a := not (i<j) and ((i<=j) and d);
  856.     a := (i<j) and (not (i<=j) and d);
  857.     a := (i<j) and ((i<=j) and not d);
  858.     a := not (i<j) and (not (i<=j) and d);
  859.     a := (i<j) and (not (i<=j) and not d);
  860.     a := not (i<j) and ((i<=j) and not d);
  861.     a := not (i<j) and (not (i<=j) and not d);
  862.  
  863.     a := (i<j) and (not ((i<=j) and d));
  864.     a := not (i<j) and (not ((i<=j) and d));
  865.     a := (i<j) and (not (not (i<=j) and d));
  866.     a := (i<j) and (not ((i<=j) and not d));
  867.     a := not (i<j) and (not (not (i<=j) and d));
  868.     a := (i<j) and (not (not (i<=j) and not d));
  869.     a := not (i<j) and (not ((i<=j) and not d));
  870.     a := not (i<j) and (not (not (i<=j) and not d));
  871.  
  872.     a := not (((i<j) and (i<=j)) and d);
  873.     a := not ((not (i<j) and (i<=j)) and d);
  874.     a := not (((i<j) and not (i<=j)) and d);
  875.     a := not (((i<j) and (i<=j)) and not d);
  876.     a := not ((not (i<j) and not (i<=j)) and d);
  877.     a := not (((i<j) and not (i<=j)) and not d);
  878.     a := not ((not (i<j) and (i<=j)) and not d);
  879.     a := not ((not (i<j) and not (i<=j)) and not d);
  880.  
  881.     a := not ((not ((i<j) and (i<=j))) and d);
  882.     a := not ((not (not (i<j) and (i<=j))) and d);
  883.     a := not ((not ((i<j) and not (i<=j))) and d);
  884.     a := not ((not ((i<j) and (i<=j))) and not d);
  885.     a := not ((not (not (i<j) and not (i<=j))) and d);
  886.     a := not ((not ((i<j) and not (i<=j))) and not d);
  887.     a := not ((not (not (i<j) and (i<=j))) and not d);
  888.     a := not ((not (not (i<j) and not (i<=j))) and not d);
  889.  
  890.     a := not ((i<j) and ((i<=j) and d));
  891.     a := not (not (i<j) and ((i<=j) and d));
  892.     a := not ((i<j) and (not (i<=j) and d));
  893.     a := not ((i<j) and ((i<=j) and not d));
  894.     a := not (not (i<j) and (not (i<=j) and d));
  895.     a := not ((i<j) and (not (i<=j) and not d));
  896.     a := not (not (i<j) and ((i<=j) and not d));
  897.     a := not (not (i<j) and (not (i<=j) and not d));
  898.  
  899.     a := not ((i<j) and (not ((i<=j) and d)));
  900.     a := not (not (i<j) and (not ((i<=j) and d)));
  901.     a := not ((i<j) and (not (not (i<=j) and d)));
  902.     a := not ((i<j) and (not ((i<=j) and not d)));
  903.     a := not (not (i<j) and (not (not (i<=j) and d)));
  904.     a := not ((i<j) and (not (not (i<=j) and not d)));
  905.     a := not (not (i<j) and (not ((i<=j) and not d)));
  906.     a := not (not (i<j) and (not (not (i<=j) and not d)));
  907.  
  908. (*****  All expressions with: and or  *****)
  909.  
  910.     a := ((i<j) and (i<=j)) or d;
  911.     a := (not (i<j) and (i<=j)) or d;
  912.     a := ((i<j) and not (i<=j)) or d;
  913.     a := ((i<j) and (i<=j)) or not d;
  914.     a := (not (i<j) and not (i<=j)) or d;
  915.     a := ((i<j) and not (i<=j)) or not d;
  916.     a := (not (i<j) and (i<=j)) or not d;
  917.     a := (not (i<j) and not (i<=j)) or not d;
  918.  
  919.     a := (not ((i<j) and (i<=j))) or d;
  920.     a := (not (not (i<j) and (i<=j))) or d;
  921.     a := (not ((i<j) and not (i<=j))) or d;
  922.     a := (not ((i<j) and (i<=j))) or not d;
  923.     a := (not (not (i<j) and not (i<=j))) or d;
  924.     a := (not ((i<j) and not (i<=j))) or not d;
  925.     a := (not (not (i<j) and (i<=j))) or not d;
  926.     a := (not (not (i<j) and not (i<=j))) or not d;
  927.  
  928.     a := (i<j) and ((i<=j) or d);
  929.     a := not (i<j) and ((i<=j) or d);
  930.     a := (i<j) and (not (i<=j) or d);
  931.     a := (i<j) and ((i<=j) or not d);
  932.     a := not (i<j) and (not (i<=j) or d);
  933.     a := (i<j) and (not (i<=j) or not d);
  934.     a := not (i<j) and ((i<=j) or not d);
  935.     a := not (i<j) and (not (i<=j) or not d);
  936.  
  937.     a := (i<j) and (not ((i<=j) or d));
  938.     a := not (i<j) and (not ((i<=j) or d));
  939.     a := (i<j) and (not (not (i<=j) or d));
  940.     a := (i<j) and (not ((i<=j) or not d));
  941.     a := not (i<j) and (not (not (i<=j) or d));
  942.     a := (i<j) and (not (not (i<=j) or not d));
  943.     a := not (i<j) and (not ((i<=j) or not d));
  944.     a := not (i<j) and (not (not (i<=j) or not d));
  945.  
  946.     a := not (((i<j) and (i<=j)) or d);
  947.     a := not ((not (i<j) and (i<=j)) or d);
  948.     a := not (((i<j) and not (i<=j)) or d);
  949.     a := not (((i<j) and (i<=j)) or not d);
  950.     a := not ((not (i<j) and not (i<=j)) or d);
  951.     a := not (((i<j) and not (i<=j)) or not d);
  952.     a := not ((not (i<j) and (i<=j)) or not d);
  953.     a := not ((not (i<j) and not (i<=j)) or not d);
  954.  
  955.     a := not ((not ((i<j) and (i<=j))) or d);
  956.     a := not ((not (not (i<j) and (i<=j))) or d);
  957.     a := not ((not ((i<j) and not (i<=j))) or d);
  958.     a := not ((not ((i<j) and (i<=j))) or not d);
  959.     a := not ((not (not (i<j) and not (i<=j))) or d);
  960.     a := not ((not ((i<j) and not (i<=j))) or not d);
  961.     a := not ((not (not (i<j) and (i<=j))) or not d);
  962.     a := not ((not (not (i<j) and not (i<=j))) or not d);
  963.  
  964.     a := not ((i<j) and ((i<=j) or d));
  965.     a := not (not (i<j) and ((i<=j) or d));
  966.     a := not ((i<j) and (not (i<=j) or d));
  967.     a := not ((i<j) and ((i<=j) or not d));
  968.     a := not (not (i<j) and (not (i<=j) or d));
  969.     a := not ((i<j) and (not (i<=j) or not d));
  970.     a := not (not (i<j) and ((i<=j) or not d));
  971.     a := not (not (i<j) and (not (i<=j) or not d));
  972.  
  973.     a := not ((i<j) and (not ((i<=j) or d)));
  974.     a := not (not (i<j) and (not ((i<=j) or d)));
  975.     a := not ((i<j) and (not (not (i<=j) or d)));
  976.     a := not ((i<j) and (not ((i<=j) or not d)));
  977.     a := not (not (i<j) and (not (not (i<=j) or d)));
  978.     a := not ((i<j) and (not (not (i<=j) or not d)));
  979.     a := not (not (i<j) and (not ((i<=j) or not d)));
  980.     a := not (not (i<j) and (not (not (i<=j) or not d)));
  981.  
  982. (*****  All expressions with: or and  *****)
  983.  
  984.     a := ((i<j) or (i<=j)) and d;
  985.     a := (not (i<j) or (i<=j)) and d;
  986.     a := ((i<j) or not (i<=j)) and d;
  987.     a := ((i<j) or (i<=j)) and not d;
  988.     a := (not (i<j) or not (i<=j)) and d;
  989.     a := ((i<j) or not (i<=j)) and not d;
  990.     a := (not (i<j) or (i<=j)) and not d;
  991.     a := (not (i<j) or not (i<=j)) and not d;
  992.  
  993.     a := (not ((i<j) or (i<=j))) and d;
  994.     a := (not (not (i<j) or (i<=j))) and d;
  995.     a := (not ((i<j) or not (i<=j))) and d;
  996.     a := (not ((i<j) or (i<=j))) and not d;
  997.     a := (not (not (i<j) or not (i<=j))) and d;
  998.     a := (not ((i<j) or not (i<=j))) and not d;
  999.     a := (not (not (i<j) or (i<=j))) and not d;
  1000.     a := (not (not (i<j) or not (i<=j))) and not d;
  1001.  
  1002.     a := (i<j) or ((i<=j) and d);
  1003.     a := not (i<j) or ((i<=j) and d);
  1004.     a := (i<j) or (not (i<=j) and d);
  1005.     a := (i<j) or ((i<=j) and not d);
  1006.     a := not (i<j) or (not (i<=j) and d);
  1007.     a := (i<j) or (not (i<=j) and not d);
  1008.     a := not (i<j) or ((i<=j) and not d);
  1009.     a := not (i<j) or (not (i<=j) and not d);
  1010.  
  1011.     a := (i<j) or (not ((i<=j) and d));
  1012.     a := not (i<j) or (not ((i<=j) and d));
  1013.     a := (i<j) or (not (not (i<=j) and d));
  1014.     a := (i<j) or (not ((i<=j) and not d));
  1015.     a := not (i<j) or (not (not (i<=j) and d));
  1016.     a := (i<j) or (not (not (i<=j) and not d));
  1017.     a := not (i<j) or (not ((i<=j) and not d));
  1018.     a := not (i<j) or (not (not (i<=j) and not d));
  1019.  
  1020.     a := not (((i<j) or (i<=j)) and d);
  1021.     a := not ((not (i<j) or (i<=j)) and d);
  1022.     a := not (((i<j) or not (i<=j)) and d);
  1023.     a := not (((i<j) or (i<=j)) and not d);
  1024.     a := not ((not (i<j) or not (i<=j)) and d);
  1025.     a := not (((i<j) or not (i<=j)) and not d);
  1026.     a := not ((not (i<j) or (i<=j)) and not d);
  1027.     a := not ((not (i<j) or not (i<=j)) and not d);
  1028.  
  1029.     a := not ((not ((i<j) or (i<=j))) and d);
  1030.     a := not ((not (not (i<j) or (i<=j))) and d);
  1031.     a := not ((not ((i<j) or not (i<=j))) and d);
  1032.     a := not ((not ((i<j) or (i<=j))) and not d);
  1033.     a := not ((not (not (i<j) or not (i<=j))) and d);
  1034.     a := not ((not ((i<j) or not (i<=j))) and not d);
  1035.     a := not ((not (not (i<j) or (i<=j))) and not d);
  1036.     a := not ((not (not (i<j) or not (i<=j))) and not d);
  1037.  
  1038.     a := not ((i<j) or ((i<=j) and d));
  1039.     a := not (not (i<j) or ((i<=j) and d));
  1040.     a := not ((i<j) or (not (i<=j) and d));
  1041.     a := not ((i<j) or ((i<=j) and not d));
  1042.     a := not (not (i<j) or (not (i<=j) and d));
  1043.     a := not ((i<j) or (not (i<=j) and not d));
  1044.     a := not (not (i<j) or ((i<=j) and not d));
  1045.     a := not (not (i<j) or (not (i<=j) and not d));
  1046.  
  1047.     a := not ((i<j) or (not ((i<=j) and d)));
  1048.     a := not (not (i<j) or (not ((i<=j) and d)));
  1049.     a := not ((i<j) or (not (not (i<=j) and d)));
  1050.     a := not ((i<j) or (not ((i<=j) and not d)));
  1051.     a := not (not (i<j) or (not (not (i<=j) and d)));
  1052.     a := not ((i<j) or (not (not (i<=j) and not d)));
  1053.     a := not (not (i<j) or (not ((i<=j) and not d)));
  1054.     a := not (not (i<j) or (not (not (i<=j) and not d)));
  1055.  
  1056. (*****  Same thing, only in the context of a while  *****)
  1057.  
  1058.  
  1059. (*****  All expressions with one variables  *****)
  1060.  
  1061.     while ((i<j)) do x:=123; end;
  1062.     while (not (i<j)) do x:=123; end;
  1063.     while (not not (i<j)) do x:=123; end;
  1064.     while (not not not (i<j)) do x:=123; end;
  1065.  
  1066. (*****  All expressions with two variables  *****)
  1067.  
  1068.     while ((i<j) or (i<=j)) do x:=123; end;
  1069.     while (not (i<j) or (i<=j)) do x:=123; end;
  1070.     while ((i<=j) or not (i<j)) do x:=123; end;
  1071.     while (not (i<j) or not (i<=j)) do x:=123; end;
  1072.  
  1073.     while (not ((i<j) or (i<=j))) do x:=123; end;
  1074.     while (not (not (i<j) or (i<=j))) do x:=123; end;
  1075.     while (not ((i<=j) or not (i<j))) do x:=123; end;
  1076.     while (not (not (i<j) or not (i<=j))) do x:=123; end;
  1077.  
  1078.     while ((i<j) and (i<=j)) do x:=123; end;
  1079.     while (not (i<j) and (i<=j)) do x:=123; end;
  1080.     while ((i<j) and not (i<=j)) do x:=123; end;
  1081.     while (not (i<j) and not (i<=j)) do x:=123; end;
  1082.  
  1083.     while (not ((i<j) and (i<=j))) do x:=123; end;
  1084.     while (not (not (i<j) and (i<=j))) do x:=123; end;
  1085.     while (not ((i<j) and not (i<=j))) do x:=123; end;
  1086.     while (not (not (i<j) and not (i<=j))) do x:=123; end;
  1087.  
  1088. (*****  All expressions with two variables (double negations)  *****)
  1089.  
  1090.     while (not not (i<j) or (i<=j)) do x:=123; end;
  1091.     while ((i<=j) or not not (i<j)) do x:=123; end;
  1092.     while (not not (i<j) or not not (i<=j)) do x:=123; end;
  1093.  
  1094.     while (not not ((i<j) or (i<=j))) do x:=123; end;
  1095.     while (not not (not not (i<j) or (i<=j))) do x:=123; end;
  1096.     while (not not ((i<=j) or not not (i<j))) do x:=123; end;
  1097.     while (not not (not not (i<j) or not not (i<=j))) do x:=123; end;
  1098.  
  1099.     while ((i<j) and (i<=j)) do x:=123; end;
  1100.     while (not not (i<j) and (i<=j)) do x:=123; end;
  1101.     while ((i<j) and not not (i<=j)) do x:=123; end;
  1102.     while (not not (i<j) and not not (i<=j)) do x:=123; end;
  1103.  
  1104.     while (not not ((i<j) and (i<=j))) do x:=123; end;
  1105.     while (not not (not not (i<j) and (i<=j))) do x:=123; end;
  1106.     while (not not ((i<j) and not not (i<=j))) do x:=123; end;
  1107.     while (not not (not not (i<j) and not not (i<=j))) do x:=123; end;
  1108.  
  1109. (*****  All expressions with: or or  *****)
  1110.  
  1111.     while (((i<j) or (i<=j)) or d) do x:=123; end;
  1112.     while ((not (i<j) or (i<=j)) or d) do x:=123; end;
  1113.     while (((i<j) or not (i<=j)) or d) do x:=123; end;
  1114.     while (((i<j) or (i<=j)) or not d) do x:=123; end;
  1115.     while ((not (i<j) or not (i<=j)) or d) do x:=123; end;
  1116.     while (((i<j) or not (i<=j)) or not d) do x:=123; end;
  1117.     while ((not (i<j) or (i<=j)) or not d) do x:=123; end;
  1118.     while ((not (i<j) or not (i<=j)) or not d) do x:=123; end;
  1119.  
  1120.     while ((not ((i<j) or (i<=j))) or d) do x:=123; end;
  1121.     while ((not (not (i<j) or (i<=j))) or d) do x:=123; end;
  1122.     while ((not ((i<j) or not (i<=j))) or d) do x:=123; end;
  1123.     while ((not ((i<j) or (i<=j))) or not d) do x:=123; end;
  1124.     while ((not (not (i<j) or not (i<=j))) or d) do x:=123; end;
  1125.     while ((not ((i<j) or not (i<=j))) or not d) do x:=123; end;
  1126.     while ((not (not (i<j) or (i<=j))) or not d) do x:=123; end;
  1127.     while ((not (not (i<j) or not (i<=j))) or not d) do x:=123; end;
  1128.  
  1129.     while ((i<j) or ((i<=j) or d)) do x:=123; end;
  1130.     while (not (i<j) or ((i<=j) or d)) do x:=123; end;
  1131.     while ((i<j) or (not (i<=j) or d)) do x:=123; end;
  1132.     while ((i<j) or ((i<=j) or not d)) do x:=123; end;
  1133.     while (not (i<j) or (not (i<=j) or d)) do x:=123; end;
  1134.     while ((i<j) or (not (i<=j) or not d)) do x:=123; end;
  1135.     while (not (i<j) or ((i<=j) or not d)) do x:=123; end;
  1136.     while (not (i<j) or (not (i<=j) or not d)) do x:=123; end;
  1137.  
  1138.     while ((i<j) or (not ((i<=j) or d))) do x:=123; end;
  1139.     while (not (i<j) or (not ((i<=j) or d))) do x:=123; end;
  1140.     while ((i<j) or (not (not (i<=j) or d))) do x:=123; end;
  1141.     while ((i<j) or (not ((i<=j) or not d))) do x:=123; end;
  1142.     while (not (i<j) or (not (not (i<=j) or d))) do x:=123; end;
  1143.     while ((i<j) or (not (not (i<=j) or not d))) do x:=123; end;
  1144.     while (not (i<j) or (not ((i<=j) or not d))) do x:=123; end;
  1145.     while (not (i<j) or (not (not (i<=j) or not d))) do x:=123; end;
  1146.  
  1147.     while (not (((i<j) or (i<=j)) or d)) do x:=123; end;
  1148.     while (not ((not (i<j) or (i<=j)) or d)) do x:=123; end;
  1149.     while (not (((i<j) or not (i<=j)) or d)) do x:=123; end;
  1150.     while (not (((i<j) or (i<=j)) or not d)) do x:=123; end;
  1151.     while (not ((not (i<j) or not (i<=j)) or d)) do x:=123; end;
  1152.     while (not (((i<j) or not (i<=j)) or not d)) do x:=123; end;
  1153.     while (not ((not (i<j) or (i<=j)) or not d)) do x:=123; end;
  1154.     while (not ((not (i<j) or not (i<=j)) or not d)) do x:=123; end;
  1155.  
  1156.     while (not ((not ((i<j) or (i<=j))) or d)) do x:=123; end;
  1157.     while (not ((not (not (i<j) or (i<=j))) or d)) do x:=123; end;
  1158.     while (not ((not ((i<j) or not (i<=j))) or d)) do x:=123; end;
  1159.     while (not ((not ((i<j) or (i<=j))) or not d)) do x:=123; end;
  1160.     while (not ((not (not (i<j) or not (i<=j))) or d)) do x:=123; end;
  1161.     while (not ((not ((i<j) or not (i<=j))) or not d)) do x:=123; end;
  1162.     while (not ((not (not (i<j) or (i<=j))) or not d)) do x:=123; end;
  1163.     while (not ((not (not (i<j) or not (i<=j))) or not d)) do x:=123; end;
  1164.  
  1165.     while (not ((i<j) or ((i<=j) or d))) do x:=123; end;
  1166.     while (not (not (i<j) or ((i<=j) or d))) do x:=123; end;
  1167.     while (not ((i<j) or (not (i<=j) or d))) do x:=123; end;
  1168.     while (not ((i<j) or ((i<=j) or not d))) do x:=123; end;
  1169.     while (not (not (i<j) or (not (i<=j) or d))) do x:=123; end;
  1170.     while (not ((i<j) or (not (i<=j) or not d))) do x:=123; end;
  1171.     while (not (not (i<j) or ((i<=j) or not d))) do x:=123; end;
  1172.     while (not (not (i<j) or (not (i<=j) or not d))) do x:=123; end;
  1173.  
  1174.     while (not ((i<j) or (not ((i<=j) or d)))) do x:=123; end;
  1175.     while (not (not (i<j) or (not ((i<=j) or d)))) do x:=123; end;
  1176.     while (not ((i<j) or (not (not (i<=j) or d)))) do x:=123; end;
  1177.     while (not ((i<j) or (not ((i<=j) or not d)))) do x:=123; end;
  1178.     while (not (not (i<j) or (not (not (i<=j) or d)))) do x:=123; end;
  1179.     while (not ((i<j) or (not (not (i<=j) or not d)))) do x:=123; end;
  1180.     while (not (not (i<j) or (not ((i<=j) or not d)))) do x:=123; end;
  1181.     while (not (not (i<j) or (not (not (i<=j) or not d)))) do x:=123; end;
  1182.  
  1183. (*****  All expressions with: and and  *****)
  1184.  
  1185.     while (((i<j) and (i<=j)) and d) do x:=123; end;
  1186.     while ((not (i<j) and (i<=j)) and d) do x:=123; end;
  1187.     while (((i<j) and not (i<=j)) and d) do x:=123; end;
  1188.     while (((i<j) and (i<=j)) and not d) do x:=123; end;
  1189.     while ((not (i<j) and not (i<=j)) and d) do x:=123; end;
  1190.     while (((i<j) and not (i<=j)) and not d) do x:=123; end;
  1191.     while ((not (i<j) and (i<=j)) and not d) do x:=123; end;
  1192.     while ((not (i<j) and not (i<=j)) and not d) do x:=123; end;
  1193.  
  1194.     while ((not ((i<j) and (i<=j))) and d) do x:=123; end;
  1195.     while ((not (not (i<j) and (i<=j))) and d) do x:=123; end;
  1196.     while ((not ((i<j) and not (i<=j))) and d) do x:=123; end;
  1197.     while ((not ((i<j) and (i<=j))) and not d) do x:=123; end;
  1198.     while ((not (not (i<j) and not (i<=j))) and d) do x:=123; end;
  1199.     while ((not ((i<j) and not (i<=j))) and not d) do x:=123; end;
  1200.     while ((not (not (i<j) and (i<=j))) and not d) do x:=123; end;
  1201.     while ((not (not (i<j) and not (i<=j))) and not d) do x:=123; end;
  1202.  
  1203.     while ((i<j) and ((i<=j) and d)) do x:=123; end;
  1204.     while (not (i<j) and ((i<=j) and d)) do x:=123; end;
  1205.     while ((i<j) and (not (i<=j) and d)) do x:=123; end;
  1206.     while ((i<j) and ((i<=j) and not d)) do x:=123; end;
  1207.     while (not (i<j) and (not (i<=j) and d)) do x:=123; end;
  1208.     while ((i<j) and (not (i<=j) and not d)) do x:=123; end;
  1209.     while (not (i<j) and ((i<=j) and not d)) do x:=123; end;
  1210.     while (not (i<j) and (not (i<=j) and not d)) do x:=123; end;
  1211.  
  1212.     while ((i<j) and (not ((i<=j) and d))) do x:=123; end;
  1213.     while (not (i<j) and (not ((i<=j) and d))) do x:=123; end;
  1214.     while ((i<j) and (not (not (i<=j) and d))) do x:=123; end;
  1215.     while ((i<j) and (not ((i<=j) and not d))) do x:=123; end;
  1216.     while (not (i<j) and (not (not (i<=j) and d))) do x:=123; end;
  1217.     while ((i<j) and (not (not (i<=j) and not d))) do x:=123; end;
  1218.     while (not (i<j) and (not ((i<=j) and not d))) do x:=123; end;
  1219.     while (not (i<j) and (not (not (i<=j) and not d))) do x:=123; end;
  1220.  
  1221.     while (not (((i<j) and (i<=j)) and d)) do x:=123; end;
  1222.     while (not ((not (i<j) and (i<=j)) and d)) do x:=123; end;
  1223.     while (not (((i<j) and not (i<=j)) and d)) do x:=123; end;
  1224.     while (not (((i<j) and (i<=j)) and not d)) do x:=123; end;
  1225.     while (not ((not (i<j) and not (i<=j)) and d)) do x:=123; end;
  1226.     while (not (((i<j) and not (i<=j)) and not d)) do x:=123; end;
  1227.     while (not ((not (i<j) and (i<=j)) and not d)) do x:=123; end;
  1228.     while (not ((not (i<j) and not (i<=j)) and not d)) do x:=123; end;
  1229.  
  1230.     while (not ((not ((i<j) and (i<=j))) and d)) do x:=123; end;
  1231.     while (not ((not (not (i<j) and (i<=j))) and d)) do x:=123; end;
  1232.     while (not ((not ((i<j) and not (i<=j))) and d)) do x:=123; end;
  1233.     while (not ((not ((i<j) and (i<=j))) and not d)) do x:=123; end;
  1234.     while (not ((not (not (i<j) and not (i<=j))) and d)) do x:=123; end;
  1235.     while (not ((not ((i<j) and not (i<=j))) and not d)) do x:=123; end;
  1236.     while (not ((not (not (i<j) and (i<=j))) and not d)) do x:=123; end;
  1237.     while (not ((not (not (i<j) and not (i<=j))) and not d)) do x:=123; end;
  1238.  
  1239.     while (not ((i<j) and ((i<=j) and d))) do x:=123; end;
  1240.     while (not (not (i<j) and ((i<=j) and d))) do x:=123; end;
  1241.     while (not ((i<j) and (not (i<=j) and d))) do x:=123; end;
  1242.     while (not ((i<j) and ((i<=j) and not d))) do x:=123; end;
  1243.     while (not (not (i<j) and (not (i<=j) and d))) do x:=123; end;
  1244.     while (not ((i<j) and (not (i<=j) and not d))) do x:=123; end;
  1245.     while (not (not (i<j) and ((i<=j) and not d))) do x:=123; end;
  1246.     while (not (not (i<j) and (not (i<=j) and not d))) do x:=123; end;
  1247.  
  1248.     while (not ((i<j) and (not ((i<=j) and d)))) do x:=123; end;
  1249.     while (not (not (i<j) and (not ((i<=j) and d)))) do x:=123; end;
  1250.     while (not ((i<j) and (not (not (i<=j) and d)))) do x:=123; end;
  1251.     while (not ((i<j) and (not ((i<=j) and not d)))) do x:=123; end;
  1252.     while (not (not (i<j) and (not (not (i<=j) and d)))) do x:=123; end;
  1253.     while (not ((i<j) and (not (not (i<=j) and not d)))) do x:=123; end;
  1254.     while (not (not (i<j) and (not ((i<=j) and not d)))) do x:=123; end;
  1255.     while (not (not (i<j) and (not (not (i<=j) and not d)))) do x:=123; end;
  1256.  
  1257. (*****  All expressions with: and or  *****)
  1258.  
  1259.     while (((i<j) and (i<=j)) or d) do x:=123; end;
  1260.     while ((not (i<j) and (i<=j)) or d) do x:=123; end;
  1261.     while (((i<j) and not (i<=j)) or d) do x:=123; end;
  1262.     while (((i<j) and (i<=j)) or not d) do x:=123; end;
  1263.     while ((not (i<j) and not (i<=j)) or d) do x:=123; end;
  1264.     while (((i<j) and not (i<=j)) or not d) do x:=123; end;
  1265.     while ((not (i<j) and (i<=j)) or not d) do x:=123; end;
  1266.     while ((not (i<j) and not (i<=j)) or not d) do x:=123; end;
  1267.  
  1268.     while ((not ((i<j) and (i<=j))) or d) do x:=123; end;
  1269.     while ((not (not (i<j) and (i<=j))) or d) do x:=123; end;
  1270.     while ((not ((i<j) and not (i<=j))) or d) do x:=123; end;
  1271.     while ((not ((i<j) and (i<=j))) or not d) do x:=123; end;
  1272.     while ((not (not (i<j) and not (i<=j))) or d) do x:=123; end;
  1273.     while ((not ((i<j) and not (i<=j))) or not d) do x:=123; end;
  1274.     while ((not (not (i<j) and (i<=j))) or not d) do x:=123; end;
  1275.     while ((not (not (i<j) and not (i<=j))) or not d) do x:=123; end;
  1276.  
  1277.     while ((i<j) and ((i<=j) or d)) do x:=123; end;
  1278.     while (not (i<j) and ((i<=j) or d)) do x:=123; end;
  1279.     while ((i<j) and (not (i<=j) or d)) do x:=123; end;
  1280.     while ((i<j) and ((i<=j) or not d)) do x:=123; end;
  1281.     while (not (i<j) and (not (i<=j) or d)) do x:=123; end;
  1282.     while ((i<j) and (not (i<=j) or not d)) do x:=123; end;
  1283.     while (not (i<j) and ((i<=j) or not d)) do x:=123; end;
  1284.     while (not (i<j) and (not (i<=j) or not d)) do x:=123; end;
  1285.  
  1286.     while ((i<j) and (not ((i<=j) or d))) do x:=123; end;
  1287.     while (not (i<j) and (not ((i<=j) or d))) do x:=123; end;
  1288.     while ((i<j) and (not (not (i<=j) or d))) do x:=123; end;
  1289.     while ((i<j) and (not ((i<=j) or not d))) do x:=123; end;
  1290.     while (not (i<j) and (not (not (i<=j) or d))) do x:=123; end;
  1291.     while ((i<j) and (not (not (i<=j) or not d))) do x:=123; end;
  1292.     while (not (i<j) and (not ((i<=j) or not d))) do x:=123; end;
  1293.     while (not (i<j) and (not (not (i<=j) or not d))) do x:=123; end;
  1294.  
  1295.     while (not (((i<j) and (i<=j)) or d)) do x:=123; end;
  1296.     while (not ((not (i<j) and (i<=j)) or d)) do x:=123; end;
  1297.     while (not (((i<j) and not (i<=j)) or d)) do x:=123; end;
  1298.     while (not (((i<j) and (i<=j)) or not d)) do x:=123; end;
  1299.     while (not ((not (i<j) and not (i<=j)) or d)) do x:=123; end;
  1300.     while (not (((i<j) and not (i<=j)) or not d)) do x:=123; end;
  1301.     while (not ((not (i<j) and (i<=j)) or not d)) do x:=123; end;
  1302.     while (not ((not (i<j) and not (i<=j)) or not d)) do x:=123; end;
  1303.  
  1304.     while (not ((not ((i<j) and (i<=j))) or d)) do x:=123; end;
  1305.     while (not ((not (not (i<j) and (i<=j))) or d)) do x:=123; end;
  1306.     while (not ((not ((i<j) and not (i<=j))) or d)) do x:=123; end;
  1307.     while (not ((not ((i<j) and (i<=j))) or not d)) do x:=123; end;
  1308.     while (not ((not (not (i<j) and not (i<=j))) or d)) do x:=123; end;
  1309.     while (not ((not ((i<j) and not (i<=j))) or not d)) do x:=123; end;
  1310.     while (not ((not (not (i<j) and (i<=j))) or not d)) do x:=123; end;
  1311.     while (not ((not (not (i<j) and not (i<=j))) or not d)) do x:=123; end;
  1312.  
  1313.     while (not ((i<j) and ((i<=j) or d))) do x:=123; end;
  1314.     while (not (not (i<j) and ((i<=j) or d))) do x:=123; end;
  1315.     while (not ((i<j) and (not (i<=j) or d))) do x:=123; end;
  1316.     while (not ((i<j) and ((i<=j) or not d))) do x:=123; end;
  1317.     while (not (not (i<j) and (not (i<=j) or d))) do x:=123; end;
  1318.     while (not ((i<j) and (not (i<=j) or not d))) do x:=123; end;
  1319.     while (not (not (i<j) and ((i<=j) or not d))) do x:=123; end;
  1320.     while (not (not (i<j) and (not (i<=j) or not d))) do x:=123; end;
  1321.  
  1322.     while (not ((i<j) and (not ((i<=j) or d)))) do x:=123; end;
  1323.     while (not (not (i<j) and (not ((i<=j) or d)))) do x:=123; end;
  1324.     while (not ((i<j) and (not (not (i<=j) or d)))) do x:=123; end;
  1325.     while (not ((i<j) and (not ((i<=j) or not d)))) do x:=123; end;
  1326.     while (not (not (i<j) and (not (not (i<=j) or d)))) do x:=123; end;
  1327.     while (not ((i<j) and (not (not (i<=j) or not d)))) do x:=123; end;
  1328.     while (not (not (i<j) and (not ((i<=j) or not d)))) do x:=123; end;
  1329.     while (not (not (i<j) and (not (not (i<=j) or not d)))) do x:=123; end;
  1330.  
  1331. (*****  All expressions with: or and  *****)
  1332.  
  1333.     while (((i<j) or (i<=j)) and d) do x:=123; end;
  1334.     while ((not (i<j) or (i<=j)) and d) do x:=123; end;
  1335.     while (((i<j) or not (i<=j)) and d) do x:=123; end;
  1336.     while (((i<j) or (i<=j)) and not d) do x:=123; end;
  1337.     while ((not (i<j) or not (i<=j)) and d) do x:=123; end;
  1338.     while (((i<j) or not (i<=j)) and not d) do x:=123; end;
  1339.     while ((not (i<j) or (i<=j)) and not d) do x:=123; end;
  1340.     while ((not (i<j) or not (i<=j)) and not d) do x:=123; end;
  1341.  
  1342.     while ((not ((i<j) or (i<=j))) and d) do x:=123; end;
  1343.     while ((not (not (i<j) or (i<=j))) and d) do x:=123; end;
  1344.     while ((not ((i<j) or not (i<=j))) and d) do x:=123; end;
  1345.     while ((not ((i<j) or (i<=j))) and not d) do x:=123; end;
  1346.     while ((not (not (i<j) or not (i<=j))) and d) do x:=123; end;
  1347.     while ((not ((i<j) or not (i<=j))) and not d) do x:=123; end;
  1348.     while ((not (not (i<j) or (i<=j))) and not d) do x:=123; end;
  1349.     while ((not (not (i<j) or not (i<=j))) and not d) do x:=123; end;
  1350.  
  1351.     while ((i<j) or ((i<=j) and d)) do x:=123; end;
  1352.     while (not (i<j) or ((i<=j) and d)) do x:=123; end;
  1353.     while ((i<j) or (not (i<=j) and d)) do x:=123; end;
  1354.     while ((i<j) or ((i<=j) and not d)) do x:=123; end;
  1355.     while (not (i<j) or (not (i<=j) and d)) do x:=123; end;
  1356.     while ((i<j) or (not (i<=j) and not d)) do x:=123; end;
  1357.     while (not (i<j) or ((i<=j) and not d)) do x:=123; end;
  1358.     while (not (i<j) or (not (i<=j) and not d)) do x:=123; end;
  1359.  
  1360.     while ((i<j) or (not ((i<=j) and d))) do x:=123; end;
  1361.     while (not (i<j) or (not ((i<=j) and d))) do x:=123; end;
  1362.     while ((i<j) or (not (not (i<=j) and d))) do x:=123; end;
  1363.     while ((i<j) or (not ((i<=j) and not d))) do x:=123; end;
  1364.     while (not (i<j) or (not (not (i<=j) and d))) do x:=123; end;
  1365.     while ((i<j) or (not (not (i<=j) and not d))) do x:=123; end;
  1366.     while (not (i<j) or (not ((i<=j) and not d))) do x:=123; end;
  1367.     while (not (i<j) or (not (not (i<=j) and not d))) do x:=123; end;
  1368.  
  1369.     while (not (((i<j) or (i<=j)) and d)) do x:=123; end;
  1370.     while (not ((not (i<j) or (i<=j)) and d)) do x:=123; end;
  1371.     while (not (((i<j) or not (i<=j)) and d)) do x:=123; end;
  1372.     while (not (((i<j) or (i<=j)) and not d)) do x:=123; end;
  1373.     while (not ((not (i<j) or not (i<=j)) and d)) do x:=123; end;
  1374.     while (not (((i<j) or not (i<=j)) and not d)) do x:=123; end;
  1375.     while (not ((not (i<j) or (i<=j)) and not d)) do x:=123; end;
  1376.     while (not ((not (i<j) or not (i<=j)) and not d)) do x:=123; end;
  1377.  
  1378.     while (not ((not ((i<j) or (i<=j))) and d)) do x:=123; end;
  1379.     while (not ((not (not (i<j) or (i<=j))) and d)) do x:=123; end;
  1380.     while (not ((not ((i<j) or not (i<=j))) and d)) do x:=123; end;
  1381.     while (not ((not ((i<j) or (i<=j))) and not d)) do x:=123; end;
  1382.     while (not ((not (not (i<j) or not (i<=j))) and d)) do x:=123; end;
  1383.     while (not ((not ((i<j) or not (i<=j))) and not d)) do x:=123; end;
  1384.     while (not ((not (not (i<j) or (i<=j))) and not d)) do x:=123; end;
  1385.     while (not ((not (not (i<j) or not (i<=j))) and not d)) do x:=123; end;
  1386.  
  1387.     while (not ((i<j) or ((i<=j) and d))) do x:=123; end;
  1388.     while (not (not (i<j) or ((i<=j) and d))) do x:=123; end;
  1389.     while (not ((i<j) or (not (i<=j) and d))) do x:=123; end;
  1390.     while (not ((i<j) or ((i<=j) and not d))) do x:=123; end;
  1391.     while (not (not (i<j) or (not (i<=j) and d))) do x:=123; end;
  1392.     while (not ((i<j) or (not (i<=j) and not d))) do x:=123; end;
  1393.     while (not (not (i<j) or ((i<=j) and not d))) do x:=123; end;
  1394.     while (not (not (i<j) or (not (i<=j) and not d))) do x:=123; end;
  1395.  
  1396.     while (not ((i<j) or (not ((i<=j) and d)))) do x:=123; end;
  1397.     while (not (not (i<j) or (not ((i<=j) and d)))) do x:=123; end;
  1398.     while (not ((i<j) or (not (not (i<=j) and d)))) do x:=123; end;
  1399.     while (not ((i<j) or (not ((i<=j) and not d)))) do x:=123; end;
  1400.     while (not (not (i<j) or (not (not (i<=j) and d)))) do x:=123; end;
  1401.     while (not ((i<j) or (not (not (i<=j) and not d)))) do x:=123; end;
  1402.     while (not (not (i<j) or (not ((i<=j) and not d)))) do x:=123; end;
  1403.     while (not (not (i<j) or (not (not (i<=j) and not d)))) do x:=123; end;
  1404.  
  1405.  
  1406.  
  1407.  
  1408. (*****  Same thing as above, except with >, >= relationals  *****)
  1409.  
  1410.  
  1411.  
  1412.  
  1413. (*****  All expressions with one variables  *****)
  1414.  
  1415.     a := (i>j);
  1416.     a := not (i>j);
  1417.     a := not not (i>j);
  1418.     a := not not not (i>j);
  1419.  
  1420. (*****  All expressions with two variables  *****)
  1421.  
  1422.     a := (i>j) or (i>=j);
  1423.     a := not (i>j) or (i>=j);
  1424.     a := (i>=j) or not (i>j);
  1425.     a := not (i>j) or not (i>=j);
  1426.  
  1427.     a := not ((i>j) or (i>=j));
  1428.     a := not (not (i>j) or (i>=j));
  1429.     a := not ((i>=j) or not (i>j));
  1430.     a := not (not (i>j) or not (i>=j));
  1431.  
  1432.     a := (i>j) and (i>=j);
  1433.     a := not (i>j) and (i>=j);
  1434.     a := (i>j) and not (i>=j);
  1435.     a := not (i>j) and not (i>=j);
  1436.  
  1437.     a := not ((i>j) and (i>=j));
  1438.     a := not (not (i>j) and (i>=j));
  1439.     a := not ((i>j) and not (i>=j));
  1440.     a := not (not (i>j) and not (i>=j));
  1441.  
  1442. (*****  All expressions with two variables (double negations)  *****)
  1443.  
  1444.     a := not not (i>j) or (i>=j);
  1445.     a := (i>=j) or not not (i>j);
  1446.     a := not not (i>j) or not not (i>=j);
  1447.  
  1448.     a := not not ((i>j) or (i>=j));
  1449.     a := not not (not not (i>j) or (i>=j));
  1450.     a := not not ((i>=j) or not not (i>j));
  1451.     a := not not (not not (i>j) or not not (i>=j));
  1452.  
  1453.     a := (i>j) and (i>=j);
  1454.     a := not not (i>j) and (i>=j);
  1455.     a := (i>j) and not not (i>=j);
  1456.     a := not not (i>j) and not not (i>=j);
  1457.  
  1458.     a := not not ((i>j) and (i>=j));
  1459.     a := not not (not not (i>j) and (i>=j));
  1460.     a := not not ((i>j) and not not (i>=j));
  1461.     a := not not (not not (i>j) and not not (i>=j));
  1462.  
  1463. (*****  All expressions with: or or  *****)
  1464.  
  1465.     a := ((i>j) or (i>=j)) or d;
  1466.     a := (not (i>j) or (i>=j)) or d;
  1467.     a := ((i>j) or not (i>=j)) or d;
  1468.     a := ((i>j) or (i>=j)) or not d;
  1469.     a := (not (i>j) or not (i>=j)) or d;
  1470.     a := ((i>j) or not (i>=j)) or not d;
  1471.     a := (not (i>j) or (i>=j)) or not d;
  1472.     a := (not (i>j) or not (i>=j)) or not d;
  1473.  
  1474.     a := (not ((i>j) or (i>=j))) or d;
  1475.     a := (not (not (i>j) or (i>=j))) or d;
  1476.     a := (not ((i>j) or not (i>=j))) or d;
  1477.     a := (not ((i>j) or (i>=j))) or not d;
  1478.     a := (not (not (i>j) or not (i>=j))) or d;
  1479.     a := (not ((i>j) or not (i>=j))) or not d;
  1480.     a := (not (not (i>j) or (i>=j))) or not d;
  1481.     a := (not (not (i>j) or not (i>=j))) or not d;
  1482.  
  1483.     a := (i>j) or ((i>=j) or d);
  1484.     a := not (i>j) or ((i>=j) or d);
  1485.     a := (i>j) or (not (i>=j) or d);
  1486.     a := (i>j) or ((i>=j) or not d);
  1487.     a := not (i>j) or (not (i>=j) or d);
  1488.     a := (i>j) or (not (i>=j) or not d);
  1489.     a := not (i>j) or ((i>=j) or not d);
  1490.     a := not (i>j) or (not (i>=j) or not d);
  1491.  
  1492.     a := (i>j) or (not ((i>=j) or d));
  1493.     a := not (i>j) or (not ((i>=j) or d));
  1494.     a := (i>j) or (not (not (i>=j) or d));
  1495.     a := (i>j) or (not ((i>=j) or not d));
  1496.     a := not (i>j) or (not (not (i>=j) or d));
  1497.     a := (i>j) or (not (not (i>=j) or not d));
  1498.     a := not (i>j) or (not ((i>=j) or not d));
  1499.     a := not (i>j) or (not (not (i>=j) or not d));
  1500.  
  1501.     a := not (((i>j) or (i>=j)) or d);
  1502.     a := not ((not (i>j) or (i>=j)) or d);
  1503.     a := not (((i>j) or not (i>=j)) or d);
  1504.     a := not (((i>j) or (i>=j)) or not d);
  1505.     a := not ((not (i>j) or not (i>=j)) or d);
  1506.     a := not (((i>j) or not (i>=j)) or not d);
  1507.     a := not ((not (i>j) or (i>=j)) or not d);
  1508.     a := not ((not (i>j) or not (i>=j)) or not d);
  1509.  
  1510.     a := not ((not ((i>j) or (i>=j))) or d);
  1511.     a := not ((not (not (i>j) or (i>=j))) or d);
  1512.     a := not ((not ((i>j) or not (i>=j))) or d);
  1513.     a := not ((not ((i>j) or (i>=j))) or not d);
  1514.     a := not ((not (not (i>j) or not (i>=j))) or d);
  1515.     a := not ((not ((i>j) or not (i>=j))) or not d);
  1516.     a := not ((not (not (i>j) or (i>=j))) or not d);
  1517.     a := not ((not (not (i>j) or not (i>=j))) or not d);
  1518.  
  1519.     a := not ((i>j) or ((i>=j) or d));
  1520.     a := not (not (i>j) or ((i>=j) or d));
  1521.     a := not ((i>j) or (not (i>=j) or d));
  1522.     a := not ((i>j) or ((i>=j) or not d));
  1523.     a := not (not (i>j) or (not (i>=j) or d));
  1524.     a := not ((i>j) or (not (i>=j) or not d));
  1525.     a := not (not (i>j) or ((i>=j) or not d));
  1526.     a := not (not (i>j) or (not (i>=j) or not d));
  1527.  
  1528.     a := not ((i>j) or (not ((i>=j) or d)));
  1529.     a := not (not (i>j) or (not ((i>=j) or d)));
  1530.     a := not ((i>j) or (not (not (i>=j) or d)));
  1531.     a := not ((i>j) or (not ((i>=j) or not d)));
  1532.     a := not (not (i>j) or (not (not (i>=j) or d)));
  1533.     a := not ((i>j) or (not (not (i>=j) or not d)));
  1534.     a := not (not (i>j) or (not ((i>=j) or not d)));
  1535.     a := not (not (i>j) or (not (not (i>=j) or not d)));
  1536.  
  1537. (*****  All expressions with: and and  *****)
  1538.  
  1539.     a := ((i>j) and (i>=j)) and d;
  1540.     a := (not (i>j) and (i>=j)) and d;
  1541.     a := ((i>j) and not (i>=j)) and d;
  1542.     a := ((i>j) and (i>=j)) and not d;
  1543.     a := (not (i>j) and not (i>=j)) and d;
  1544.     a := ((i>j) and not (i>=j)) and not d;
  1545.     a := (not (i>j) and (i>=j)) and not d;
  1546.     a := (not (i>j) and not (i>=j)) and not d;
  1547.  
  1548.     a := (not ((i>j) and (i>=j))) and d;
  1549.     a := (not (not (i>j) and (i>=j))) and d;
  1550.     a := (not ((i>j) and not (i>=j))) and d;
  1551.     a := (not ((i>j) and (i>=j))) and not d;
  1552.     a := (not (not (i>j) and not (i>=j))) and d;
  1553.     a := (not ((i>j) and not (i>=j))) and not d;
  1554.     a := (not (not (i>j) and (i>=j))) and not d;
  1555.     a := (not (not (i>j) and not (i>=j))) and not d;
  1556.  
  1557.     a := (i>j) and ((i>=j) and d);
  1558.     a := not (i>j) and ((i>=j) and d);
  1559.     a := (i>j) and (not (i>=j) and d);
  1560.     a := (i>j) and ((i>=j) and not d);
  1561.     a := not (i>j) and (not (i>=j) and d);
  1562.     a := (i>j) and (not (i>=j) and not d);
  1563.     a := not (i>j) and ((i>=j) and not d);
  1564.     a := not (i>j) and (not (i>=j) and not d);
  1565.  
  1566.     a := (i>j) and (not ((i>=j) and d));
  1567.     a := not (i>j) and (not ((i>=j) and d));
  1568.     a := (i>j) and (not (not (i>=j) and d));
  1569.     a := (i>j) and (not ((i>=j) and not d));
  1570.     a := not (i>j) and (not (not (i>=j) and d));
  1571.     a := (i>j) and (not (not (i>=j) and not d));
  1572.     a := not (i>j) and (not ((i>=j) and not d));
  1573.     a := not (i>j) and (not (not (i>=j) and not d));
  1574.  
  1575.     a := not (((i>j) and (i>=j)) and d);
  1576.     a := not ((not (i>j) and (i>=j)) and d);
  1577.     a := not (((i>j) and not (i>=j)) and d);
  1578.     a := not (((i>j) and (i>=j)) and not d);
  1579.     a := not ((not (i>j) and not (i>=j)) and d);
  1580.     a := not (((i>j) and not (i>=j)) and not d);
  1581.     a := not ((not (i>j) and (i>=j)) and not d);
  1582.     a := not ((not (i>j) and not (i>=j)) and not d);
  1583.  
  1584.     a := not ((not ((i>j) and (i>=j))) and d);
  1585.     a := not ((not (not (i>j) and (i>=j))) and d);
  1586.     a := not ((not ((i>j) and not (i>=j))) and d);
  1587.     a := not ((not ((i>j) and (i>=j))) and not d);
  1588.     a := not ((not (not (i>j) and not (i>=j))) and d);
  1589.     a := not ((not ((i>j) and not (i>=j))) and not d);
  1590.     a := not ((not (not (i>j) and (i>=j))) and not d);
  1591.     a := not ((not (not (i>j) and not (i>=j))) and not d);
  1592.  
  1593.     a := not ((i>j) and ((i>=j) and d));
  1594.     a := not (not (i>j) and ((i>=j) and d));
  1595.     a := not ((i>j) and (not (i>=j) and d));
  1596.     a := not ((i>j) and ((i>=j) and not d));
  1597.     a := not (not (i>j) and (not (i>=j) and d));
  1598.     a := not ((i>j) and (not (i>=j) and not d));
  1599.     a := not (not (i>j) and ((i>=j) and not d));
  1600.     a := not (not (i>j) and (not (i>=j) and not d));
  1601.  
  1602.     a := not ((i>j) and (not ((i>=j) and d)));
  1603.     a := not (not (i>j) and (not ((i>=j) and d)));
  1604.     a := not ((i>j) and (not (not (i>=j) and d)));
  1605.     a := not ((i>j) and (not ((i>=j) and not d)));
  1606.     a := not (not (i>j) and (not (not (i>=j) and d)));
  1607.     a := not ((i>j) and (not (not (i>=j) and not d)));
  1608.     a := not (not (i>j) and (not ((i>=j) and not d)));
  1609.     a := not (not (i>j) and (not (not (i>=j) and not d)));
  1610.  
  1611. (*****  All expressions with: and or  *****)
  1612.  
  1613.     a := ((i>j) and (i>=j)) or d;
  1614.     a := (not (i>j) and (i>=j)) or d;
  1615.     a := ((i>j) and not (i>=j)) or d;
  1616.     a := ((i>j) and (i>=j)) or not d;
  1617.     a := (not (i>j) and not (i>=j)) or d;
  1618.     a := ((i>j) and not (i>=j)) or not d;
  1619.     a := (not (i>j) and (i>=j)) or not d;
  1620.     a := (not (i>j) and not (i>=j)) or not d;
  1621.  
  1622.     a := (not ((i>j) and (i>=j))) or d;
  1623.     a := (not (not (i>j) and (i>=j))) or d;
  1624.     a := (not ((i>j) and not (i>=j))) or d;
  1625.     a := (not ((i>j) and (i>=j))) or not d;
  1626.     a := (not (not (i>j) and not (i>=j))) or d;
  1627.     a := (not ((i>j) and not (i>=j))) or not d;
  1628.     a := (not (not (i>j) and (i>=j))) or not d;
  1629.     a := (not (not (i>j) and not (i>=j))) or not d;
  1630.  
  1631.     a := (i>j) and ((i>=j) or d);
  1632.     a := not (i>j) and ((i>=j) or d);
  1633.     a := (i>j) and (not (i>=j) or d);
  1634.     a := (i>j) and ((i>=j) or not d);
  1635.     a := not (i>j) and (not (i>=j) or d);
  1636.     a := (i>j) and (not (i>=j) or not d);
  1637.     a := not (i>j) and ((i>=j) or not d);
  1638.     a := not (i>j) and (not (i>=j) or not d);
  1639.  
  1640.     a := (i>j) and (not ((i>=j) or d));
  1641.     a := not (i>j) and (not ((i>=j) or d));
  1642.     a := (i>j) and (not (not (i>=j) or d));
  1643.     a := (i>j) and (not ((i>=j) or not d));
  1644.     a := not (i>j) and (not (not (i>=j) or d));
  1645.     a := (i>j) and (not (not (i>=j) or not d));
  1646.     a := not (i>j) and (not ((i>=j) or not d));
  1647.     a := not (i>j) and (not (not (i>=j) or not d));
  1648.  
  1649.     a := not (((i>j) and (i>=j)) or d);
  1650.     a := not ((not (i>j) and (i>=j)) or d);
  1651.     a := not (((i>j) and not (i>=j)) or d);
  1652.     a := not (((i>j) and (i>=j)) or not d);
  1653.     a := not ((not (i>j) and not (i>=j)) or d);
  1654.     a := not (((i>j) and not (i>=j)) or not d);
  1655.     a := not ((not (i>j) and (i>=j)) or not d);
  1656.     a := not ((not (i>j) and not (i>=j)) or not d);
  1657.  
  1658.     a := not ((not ((i>j) and (i>=j))) or d);
  1659.     a := not ((not (not (i>j) and (i>=j))) or d);
  1660.     a := not ((not ((i>j) and not (i>=j))) or d);
  1661.     a := not ((not ((i>j) and (i>=j))) or not d);
  1662.     a := not ((not (not (i>j) and not (i>=j))) or d);
  1663.     a := not ((not ((i>j) and not (i>=j))) or not d);
  1664.     a := not ((not (not (i>j) and (i>=j))) or not d);
  1665.     a := not ((not (not (i>j) and not (i>=j))) or not d);
  1666.  
  1667.     a := not ((i>j) and ((i>=j) or d));
  1668.     a := not (not (i>j) and ((i>=j) or d));
  1669.     a := not ((i>j) and (not (i>=j) or d));
  1670.     a := not ((i>j) and ((i>=j) or not d));
  1671.     a := not (not (i>j) and (not (i>=j) or d));
  1672.     a := not ((i>j) and (not (i>=j) or not d));
  1673.     a := not (not (i>j) and ((i>=j) or not d));
  1674.     a := not (not (i>j) and (not (i>=j) or not d));
  1675.  
  1676.     a := not ((i>j) and (not ((i>=j) or d)));
  1677.     a := not (not (i>j) and (not ((i>=j) or d)));
  1678.     a := not ((i>j) and (not (not (i>=j) or d)));
  1679.     a := not ((i>j) and (not ((i>=j) or not d)));
  1680.     a := not (not (i>j) and (not (not (i>=j) or d)));
  1681.     a := not ((i>j) and (not (not (i>=j) or not d)));
  1682.     a := not (not (i>j) and (not ((i>=j) or not d)));
  1683.     a := not (not (i>j) and (not (not (i>=j) or not d)));
  1684.  
  1685. (*****  All expressions with: or and  *****)
  1686.  
  1687.     a := ((i>j) or (i>=j)) and d;
  1688.     a := (not (i>j) or (i>=j)) and d;
  1689.     a := ((i>j) or not (i>=j)) and d;
  1690.     a := ((i>j) or (i>=j)) and not d;
  1691.     a := (not (i>j) or not (i>=j)) and d;
  1692.     a := ((i>j) or not (i>=j)) and not d;
  1693.     a := (not (i>j) or (i>=j)) and not d;
  1694.     a := (not (i>j) or not (i>=j)) and not d;
  1695.  
  1696.     a := (not ((i>j) or (i>=j))) and d;
  1697.     a := (not (not (i>j) or (i>=j))) and d;
  1698.     a := (not ((i>j) or not (i>=j))) and d;
  1699.     a := (not ((i>j) or (i>=j))) and not d;
  1700.     a := (not (not (i>j) or not (i>=j))) and d;
  1701.     a := (not ((i>j) or not (i>=j))) and not d;
  1702.     a := (not (not (i>j) or (i>=j))) and not d;
  1703.     a := (not (not (i>j) or not (i>=j))) and not d;
  1704.  
  1705.     a := (i>j) or ((i>=j) and d);
  1706.     a := not (i>j) or ((i>=j) and d);
  1707.     a := (i>j) or (not (i>=j) and d);
  1708.     a := (i>j) or ((i>=j) and not d);
  1709.     a := not (i>j) or (not (i>=j) and d);
  1710.     a := (i>j) or (not (i>=j) and not d);
  1711.     a := not (i>j) or ((i>=j) and not d);
  1712.     a := not (i>j) or (not (i>=j) and not d);
  1713.  
  1714.     a := (i>j) or (not ((i>=j) and d));
  1715.     a := not (i>j) or (not ((i>=j) and d));
  1716.     a := (i>j) or (not (not (i>=j) and d));
  1717.     a := (i>j) or (not ((i>=j) and not d));
  1718.     a := not (i>j) or (not (not (i>=j) and d));
  1719.     a := (i>j) or (not (not (i>=j) and not d));
  1720.     a := not (i>j) or (not ((i>=j) and not d));
  1721.     a := not (i>j) or (not (not (i>=j) and not d));
  1722.  
  1723.     a := not (((i>j) or (i>=j)) and d);
  1724.     a := not ((not (i>j) or (i>=j)) and d);
  1725.     a := not (((i>j) or not (i>=j)) and d);
  1726.     a := not (((i>j) or (i>=j)) and not d);
  1727.     a := not ((not (i>j) or not (i>=j)) and d);
  1728.     a := not (((i>j) or not (i>=j)) and not d);
  1729.     a := not ((not (i>j) or (i>=j)) and not d);
  1730.     a := not ((not (i>j) or not (i>=j)) and not d);
  1731.  
  1732.     a := not ((not ((i>j) or (i>=j))) and d);
  1733.     a := not ((not (not (i>j) or (i>=j))) and d);
  1734.     a := not ((not ((i>j) or not (i>=j))) and d);
  1735.     a := not ((not ((i>j) or (i>=j))) and not d);
  1736.     a := not ((not (not (i>j) or not (i>=j))) and d);
  1737.     a := not ((not ((i>j) or not (i>=j))) and not d);
  1738.     a := not ((not (not (i>j) or (i>=j))) and not d);
  1739.     a := not ((not (not (i>j) or not (i>=j))) and not d);
  1740.  
  1741.     a := not ((i>j) or ((i>=j) and d));
  1742.     a := not (not (i>j) or ((i>=j) and d));
  1743.     a := not ((i>j) or (not (i>=j) and d));
  1744.     a := not ((i>j) or ((i>=j) and not d));
  1745.     a := not (not (i>j) or (not (i>=j) and d));
  1746.     a := not ((i>j) or (not (i>=j) and not d));
  1747.     a := not (not (i>j) or ((i>=j) and not d));
  1748.     a := not (not (i>j) or (not (i>=j) and not d));
  1749.  
  1750.     a := not ((i>j) or (not ((i>=j) and d)));
  1751.     a := not (not (i>j) or (not ((i>=j) and d)));
  1752.     a := not ((i>j) or (not (not (i>=j) and d)));
  1753.     a := not ((i>j) or (not ((i>=j) and not d)));
  1754.     a := not (not (i>j) or (not (not (i>=j) and d)));
  1755.     a := not ((i>j) or (not (not (i>=j) and not d)));
  1756.     a := not (not (i>j) or (not ((i>=j) and not d)));
  1757.     a := not (not (i>j) or (not (not (i>=j) and not d)));
  1758.  
  1759. (*****  Same thing, only in the context of a while  *****)
  1760.  
  1761.  
  1762. (*****  All expressions with one variables  *****)
  1763.  
  1764.     while ((i>j)) do x:=123; end;
  1765.     while (not (i>j)) do x:=123; end;
  1766.     while (not not (i>j)) do x:=123; end;
  1767.     while (not not not (i>j)) do x:=123; end;
  1768.  
  1769. (*****  All expressions with two variables  *****)
  1770.  
  1771.     while ((i>j) or (i>=j)) do x:=123; end;
  1772.     while (not (i>j) or (i>=j)) do x:=123; end;
  1773.     while ((i>=j) or not (i>j)) do x:=123; end;
  1774.     while (not (i>j) or not (i>=j)) do x:=123; end;
  1775.  
  1776.     while (not ((i>j) or (i>=j))) do x:=123; end;
  1777.     while (not (not (i>j) or (i>=j))) do x:=123; end;
  1778.     while (not ((i>=j) or not (i>j))) do x:=123; end;
  1779.     while (not (not (i>j) or not (i>=j))) do x:=123; end;
  1780.  
  1781.     while ((i>j) and (i>=j)) do x:=123; end;
  1782.     while (not (i>j) and (i>=j)) do x:=123; end;
  1783.     while ((i>j) and not (i>=j)) do x:=123; end;
  1784.     while (not (i>j) and not (i>=j)) do x:=123; end;
  1785.  
  1786.     while (not ((i>j) and (i>=j))) do x:=123; end;
  1787.     while (not (not (i>j) and (i>=j))) do x:=123; end;
  1788.     while (not ((i>j) and not (i>=j))) do x:=123; end;
  1789.     while (not (not (i>j) and not (i>=j))) do x:=123; end;
  1790.  
  1791. (*****  All expressions with two variables (double negations)  *****)
  1792.  
  1793.     while (not not (i>j) or (i>=j)) do x:=123; end;
  1794.     while ((i>=j) or not not (i>j)) do x:=123; end;
  1795.     while (not not (i>j) or not not (i>=j)) do x:=123; end;
  1796.  
  1797.     while (not not ((i>j) or (i>=j))) do x:=123; end;
  1798.     while (not not (not not (i>j) or (i>=j))) do x:=123; end;
  1799.     while (not not ((i>=j) or not not (i>j))) do x:=123; end;
  1800.     while (not not (not not (i>j) or not not (i>=j))) do x:=123; end;
  1801.  
  1802.     while ((i>j) and (i>=j)) do x:=123; end;
  1803.     while (not not (i>j) and (i>=j)) do x:=123; end;
  1804.     while ((i>j) and not not (i>=j)) do x:=123; end;
  1805.     while (not not (i>j) and not not (i>=j)) do x:=123; end;
  1806.  
  1807.     while (not not ((i>j) and (i>=j))) do x:=123; end;
  1808.     while (not not (not not (i>j) and (i>=j))) do x:=123; end;
  1809.     while (not not ((i>j) and not not (i>=j))) do x:=123; end;
  1810.     while (not not (not not (i>j) and not not (i>=j))) do x:=123; end;
  1811.  
  1812. (*****  All expressions with: or or  *****)
  1813.  
  1814.     while (((i>j) or (i>=j)) or d) do x:=123; end;
  1815.     while ((not (i>j) or (i>=j)) or d) do x:=123; end;
  1816.     while (((i>j) or not (i>=j)) or d) do x:=123; end;
  1817.     while (((i>j) or (i>=j)) or not d) do x:=123; end;
  1818.     while ((not (i>j) or not (i>=j)) or d) do x:=123; end;
  1819.     while (((i>j) or not (i>=j)) or not d) do x:=123; end;
  1820.     while ((not (i>j) or (i>=j)) or not d) do x:=123; end;
  1821.     while ((not (i>j) or not (i>=j)) or not d) do x:=123; end;
  1822.  
  1823.     while ((not ((i>j) or (i>=j))) or d) do x:=123; end;
  1824.     while ((not (not (i>j) or (i>=j))) or d) do x:=123; end;
  1825.     while ((not ((i>j) or not (i>=j))) or d) do x:=123; end;
  1826.     while ((not ((i>j) or (i>=j))) or not d) do x:=123; end;
  1827.     while ((not (not (i>j) or not (i>=j))) or d) do x:=123; end;
  1828.     while ((not ((i>j) or not (i>=j))) or not d) do x:=123; end;
  1829.     while ((not (not (i>j) or (i>=j))) or not d) do x:=123; end;
  1830.     while ((not (not (i>j) or not (i>=j))) or not d) do x:=123; end;
  1831.  
  1832.     while ((i>j) or ((i>=j) or d)) do x:=123; end;
  1833.     while (not (i>j) or ((i>=j) or d)) do x:=123; end;
  1834.     while ((i>j) or (not (i>=j) or d)) do x:=123; end;
  1835.     while ((i>j) or ((i>=j) or not d)) do x:=123; end;
  1836.     while (not (i>j) or (not (i>=j) or d)) do x:=123; end;
  1837.     while ((i>j) or (not (i>=j) or not d)) do x:=123; end;
  1838.     while (not (i>j) or ((i>=j) or not d)) do x:=123; end;
  1839.     while (not (i>j) or (not (i>=j) or not d)) do x:=123; end;
  1840.  
  1841.     while ((i>j) or (not ((i>=j) or d))) do x:=123; end;
  1842.     while (not (i>j) or (not ((i>=j) or d))) do x:=123; end;
  1843.     while ((i>j) or (not (not (i>=j) or d))) do x:=123; end;
  1844.     while ((i>j) or (not ((i>=j) or not d))) do x:=123; end;
  1845.     while (not (i>j) or (not (not (i>=j) or d))) do x:=123; end;
  1846.     while ((i>j) or (not (not (i>=j) or not d))) do x:=123; end;
  1847.     while (not (i>j) or (not ((i>=j) or not d))) do x:=123; end;
  1848.     while (not (i>j) or (not (not (i>=j) or not d))) do x:=123; end;
  1849.  
  1850.     while (not (((i>j) or (i>=j)) or d)) do x:=123; end;
  1851.     while (not ((not (i>j) or (i>=j)) or d)) do x:=123; end;
  1852.     while (not (((i>j) or not (i>=j)) or d)) do x:=123; end;
  1853.     while (not (((i>j) or (i>=j)) or not d)) do x:=123; end;
  1854.     while (not ((not (i>j) or not (i>=j)) or d)) do x:=123; end;
  1855.     while (not (((i>j) or not (i>=j)) or not d)) do x:=123; end;
  1856.     while (not ((not (i>j) or (i>=j)) or not d)) do x:=123; end;
  1857.     while (not ((not (i>j) or not (i>=j)) or not d)) do x:=123; end;
  1858.  
  1859.     while (not ((not ((i>j) or (i>=j))) or d)) do x:=123; end;
  1860.     while (not ((not (not (i>j) or (i>=j))) or d)) do x:=123; end;
  1861.     while (not ((not ((i>j) or not (i>=j))) or d)) do x:=123; end;
  1862.     while (not ((not ((i>j) or (i>=j))) or not d)) do x:=123; end;
  1863.     while (not ((not (not (i>j) or not (i>=j))) or d)) do x:=123; end;
  1864.     while (not ((not ((i>j) or not (i>=j))) or not d)) do x:=123; end;
  1865.     while (not ((not (not (i>j) or (i>=j))) or not d)) do x:=123; end;
  1866.     while (not ((not (not (i>j) or not (i>=j))) or not d)) do x:=123; end;
  1867.  
  1868.     while (not ((i>j) or ((i>=j) or d))) do x:=123; end;
  1869.     while (not (not (i>j) or ((i>=j) or d))) do x:=123; end;
  1870.     while (not ((i>j) or (not (i>=j) or d))) do x:=123; end;
  1871.     while (not ((i>j) or ((i>=j) or not d))) do x:=123; end;
  1872.     while (not (not (i>j) or (not (i>=j) or d))) do x:=123; end;
  1873.     while (not ((i>j) or (not (i>=j) or not d))) do x:=123; end;
  1874.     while (not (not (i>j) or ((i>=j) or not d))) do x:=123; end;
  1875.     while (not (not (i>j) or (not (i>=j) or not d))) do x:=123; end;
  1876.  
  1877.     while (not ((i>j) or (not ((i>=j) or d)))) do x:=123; end;
  1878.     while (not (not (i>j) or (not ((i>=j) or d)))) do x:=123; end;
  1879.     while (not ((i>j) or (not (not (i>=j) or d)))) do x:=123; end;
  1880.     while (not ((i>j) or (not ((i>=j) or not d)))) do x:=123; end;
  1881.     while (not (not (i>j) or (not (not (i>=j) or d)))) do x:=123; end;
  1882.     while (not ((i>j) or (not (not (i>=j) or not d)))) do x:=123; end;
  1883.     while (not (not (i>j) or (not ((i>=j) or not d)))) do x:=123; end;
  1884.     while (not (not (i>j) or (not (not (i>=j) or not d)))) do x:=123; end;
  1885.  
  1886. (*****  All expressions with: and and  *****)
  1887.  
  1888.     while (((i>j) and (i>=j)) and d) do x:=123; end;
  1889.     while ((not (i>j) and (i>=j)) and d) do x:=123; end;
  1890.     while (((i>j) and not (i>=j)) and d) do x:=123; end;
  1891.     while (((i>j) and (i>=j)) and not d) do x:=123; end;
  1892.     while ((not (i>j) and not (i>=j)) and d) do x:=123; end;
  1893.     while (((i>j) and not (i>=j)) and not d) do x:=123; end;
  1894.     while ((not (i>j) and (i>=j)) and not d) do x:=123; end;
  1895.     while ((not (i>j) and not (i>=j)) and not d) do x:=123; end;
  1896.  
  1897.     while ((not ((i>j) and (i>=j))) and d) do x:=123; end;
  1898.     while ((not (not (i>j) and (i>=j))) and d) do x:=123; end;
  1899.     while ((not ((i>j) and not (i>=j))) and d) do x:=123; end;
  1900.     while ((not ((i>j) and (i>=j))) and not d) do x:=123; end;
  1901.     while ((not (not (i>j) and not (i>=j))) and d) do x:=123; end;
  1902.     while ((not ((i>j) and not (i>=j))) and not d) do x:=123; end;
  1903.     while ((not (not (i>j) and (i>=j))) and not d) do x:=123; end;
  1904.     while ((not (not (i>j) and not (i>=j))) and not d) do x:=123; end;
  1905.  
  1906.     while ((i>j) and ((i>=j) and d)) do x:=123; end;
  1907.     while (not (i>j) and ((i>=j) and d)) do x:=123; end;
  1908.     while ((i>j) and (not (i>=j) and d)) do x:=123; end;
  1909.     while ((i>j) and ((i>=j) and not d)) do x:=123; end;
  1910.     while (not (i>j) and (not (i>=j) and d)) do x:=123; end;
  1911.     while ((i>j) and (not (i>=j) and not d)) do x:=123; end;
  1912.     while (not (i>j) and ((i>=j) and not d)) do x:=123; end;
  1913.     while (not (i>j) and (not (i>=j) and not d)) do x:=123; end;
  1914.  
  1915.     while ((i>j) and (not ((i>=j) and d))) do x:=123; end;
  1916.     while (not (i>j) and (not ((i>=j) and d))) do x:=123; end;
  1917.     while ((i>j) and (not (not (i>=j) and d))) do x:=123; end;
  1918.     while ((i>j) and (not ((i>=j) and not d))) do x:=123; end;
  1919.     while (not (i>j) and (not (not (i>=j) and d))) do x:=123; end;
  1920.     while ((i>j) and (not (not (i>=j) and not d))) do x:=123; end;
  1921.     while (not (i>j) and (not ((i>=j) and not d))) do x:=123; end;
  1922.     while (not (i>j) and (not (not (i>=j) and not d))) do x:=123; end;
  1923.  
  1924.     while (not (((i>j) and (i>=j)) and d)) do x:=123; end;
  1925.     while (not ((not (i>j) and (i>=j)) and d)) do x:=123; end;
  1926.     while (not (((i>j) and not (i>=j)) and d)) do x:=123; end;
  1927.     while (not (((i>j) and (i>=j)) and not d)) do x:=123; end;
  1928.     while (not ((not (i>j) and not (i>=j)) and d)) do x:=123; end;
  1929.     while (not (((i>j) and not (i>=j)) and not d)) do x:=123; end;
  1930.     while (not ((not (i>j) and (i>=j)) and not d)) do x:=123; end;
  1931.     while (not ((not (i>j) and not (i>=j)) and not d)) do x:=123; end;
  1932.  
  1933.     while (not ((not ((i>j) and (i>=j))) and d)) do x:=123; end;
  1934.     while (not ((not (not (i>j) and (i>=j))) and d)) do x:=123; end;
  1935.     while (not ((not ((i>j) and not (i>=j))) and d)) do x:=123; end;
  1936.     while (not ((not ((i>j) and (i>=j))) and not d)) do x:=123; end;
  1937.     while (not ((not (not (i>j) and not (i>=j))) and d)) do x:=123; end;
  1938.     while (not ((not ((i>j) and not (i>=j))) and not d)) do x:=123; end;
  1939.     while (not ((not (not (i>j) and (i>=j))) and not d)) do x:=123; end;
  1940.     while (not ((not (not (i>j) and not (i>=j))) and not d)) do x:=123; end;
  1941.  
  1942.     while (not ((i>j) and ((i>=j) and d))) do x:=123; end;
  1943.     while (not (not (i>j) and ((i>=j) and d))) do x:=123; end;
  1944.     while (not ((i>j) and (not (i>=j) and d))) do x:=123; end;
  1945.     while (not ((i>j) and ((i>=j) and not d))) do x:=123; end;
  1946.     while (not (not (i>j) and (not (i>=j) and d))) do x:=123; end;
  1947.     while (not ((i>j) and (not (i>=j) and not d))) do x:=123; end;
  1948.     while (not (not (i>j) and ((i>=j) and not d))) do x:=123; end;
  1949.     while (not (not (i>j) and (not (i>=j) and not d))) do x:=123; end;
  1950.  
  1951.     while (not ((i>j) and (not ((i>=j) and d)))) do x:=123; end;
  1952.     while (not (not (i>j) and (not ((i>=j) and d)))) do x:=123; end;
  1953.     while (not ((i>j) and (not (not (i>=j) and d)))) do x:=123; end;
  1954.     while (not ((i>j) and (not ((i>=j) and not d)))) do x:=123; end;
  1955.     while (not (not (i>j) and (not (not (i>=j) and d)))) do x:=123; end;
  1956.     while (not ((i>j) and (not (not (i>=j) and not d)))) do x:=123; end;
  1957.     while (not (not (i>j) and (not ((i>=j) and not d)))) do x:=123; end;
  1958.     while (not (not (i>j) and (not (not (i>=j) and not d)))) do x:=123; end;
  1959.  
  1960. (*****  All expressions with: and or  *****)
  1961.  
  1962.     while (((i>j) and (i>=j)) or d) do x:=123; end;
  1963.     while ((not (i>j) and (i>=j)) or d) do x:=123; end;
  1964.     while (((i>j) and not (i>=j)) or d) do x:=123; end;
  1965.     while (((i>j) and (i>=j)) or not d) do x:=123; end;
  1966.     while ((not (i>j) and not (i>=j)) or d) do x:=123; end;
  1967.     while (((i>j) and not (i>=j)) or not d) do x:=123; end;
  1968.     while ((not (i>j) and (i>=j)) or not d) do x:=123; end;
  1969.     while ((not (i>j) and not (i>=j)) or not d) do x:=123; end;
  1970.  
  1971.     while ((not ((i>j) and (i>=j))) or d) do x:=123; end;
  1972.     while ((not (not (i>j) and (i>=j))) or d) do x:=123; end;
  1973.     while ((not ((i>j) and not (i>=j))) or d) do x:=123; end;
  1974.     while ((not ((i>j) and (i>=j))) or not d) do x:=123; end;
  1975.     while ((not (not (i>j) and not (i>=j))) or d) do x:=123; end;
  1976.     while ((not ((i>j) and not (i>=j))) or not d) do x:=123; end;
  1977.     while ((not (not (i>j) and (i>=j))) or not d) do x:=123; end;
  1978.     while ((not (not (i>j) and not (i>=j))) or not d) do x:=123; end;
  1979.  
  1980.     while ((i>j) and ((i>=j) or d)) do x:=123; end;
  1981.     while (not (i>j) and ((i>=j) or d)) do x:=123; end;
  1982.     while ((i>j) and (not (i>=j) or d)) do x:=123; end;
  1983.     while ((i>j) and ((i>=j) or not d)) do x:=123; end;
  1984.     while (not (i>j) and (not (i>=j) or d)) do x:=123; end;
  1985.     while ((i>j) and (not (i>=j) or not d)) do x:=123; end;
  1986.     while (not (i>j) and ((i>=j) or not d)) do x:=123; end;
  1987.     while (not (i>j) and (not (i>=j) or not d)) do x:=123; end;
  1988.  
  1989.     while ((i>j) and (not ((i>=j) or d))) do x:=123; end;
  1990.     while (not (i>j) and (not ((i>=j) or d))) do x:=123; end;
  1991.     while ((i>j) and (not (not (i>=j) or d))) do x:=123; end;
  1992.     while ((i>j) and (not ((i>=j) or not d))) do x:=123; end;
  1993.     while (not (i>j) and (not (not (i>=j) or d))) do x:=123; end;
  1994.     while ((i>j) and (not (not (i>=j) or not d))) do x:=123; end;
  1995.     while (not (i>j) and (not ((i>=j) or not d))) do x:=123; end;
  1996.     while (not (i>j) and (not (not (i>=j) or not d))) do x:=123; end;
  1997.  
  1998.     while (not (((i>j) and (i>=j)) or d)) do x:=123; end;
  1999.     while (not ((not (i>j) and (i>=j)) or d)) do x:=123; end;
  2000.     while (not (((i>j) and not (i>=j)) or d)) do x:=123; end;
  2001.     while (not (((i>j) and (i>=j)) or not d)) do x:=123; end;
  2002.     while (not ((not (i>j) and not (i>=j)) or d)) do x:=123; end;
  2003.     while (not (((i>j) and not (i>=j)) or not d)) do x:=123; end;
  2004.     while (not ((not (i>j) and (i>=j)) or not d)) do x:=123; end;
  2005.     while (not ((not (i>j) and not (i>=j)) or not d)) do x:=123; end;
  2006.  
  2007.     while (not ((not ((i>j) and (i>=j))) or d)) do x:=123; end;
  2008.     while (not ((not (not (i>j) and (i>=j))) or d)) do x:=123; end;
  2009.     while (not ((not ((i>j) and not (i>=j))) or d)) do x:=123; end;
  2010.     while (not ((not ((i>j) and (i>=j))) or not d)) do x:=123; end;
  2011.     while (not ((not (not (i>j) and not (i>=j))) or d)) do x:=123; end;
  2012.     while (not ((not ((i>j) and not (i>=j))) or not d)) do x:=123; end;
  2013.     while (not ((not (not (i>j) and (i>=j))) or not d)) do x:=123; end;
  2014.     while (not ((not (not (i>j) and not (i>=j))) or not d)) do x:=123; end;
  2015.  
  2016.     while (not ((i>j) and ((i>=j) or d))) do x:=123; end;
  2017.     while (not (not (i>j) and ((i>=j) or d))) do x:=123; end;
  2018.     while (not ((i>j) and (not (i>=j) or d))) do x:=123; end;
  2019.     while (not ((i>j) and ((i>=j) or not d))) do x:=123; end;
  2020.     while (not (not (i>j) and (not (i>=j) or d))) do x:=123; end;
  2021.     while (not ((i>j) and (not (i>=j) or not d))) do x:=123; end;
  2022.     while (not (not (i>j) and ((i>=j) or not d))) do x:=123; end;
  2023.     while (not (not (i>j) and (not (i>=j) or not d))) do x:=123; end;
  2024.  
  2025.     while (not ((i>j) and (not ((i>=j) or d)))) do x:=123; end;
  2026.     while (not (not (i>j) and (not ((i>=j) or d)))) do x:=123; end;
  2027.     while (not ((i>j) and (not (not (i>=j) or d)))) do x:=123; end;
  2028.     while (not ((i>j) and (not ((i>=j) or not d)))) do x:=123; end;
  2029.     while (not (not (i>j) and (not (not (i>=j) or d)))) do x:=123; end;
  2030.     while (not ((i>j) and (not (not (i>=j) or not d)))) do x:=123; end;
  2031.     while (not (not (i>j) and (not ((i>=j) or not d)))) do x:=123; end;
  2032.     while (not (not (i>j) and (not (not (i>=j) or not d)))) do x:=123; end;
  2033.  
  2034. (*****  All expressions with: or and  *****)
  2035.  
  2036.     while (((i>j) or (i>=j)) and d) do x:=123; end;
  2037.     while ((not (i>j) or (i>=j)) and d) do x:=123; end;
  2038.     while (((i>j) or not (i>=j)) and d) do x:=123; end;
  2039.     while (((i>j) or (i>=j)) and not d) do x:=123; end;
  2040.     while ((not (i>j) or not (i>=j)) and d) do x:=123; end;
  2041.     while (((i>j) or not (i>=j)) and not d) do x:=123; end;
  2042.     while ((not (i>j) or (i>=j)) and not d) do x:=123; end;
  2043.     while ((not (i>j) or not (i>=j)) and not d) do x:=123; end;
  2044.  
  2045.     while ((not ((i>j) or (i>=j))) and d) do x:=123; end;
  2046.     while ((not (not (i>j) or (i>=j))) and d) do x:=123; end;
  2047.     while ((not ((i>j) or not (i>=j))) and d) do x:=123; end;
  2048.     while ((not ((i>j) or (i>=j))) and not d) do x:=123; end;
  2049.     while ((not (not (i>j) or not (i>=j))) and d) do x:=123; end;
  2050.     while ((not ((i>j) or not (i>=j))) and not d) do x:=123; end;
  2051.     while ((not (not (i>j) or (i>=j))) and not d) do x:=123; end;
  2052.     while ((not (not (i>j) or not (i>=j))) and not d) do x:=123; end;
  2053.  
  2054.     while ((i>j) or ((i>=j) and d)) do x:=123; end;
  2055.     while (not (i>j) or ((i>=j) and d)) do x:=123; end;
  2056.     while ((i>j) or (not (i>=j) and d)) do x:=123; end;
  2057.     while ((i>j) or ((i>=j) and not d)) do x:=123; end;
  2058.     while (not (i>j) or (not (i>=j) and d)) do x:=123; end;
  2059.     while ((i>j) or (not (i>=j) and not d)) do x:=123; end;
  2060.     while (not (i>j) or ((i>=j) and not d)) do x:=123; end;
  2061.     while (not (i>j) or (not (i>=j) and not d)) do x:=123; end;
  2062.  
  2063.     while ((i>j) or (not ((i>=j) and d))) do x:=123; end;
  2064.     while (not (i>j) or (not ((i>=j) and d))) do x:=123; end;
  2065.     while ((i>j) or (not (not (i>=j) and d))) do x:=123; end;
  2066.     while ((i>j) or (not ((i>=j) and not d))) do x:=123; end;
  2067.     while (not (i>j) or (not (not (i>=j) and d))) do x:=123; end;
  2068.     while ((i>j) or (not (not (i>=j) and not d))) do x:=123; end;
  2069.     while (not (i>j) or (not ((i>=j) and not d))) do x:=123; end;
  2070.     while (not (i>j) or (not (not (i>=j) and not d))) do x:=123; end;
  2071.  
  2072.     while (not (((i>j) or (i>=j)) and d)) do x:=123; end;
  2073.     while (not ((not (i>j) or (i>=j)) and d)) do x:=123; end;
  2074.     while (not (((i>j) or not (i>=j)) and d)) do x:=123; end;
  2075.     while (not (((i>j) or (i>=j)) and not d)) do x:=123; end;
  2076.     while (not ((not (i>j) or not (i>=j)) and d)) do x:=123; end;
  2077.     while (not (((i>j) or not (i>=j)) and not d)) do x:=123; end;
  2078.     while (not ((not (i>j) or (i>=j)) and not d)) do x:=123; end;
  2079.     while (not ((not (i>j) or not (i>=j)) and not d)) do x:=123; end;
  2080.  
  2081.     while (not ((not ((i>j) or (i>=j))) and d)) do x:=123; end;
  2082.     while (not ((not (not (i>j) or (i>=j))) and d)) do x:=123; end;
  2083.     while (not ((not ((i>j) or not (i>=j))) and d)) do x:=123; end;
  2084.     while (not ((not ((i>j) or (i>=j))) and not d)) do x:=123; end;
  2085.     while (not ((not (not (i>j) or not (i>=j))) and d)) do x:=123; end;
  2086.     while (not ((not ((i>j) or not (i>=j))) and not d)) do x:=123; end;
  2087.     while (not ((not (not (i>j) or (i>=j))) and not d)) do x:=123; end;
  2088.     while (not ((not (not (i>j) or not (i>=j))) and not d)) do x:=123; end;
  2089.  
  2090.     while (not ((i>j) or ((i>=j) and d))) do x:=123; end;
  2091.     while (not (not (i>j) or ((i>=j) and d))) do x:=123; end;
  2092.     while (not ((i>j) or (not (i>=j) and d))) do x:=123; end;
  2093.     while (not ((i>j) or ((i>=j) and not d))) do x:=123; end;
  2094.     while (not (not (i>j) or (not (i>=j) and d))) do x:=123; end;
  2095.     while (not ((i>j) or (not (i>=j) and not d))) do x:=123; end;
  2096.     while (not (not (i>j) or ((i>=j) and not d))) do x:=123; end;
  2097.     while (not (not (i>j) or (not (i>=j) and not d))) do x:=123; end;
  2098.  
  2099.     while (not ((i>j) or (not ((i>=j) and d)))) do x:=123; end;
  2100.     while (not (not (i>j) or (not ((i>=j) and d)))) do x:=123; end;
  2101.     while (not ((i>j) or (not (not (i>=j) and d)))) do x:=123; end;
  2102.     while (not ((i>j) or (not ((i>=j) and not d)))) do x:=123; end;
  2103.     while (not (not (i>j) or (not (not (i>=j) and d)))) do x:=123; end;
  2104.     while (not ((i>j) or (not (not (i>=j) and not d)))) do x:=123; end;
  2105.     while (not (not (i>j) or (not ((i>=j) and not d)))) do x:=123; end;
  2106.     while (not (not (i>j) or (not (not (i>=j) and not d)))) do x:=123; end;
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113. (*****  Same thing as above, except with ==, <> relationals  *****)
  2114.  
  2115.  
  2116.  
  2117.  
  2118. (*****  All expressions with one variables  *****)
  2119.  
  2120.     a := (i=j);
  2121.     a := not (i=j);
  2122.     a := not not (i=j);
  2123.     a := not not not (i=j);
  2124.  
  2125. (*****  All expressions with two variables  *****)
  2126.  
  2127.     a := (i=j) or (i<>j);
  2128.     a := not (i=j) or (i<>j);
  2129.     a := (i<>j) or not (i=j);
  2130.     a := not (i=j) or not (i<>j);
  2131.  
  2132.     a := not ((i=j) or (i<>j));
  2133.     a := not (not (i=j) or (i<>j));
  2134.     a := not ((i<>j) or not (i=j));
  2135.     a := not (not (i=j) or not (i<>j));
  2136.  
  2137.     a := (i=j) and (i<>j);
  2138.     a := not (i=j) and (i<>j);
  2139.     a := (i=j) and not (i<>j);
  2140.     a := not (i=j) and not (i<>j);
  2141.  
  2142.     a := not ((i=j) and (i<>j));
  2143.     a := not (not (i=j) and (i<>j));
  2144.     a := not ((i=j) and not (i<>j));
  2145.     a := not (not (i=j) and not (i<>j));
  2146.  
  2147. (*****  All expressions with two variables (double negations)  *****)
  2148.  
  2149.     a := not not (i=j) or (i<>j);
  2150.     a := (i<>j) or not not (i=j);
  2151.     a := not not (i=j) or not not (i<>j);
  2152.  
  2153.     a := not not ((i=j) or (i<>j));
  2154.     a := not not (not not (i=j) or (i<>j));
  2155.     a := not not ((i<>j) or not not (i=j));
  2156.     a := not not (not not (i=j) or not not (i<>j));
  2157.  
  2158.     a := (i=j) and (i<>j);
  2159.     a := not not (i=j) and (i<>j);
  2160.     a := (i=j) and not not (i<>j);
  2161.     a := not not (i=j) and not not (i<>j);
  2162.  
  2163.     a := not not ((i=j) and (i<>j));
  2164.     a := not not (not not (i=j) and (i<>j));
  2165.     a := not not ((i=j) and not not (i<>j));
  2166.     a := not not (not not (i=j) and not not (i<>j));
  2167.  
  2168. (*****  All expressions with: or or  *****)
  2169.  
  2170.     a := ((i=j) or (i<>j)) or d;
  2171.     a := (not (i=j) or (i<>j)) or d;
  2172.     a := ((i=j) or not (i<>j)) or d;
  2173.     a := ((i=j) or (i<>j)) or not d;
  2174.     a := (not (i=j) or not (i<>j)) or d;
  2175.     a := ((i=j) or not (i<>j)) or not d;
  2176.     a := (not (i=j) or (i<>j)) or not d;
  2177.     a := (not (i=j) or not (i<>j)) or not d;
  2178.  
  2179.     a := (not ((i=j) or (i<>j))) or d;
  2180.     a := (not (not (i=j) or (i<>j))) or d;
  2181.     a := (not ((i=j) or not (i<>j))) or d;
  2182.     a := (not ((i=j) or (i<>j))) or not d;
  2183.     a := (not (not (i=j) or not (i<>j))) or d;
  2184.     a := (not ((i=j) or not (i<>j))) or not d;
  2185.     a := (not (not (i=j) or (i<>j))) or not d;
  2186.     a := (not (not (i=j) or not (i<>j))) or not d;
  2187.  
  2188.     a := (i=j) or ((i<>j) or d);
  2189.     a := not (i=j) or ((i<>j) or d);
  2190.     a := (i=j) or (not (i<>j) or d);
  2191.     a := (i=j) or ((i<>j) or not d);
  2192.     a := not (i=j) or (not (i<>j) or d);
  2193.     a := (i=j) or (not (i<>j) or not d);
  2194.     a := not (i=j) or ((i<>j) or not d);
  2195.     a := not (i=j) or (not (i<>j) or not d);
  2196.  
  2197.     a := (i=j) or (not ((i<>j) or d));
  2198.     a := not (i=j) or (not ((i<>j) or d));
  2199.     a := (i=j) or (not (not (i<>j) or d));
  2200.     a := (i=j) or (not ((i<>j) or not d));
  2201.     a := not (i=j) or (not (not (i<>j) or d));
  2202.     a := (i=j) or (not (not (i<>j) or not d));
  2203.     a := not (i=j) or (not ((i<>j) or not d));
  2204.     a := not (i=j) or (not (not (i<>j) or not d));
  2205.  
  2206.     a := not (((i=j) or (i<>j)) or d);
  2207.     a := not ((not (i=j) or (i<>j)) or d);
  2208.     a := not (((i=j) or not (i<>j)) or d);
  2209.     a := not (((i=j) or (i<>j)) or not d);
  2210.     a := not ((not (i=j) or not (i<>j)) or d);
  2211.     a := not (((i=j) or not (i<>j)) or not d);
  2212.     a := not ((not (i=j) or (i<>j)) or not d);
  2213.     a := not ((not (i=j) or not (i<>j)) or not d);
  2214.  
  2215.     a := not ((not ((i=j) or (i<>j))) or d);
  2216.     a := not ((not (not (i=j) or (i<>j))) or d);
  2217.     a := not ((not ((i=j) or not (i<>j))) or d);
  2218.     a := not ((not ((i=j) or (i<>j))) or not d);
  2219.     a := not ((not (not (i=j) or not (i<>j))) or d);
  2220.     a := not ((not ((i=j) or not (i<>j))) or not d);
  2221.     a := not ((not (not (i=j) or (i<>j))) or not d);
  2222.     a := not ((not (not (i=j) or not (i<>j))) or not d);
  2223.  
  2224.     a := not ((i=j) or ((i<>j) or d));
  2225.     a := not (not (i=j) or ((i<>j) or d));
  2226.     a := not ((i=j) or (not (i<>j) or d));
  2227.     a := not ((i=j) or ((i<>j) or not d));
  2228.     a := not (not (i=j) or (not (i<>j) or d));
  2229.     a := not ((i=j) or (not (i<>j) or not d));
  2230.     a := not (not (i=j) or ((i<>j) or not d));
  2231.     a := not (not (i=j) or (not (i<>j) or not d));
  2232.  
  2233.     a := not ((i=j) or (not ((i<>j) or d)));
  2234.     a := not (not (i=j) or (not ((i<>j) or d)));
  2235.     a := not ((i=j) or (not (not (i<>j) or d)));
  2236.     a := not ((i=j) or (not ((i<>j) or not d)));
  2237.     a := not (not (i=j) or (not (not (i<>j) or d)));
  2238.     a := not ((i=j) or (not (not (i<>j) or not d)));
  2239.     a := not (not (i=j) or (not ((i<>j) or not d)));
  2240.     a := not (not (i=j) or (not (not (i<>j) or not d)));
  2241.  
  2242. (*****  All expressions with: and and  *****)
  2243.  
  2244.     a := ((i=j) and (i<>j)) and d;
  2245.     a := (not (i=j) and (i<>j)) and d;
  2246.     a := ((i=j) and not (i<>j)) and d;
  2247.     a := ((i=j) and (i<>j)) and not d;
  2248.     a := (not (i=j) and not (i<>j)) and d;
  2249.     a := ((i=j) and not (i<>j)) and not d;
  2250.     a := (not (i=j) and (i<>j)) and not d;
  2251.     a := (not (i=j) and not (i<>j)) and not d;
  2252.  
  2253.     a := (not ((i=j) and (i<>j))) and d;
  2254.     a := (not (not (i=j) and (i<>j))) and d;
  2255.     a := (not ((i=j) and not (i<>j))) and d;
  2256.     a := (not ((i=j) and (i<>j))) and not d;
  2257.     a := (not (not (i=j) and not (i<>j))) and d;
  2258.     a := (not ((i=j) and not (i<>j))) and not d;
  2259.     a := (not (not (i=j) and (i<>j))) and not d;
  2260.     a := (not (not (i=j) and not (i<>j))) and not d;
  2261.  
  2262.     a := (i=j) and ((i<>j) and d);
  2263.     a := not (i=j) and ((i<>j) and d);
  2264.     a := (i=j) and (not (i<>j) and d);
  2265.     a := (i=j) and ((i<>j) and not d);
  2266.     a := not (i=j) and (not (i<>j) and d);
  2267.     a := (i=j) and (not (i<>j) and not d);
  2268.     a := not (i=j) and ((i<>j) and not d);
  2269.     a := not (i=j) and (not (i<>j) and not d);
  2270.  
  2271.     a := (i=j) and (not ((i<>j) and d));
  2272.     a := not (i=j) and (not ((i<>j) and d));
  2273.     a := (i=j) and (not (not (i<>j) and d));
  2274.     a := (i=j) and (not ((i<>j) and not d));
  2275.     a := not (i=j) and (not (not (i<>j) and d));
  2276.     a := (i=j) and (not (not (i<>j) and not d));
  2277.     a := not (i=j) and (not ((i<>j) and not d));
  2278.     a := not (i=j) and (not (not (i<>j) and not d));
  2279.  
  2280.     a := not (((i=j) and (i<>j)) and d);
  2281.     a := not ((not (i=j) and (i<>j)) and d);
  2282.     a := not (((i=j) and not (i<>j)) and d);
  2283.     a := not (((i=j) and (i<>j)) and not d);
  2284.     a := not ((not (i=j) and not (i<>j)) and d);
  2285.     a := not (((i=j) and not (i<>j)) and not d);
  2286.     a := not ((not (i=j) and (i<>j)) and not d);
  2287.     a := not ((not (i=j) and not (i<>j)) and not d);
  2288.  
  2289.     a := not ((not ((i=j) and (i<>j))) and d);
  2290.     a := not ((not (not (i=j) and (i<>j))) and d);
  2291.     a := not ((not ((i=j) and not (i<>j))) and d);
  2292.     a := not ((not ((i=j) and (i<>j))) and not d);
  2293.     a := not ((not (not (i=j) and not (i<>j))) and d);
  2294.     a := not ((not ((i=j) and not (i<>j))) and not d);
  2295.     a := not ((not (not (i=j) and (i<>j))) and not d);
  2296.     a := not ((not (not (i=j) and not (i<>j))) and not d);
  2297.  
  2298.     a := not ((i=j) and ((i<>j) and d));
  2299.     a := not (not (i=j) and ((i<>j) and d));
  2300.     a := not ((i=j) and (not (i<>j) and d));
  2301.     a := not ((i=j) and ((i<>j) and not d));
  2302.     a := not (not (i=j) and (not (i<>j) and d));
  2303.     a := not ((i=j) and (not (i<>j) and not d));
  2304.     a := not (not (i=j) and ((i<>j) and not d));
  2305.     a := not (not (i=j) and (not (i<>j) and not d));
  2306.  
  2307.     a := not ((i=j) and (not ((i<>j) and d)));
  2308.     a := not (not (i=j) and (not ((i<>j) and d)));
  2309.     a := not ((i=j) and (not (not (i<>j) and d)));
  2310.     a := not ((i=j) and (not ((i<>j) and not d)));
  2311.     a := not (not (i=j) and (not (not (i<>j) and d)));
  2312.     a := not ((i=j) and (not (not (i<>j) and not d)));
  2313.     a := not (not (i=j) and (not ((i<>j) and not d)));
  2314.     a := not (not (i=j) and (not (not (i<>j) and not d)));
  2315.  
  2316. (*****  All expressions with: and or  *****)
  2317.  
  2318.     a := ((i=j) and (i<>j)) or d;
  2319.     a := (not (i=j) and (i<>j)) or d;
  2320.     a := ((i=j) and not (i<>j)) or d;
  2321.     a := ((i=j) and (i<>j)) or not d;
  2322.     a := (not (i=j) and not (i<>j)) or d;
  2323.     a := ((i=j) and not (i<>j)) or not d;
  2324.     a := (not (i=j) and (i<>j)) or not d;
  2325.     a := (not (i=j) and not (i<>j)) or not d;
  2326.  
  2327.     a := (not ((i=j) and (i<>j))) or d;
  2328.     a := (not (not (i=j) and (i<>j))) or d;
  2329.     a := (not ((i=j) and not (i<>j))) or d;
  2330.     a := (not ((i=j) and (i<>j))) or not d;
  2331.     a := (not (not (i=j) and not (i<>j))) or d;
  2332.     a := (not ((i=j) and not (i<>j))) or not d;
  2333.     a := (not (not (i=j) and (i<>j))) or not d;
  2334.     a := (not (not (i=j) and not (i<>j))) or not d;
  2335.  
  2336.     a := (i=j) and ((i<>j) or d);
  2337.     a := not (i=j) and ((i<>j) or d);
  2338.     a := (i=j) and (not (i<>j) or d);
  2339.     a := (i=j) and ((i<>j) or not d);
  2340.     a := not (i=j) and (not (i<>j) or d);
  2341.     a := (i=j) and (not (i<>j) or not d);
  2342.     a := not (i=j) and ((i<>j) or not d);
  2343.     a := not (i=j) and (not (i<>j) or not d);
  2344.  
  2345.     a := (i=j) and (not ((i<>j) or d));
  2346.     a := not (i=j) and (not ((i<>j) or d));
  2347.     a := (i=j) and (not (not (i<>j) or d));
  2348.     a := (i=j) and (not ((i<>j) or not d));
  2349.     a := not (i=j) and (not (not (i<>j) or d));
  2350.     a := (i=j) and (not (not (i<>j) or not d));
  2351.     a := not (i=j) and (not ((i<>j) or not d));
  2352.     a := not (i=j) and (not (not (i<>j) or not d));
  2353.  
  2354.     a := not (((i=j) and (i<>j)) or d);
  2355.     a := not ((not (i=j) and (i<>j)) or d);
  2356.     a := not (((i=j) and not (i<>j)) or d);
  2357.     a := not (((i=j) and (i<>j)) or not d);
  2358.     a := not ((not (i=j) and not (i<>j)) or d);
  2359.     a := not (((i=j) and not (i<>j)) or not d);
  2360.     a := not ((not (i=j) and (i<>j)) or not d);
  2361.     a := not ((not (i=j) and not (i<>j)) or not d);
  2362.  
  2363.     a := not ((not ((i=j) and (i<>j))) or d);
  2364.     a := not ((not (not (i=j) and (i<>j))) or d);
  2365.     a := not ((not ((i=j) and not (i<>j))) or d);
  2366.     a := not ((not ((i=j) and (i<>j))) or not d);
  2367.     a := not ((not (not (i=j) and not (i<>j))) or d);
  2368.     a := not ((not ((i=j) and not (i<>j))) or not d);
  2369.     a := not ((not (not (i=j) and (i<>j))) or not d);
  2370.     a := not ((not (not (i=j) and not (i<>j))) or not d);
  2371.  
  2372.     a := not ((i=j) and ((i<>j) or d));
  2373.     a := not (not (i=j) and ((i<>j) or d));
  2374.     a := not ((i=j) and (not (i<>j) or d));
  2375.     a := not ((i=j) and ((i<>j) or not d));
  2376.     a := not (not (i=j) and (not (i<>j) or d));
  2377.     a := not ((i=j) and (not (i<>j) or not d));
  2378.     a := not (not (i=j) and ((i<>j) or not d));
  2379.     a := not (not (i=j) and (not (i<>j) or not d));
  2380.  
  2381.     a := not ((i=j) and (not ((i<>j) or d)));
  2382.     a := not (not (i=j) and (not ((i<>j) or d)));
  2383.     a := not ((i=j) and (not (not (i<>j) or d)));
  2384.     a := not ((i=j) and (not ((i<>j) or not d)));
  2385.     a := not (not (i=j) and (not (not (i<>j) or d)));
  2386.     a := not ((i=j) and (not (not (i<>j) or not d)));
  2387.     a := not (not (i=j) and (not ((i<>j) or not d)));
  2388.     a := not (not (i=j) and (not (not (i<>j) or not d)));
  2389.  
  2390. (*****  All expressions with: or and  *****)
  2391.  
  2392.     a := ((i=j) or (i<>j)) and d;
  2393.     a := (not (i=j) or (i<>j)) and d;
  2394.     a := ((i=j) or not (i<>j)) and d;
  2395.     a := ((i=j) or (i<>j)) and not d;
  2396.     a := (not (i=j) or not (i<>j)) and d;
  2397.     a := ((i=j) or not (i<>j)) and not d;
  2398.     a := (not (i=j) or (i<>j)) and not d;
  2399.     a := (not (i=j) or not (i<>j)) and not d;
  2400.  
  2401.     a := (not ((i=j) or (i<>j))) and d;
  2402.     a := (not (not (i=j) or (i<>j))) and d;
  2403.     a := (not ((i=j) or not (i<>j))) and d;
  2404.     a := (not ((i=j) or (i<>j))) and not d;
  2405.     a := (not (not (i=j) or not (i<>j))) and d;
  2406.     a := (not ((i=j) or not (i<>j))) and not d;
  2407.     a := (not (not (i=j) or (i<>j))) and not d;
  2408.     a := (not (not (i=j) or not (i<>j))) and not d;
  2409.  
  2410.     a := (i=j) or ((i<>j) and d);
  2411.     a := not (i=j) or ((i<>j) and d);
  2412.     a := (i=j) or (not (i<>j) and d);
  2413.     a := (i=j) or ((i<>j) and not d);
  2414.     a := not (i=j) or (not (i<>j) and d);
  2415.     a := (i=j) or (not (i<>j) and not d);
  2416.     a := not (i=j) or ((i<>j) and not d);
  2417.     a := not (i=j) or (not (i<>j) and not d);
  2418.  
  2419.     a := (i=j) or (not ((i<>j) and d));
  2420.     a := not (i=j) or (not ((i<>j) and d));
  2421.     a := (i=j) or (not (not (i<>j) and d));
  2422.     a := (i=j) or (not ((i<>j) and not d));
  2423.     a := not (i=j) or (not (not (i<>j) and d));
  2424.     a := (i=j) or (not (not (i<>j) and not d));
  2425.     a := not (i=j) or (not ((i<>j) and not d));
  2426.     a := not (i=j) or (not (not (i<>j) and not d));
  2427.  
  2428.     a := not (((i=j) or (i<>j)) and d);
  2429.     a := not ((not (i=j) or (i<>j)) and d);
  2430.     a := not (((i=j) or not (i<>j)) and d);
  2431.     a := not (((i=j) or (i<>j)) and not d);
  2432.     a := not ((not (i=j) or not (i<>j)) and d);
  2433.     a := not (((i=j) or not (i<>j)) and not d);
  2434.     a := not ((not (i=j) or (i<>j)) and not d);
  2435.     a := not ((not (i=j) or not (i<>j)) and not d);
  2436.  
  2437.     a := not ((not ((i=j) or (i<>j))) and d);
  2438.     a := not ((not (not (i=j) or (i<>j))) and d);
  2439.     a := not ((not ((i=j) or not (i<>j))) and d);
  2440.     a := not ((not ((i=j) or (i<>j))) and not d);
  2441.     a := not ((not (not (i=j) or not (i<>j))) and d);
  2442.     a := not ((not ((i=j) or not (i<>j))) and not d);
  2443.     a := not ((not (not (i=j) or (i<>j))) and not d);
  2444.     a := not ((not (not (i=j) or not (i<>j))) and not d);
  2445.  
  2446.     a := not ((i=j) or ((i<>j) and d));
  2447.     a := not (not (i=j) or ((i<>j) and d));
  2448.     a := not ((i=j) or (not (i<>j) and d));
  2449.     a := not ((i=j) or ((i<>j) and not d));
  2450.     a := not (not (i=j) or (not (i<>j) and d));
  2451.     a := not ((i=j) or (not (i<>j) and not d));
  2452.     a := not (not (i=j) or ((i<>j) and not d));
  2453.     a := not (not (i=j) or (not (i<>j) and not d));
  2454.  
  2455.     a := not ((i=j) or (not ((i<>j) and d)));
  2456.     a := not (not (i=j) or (not ((i<>j) and d)));
  2457.     a := not ((i=j) or (not (not (i<>j) and d)));
  2458.     a := not ((i=j) or (not ((i<>j) and not d)));
  2459.     a := not (not (i=j) or (not (not (i<>j) and d)));
  2460.     a := not ((i=j) or (not (not (i<>j) and not d)));
  2461.     a := not (not (i=j) or (not ((i<>j) and not d)));
  2462.     a := not (not (i=j) or (not (not (i<>j) and not d)));
  2463.  
  2464. (*****  Same thing, only in the context of a while  *****)
  2465.  
  2466.  
  2467. (*****  All expressions with one variables  *****)
  2468.  
  2469.     while ((i=j)) do x:=123; end;
  2470.     while (not (i=j)) do x:=123; end;
  2471.     while (not not (i=j)) do x:=123; end;
  2472.     while (not not not (i=j)) do x:=123; end;
  2473.  
  2474. (*****  All expressions with two variables  *****)
  2475.  
  2476.     while ((i=j) or (i<>j)) do x:=123; end;
  2477.     while (not (i=j) or (i<>j)) do x:=123; end;
  2478.     while ((i<>j) or not (i=j)) do x:=123; end;
  2479.     while (not (i=j) or not (i<>j)) do x:=123; end;
  2480.  
  2481.     while (not ((i=j) or (i<>j))) do x:=123; end;
  2482.     while (not (not (i=j) or (i<>j))) do x:=123; end;
  2483.     while (not ((i<>j) or not (i=j))) do x:=123; end;
  2484.     while (not (not (i=j) or not (i<>j))) do x:=123; end;
  2485.  
  2486.     while ((i=j) and (i<>j)) do x:=123; end;
  2487.     while (not (i=j) and (i<>j)) do x:=123; end;
  2488.     while ((i=j) and not (i<>j)) do x:=123; end;
  2489.     while (not (i=j) and not (i<>j)) do x:=123; end;
  2490.  
  2491.     while (not ((i=j) and (i<>j))) do x:=123; end;
  2492.     while (not (not (i=j) and (i<>j))) do x:=123; end;
  2493.     while (not ((i=j) and not (i<>j))) do x:=123; end;
  2494.     while (not (not (i=j) and not (i<>j))) do x:=123; end;
  2495.  
  2496. (*****  All expressions with two variables (double negations)  *****)
  2497.  
  2498.     while (not not (i=j) or (i<>j)) do x:=123; end;
  2499.     while ((i<>j) or not not (i=j)) do x:=123; end;
  2500.     while (not not (i=j) or not not (i<>j)) do x:=123; end;
  2501.  
  2502.     while (not not ((i=j) or (i<>j))) do x:=123; end;
  2503.     while (not not (not not (i=j) or (i<>j))) do x:=123; end;
  2504.     while (not not ((i<>j) or not not (i=j))) do x:=123; end;
  2505.     while (not not (not not (i=j) or not not (i<>j))) do x:=123; end;
  2506.  
  2507.     while ((i=j) and (i<>j)) do x:=123; end;
  2508.     while (not not (i=j) and (i<>j)) do x:=123; end;
  2509.     while ((i=j) and not not (i<>j)) do x:=123; end;
  2510.     while (not not (i=j) and not not (i<>j)) do x:=123; end;
  2511.  
  2512.     while (not not ((i=j) and (i<>j))) do x:=123; end;
  2513.     while (not not (not not (i=j) and (i<>j))) do x:=123; end;
  2514.     while (not not ((i=j) and not not (i<>j))) do x:=123; end;
  2515.     while (not not (not not (i=j) and not not (i<>j))) do x:=123; end;
  2516.  
  2517. (*****  All expressions with: or or  *****)
  2518.  
  2519.     while (((i=j) or (i<>j)) or d) do x:=123; end;
  2520.     while ((not (i=j) or (i<>j)) or d) do x:=123; end;
  2521.     while (((i=j) or not (i<>j)) or d) do x:=123; end;
  2522.     while (((i=j) or (i<>j)) or not d) do x:=123; end;
  2523.     while ((not (i=j) or not (i<>j)) or d) do x:=123; end;
  2524.     while (((i=j) or not (i<>j)) or not d) do x:=123; end;
  2525.     while ((not (i=j) or (i<>j)) or not d) do x:=123; end;
  2526.     while ((not (i=j) or not (i<>j)) or not d) do x:=123; end;
  2527.  
  2528.     while ((not ((i=j) or (i<>j))) or d) do x:=123; end;
  2529.     while ((not (not (i=j) or (i<>j))) or d) do x:=123; end;
  2530.     while ((not ((i=j) or not (i<>j))) or d) do x:=123; end;
  2531.     while ((not ((i=j) or (i<>j))) or not d) do x:=123; end;
  2532.     while ((not (not (i=j) or not (i<>j))) or d) do x:=123; end;
  2533.     while ((not ((i=j) or not (i<>j))) or not d) do x:=123; end;
  2534.     while ((not (not (i=j) or (i<>j))) or not d) do x:=123; end;
  2535.     while ((not (not (i=j) or not (i<>j))) or not d) do x:=123; end;
  2536.  
  2537.     while ((i=j) or ((i<>j) or d)) do x:=123; end;
  2538.     while (not (i=j) or ((i<>j) or d)) do x:=123; end;
  2539.     while ((i=j) or (not (i<>j) or d)) do x:=123; end;
  2540.     while ((i=j) or ((i<>j) or not d)) do x:=123; end;
  2541.     while (not (i=j) or (not (i<>j) or d)) do x:=123; end;
  2542.     while ((i=j) or (not (i<>j) or not d)) do x:=123; end;
  2543.     while (not (i=j) or ((i<>j) or not d)) do x:=123; end;
  2544.     while (not (i=j) or (not (i<>j) or not d)) do x:=123; end;
  2545.  
  2546.     while ((i=j) or (not ((i<>j) or d))) do x:=123; end;
  2547.     while (not (i=j) or (not ((i<>j) or d))) do x:=123; end;
  2548.     while ((i=j) or (not (not (i<>j) or d))) do x:=123; end;
  2549.     while ((i=j) or (not ((i<>j) or not d))) do x:=123; end;
  2550.     while (not (i=j) or (not (not (i<>j) or d))) do x:=123; end;
  2551.     while ((i=j) or (not (not (i<>j) or not d))) do x:=123; end;
  2552.     while (not (i=j) or (not ((i<>j) or not d))) do x:=123; end;
  2553.     while (not (i=j) or (not (not (i<>j) or not d))) do x:=123; end;
  2554.  
  2555.     while (not (((i=j) or (i<>j)) or d)) do x:=123; end;
  2556.     while (not ((not (i=j) or (i<>j)) or d)) do x:=123; end;
  2557.     while (not (((i=j) or not (i<>j)) or d)) do x:=123; end;
  2558.     while (not (((i=j) or (i<>j)) or not d)) do x:=123; end;
  2559.     while (not ((not (i=j) or not (i<>j)) or d)) do x:=123; end;
  2560.     while (not (((i=j) or not (i<>j)) or not d)) do x:=123; end;
  2561.     while (not ((not (i=j) or (i<>j)) or not d)) do x:=123; end;
  2562.     while (not ((not (i=j) or not (i<>j)) or not d)) do x:=123; end;
  2563.  
  2564.     while (not ((not ((i=j) or (i<>j))) or d)) do x:=123; end;
  2565.     while (not ((not (not (i=j) or (i<>j))) or d)) do x:=123; end;
  2566.     while (not ((not ((i=j) or not (i<>j))) or d)) do x:=123; end;
  2567.     while (not ((not ((i=j) or (i<>j))) or not d)) do x:=123; end;
  2568.     while (not ((not (not (i=j) or not (i<>j))) or d)) do x:=123; end;
  2569.     while (not ((not ((i=j) or not (i<>j))) or not d)) do x:=123; end;
  2570.     while (not ((not (not (i=j) or (i<>j))) or not d)) do x:=123; end;
  2571.     while (not ((not (not (i=j) or not (i<>j))) or not d)) do x:=123; end;
  2572.  
  2573.     while (not ((i=j) or ((i<>j) or d))) do x:=123; end;
  2574.     while (not (not (i=j) or ((i<>j) or d))) do x:=123; end;
  2575.     while (not ((i=j) or (not (i<>j) or d))) do x:=123; end;
  2576.     while (not ((i=j) or ((i<>j) or not d))) do x:=123; end;
  2577.     while (not (not (i=j) or (not (i<>j) or d))) do x:=123; end;
  2578.     while (not ((i=j) or (not (i<>j) or not d))) do x:=123; end;
  2579.     while (not (not (i=j) or ((i<>j) or not d))) do x:=123; end;
  2580.     while (not (not (i=j) or (not (i<>j) or not d))) do x:=123; end;
  2581.  
  2582.     while (not ((i=j) or (not ((i<>j) or d)))) do x:=123; end;
  2583.     while (not (not (i=j) or (not ((i<>j) or d)))) do x:=123; end;
  2584.     while (not ((i=j) or (not (not (i<>j) or d)))) do x:=123; end;
  2585.     while (not ((i=j) or (not ((i<>j) or not d)))) do x:=123; end;
  2586.     while (not (not (i=j) or (not (not (i<>j) or d)))) do x:=123; end;
  2587.     while (not ((i=j) or (not (not (i<>j) or not d)))) do x:=123; end;
  2588.     while (not (not (i=j) or (not ((i<>j) or not d)))) do x:=123; end;
  2589.     while (not (not (i=j) or (not (not (i<>j) or not d)))) do x:=123; end;
  2590.  
  2591. (*****  All expressions with: and and  *****)
  2592.  
  2593.     while (((i=j) and (i<>j)) and d) do x:=123; end;
  2594.     while ((not (i=j) and (i<>j)) and d) do x:=123; end;
  2595.     while (((i=j) and not (i<>j)) and d) do x:=123; end;
  2596.     while (((i=j) and (i<>j)) and not d) do x:=123; end;
  2597.     while ((not (i=j) and not (i<>j)) and d) do x:=123; end;
  2598.     while (((i=j) and not (i<>j)) and not d) do x:=123; end;
  2599.     while ((not (i=j) and (i<>j)) and not d) do x:=123; end;
  2600.     while ((not (i=j) and not (i<>j)) and not d) do x:=123; end;
  2601.  
  2602.     while ((not ((i=j) and (i<>j))) and d) do x:=123; end;
  2603.     while ((not (not (i=j) and (i<>j))) and d) do x:=123; end;
  2604.     while ((not ((i=j) and not (i<>j))) and d) do x:=123; end;
  2605.     while ((not ((i=j) and (i<>j))) and not d) do x:=123; end;
  2606.     while ((not (not (i=j) and not (i<>j))) and d) do x:=123; end;
  2607.     while ((not ((i=j) and not (i<>j))) and not d) do x:=123; end;
  2608.     while ((not (not (i=j) and (i<>j))) and not d) do x:=123; end;
  2609.     while ((not (not (i=j) and not (i<>j))) and not d) do x:=123; end;
  2610.  
  2611.     while ((i=j) and ((i<>j) and d)) do x:=123; end;
  2612.     while (not (i=j) and ((i<>j) and d)) do x:=123; end;
  2613.     while ((i=j) and (not (i<>j) and d)) do x:=123; end;
  2614.     while ((i=j) and ((i<>j) and not d)) do x:=123; end;
  2615.     while (not (i=j) and (not (i<>j) and d)) do x:=123; end;
  2616.     while ((i=j) and (not (i<>j) and not d)) do x:=123; end;
  2617.     while (not (i=j) and ((i<>j) and not d)) do x:=123; end;
  2618.     while (not (i=j) and (not (i<>j) and not d)) do x:=123; end;
  2619.  
  2620.     while ((i=j) and (not ((i<>j) and d))) do x:=123; end;
  2621.     while (not (i=j) and (not ((i<>j) and d))) do x:=123; end;
  2622.     while ((i=j) and (not (not (i<>j) and d))) do x:=123; end;
  2623.     while ((i=j) and (not ((i<>j) and not d))) do x:=123; end;
  2624.     while (not (i=j) and (not (not (i<>j) and d))) do x:=123; end;
  2625.     while ((i=j) and (not (not (i<>j) and not d))) do x:=123; end;
  2626.     while (not (i=j) and (not ((i<>j) and not d))) do x:=123; end;
  2627.     while (not (i=j) and (not (not (i<>j) and not d))) do x:=123; end;
  2628.  
  2629.     while (not (((i=j) and (i<>j)) and d)) do x:=123; end;
  2630.     while (not ((not (i=j) and (i<>j)) and d)) do x:=123; end;
  2631.     while (not (((i=j) and not (i<>j)) and d)) do x:=123; end;
  2632.     while (not (((i=j) and (i<>j)) and not d)) do x:=123; end;
  2633.     while (not ((not (i=j) and not (i<>j)) and d)) do x:=123; end;
  2634.     while (not (((i=j) and not (i<>j)) and not d)) do x:=123; end;
  2635.     while (not ((not (i=j) and (i<>j)) and not d)) do x:=123; end;
  2636.     while (not ((not (i=j) and not (i<>j)) and not d)) do x:=123; end;
  2637.  
  2638.     while (not ((not ((i=j) and (i<>j))) and d)) do x:=123; end;
  2639.     while (not ((not (not (i=j) and (i<>j))) and d)) do x:=123; end;
  2640.     while (not ((not ((i=j) and not (i<>j))) and d)) do x:=123; end;
  2641.     while (not ((not ((i=j) and (i<>j))) and not d)) do x:=123; end;
  2642.     while (not ((not (not (i=j) and not (i<>j))) and d)) do x:=123; end;
  2643.     while (not ((not ((i=j) and not (i<>j))) and not d)) do x:=123; end;
  2644.     while (not ((not (not (i=j) and (i<>j))) and not d)) do x:=123; end;
  2645.     while (not ((not (not (i=j) and not (i<>j))) and not d)) do x:=123; end;
  2646.  
  2647.     while (not ((i=j) and ((i<>j) and d))) do x:=123; end;
  2648.     while (not (not (i=j) and ((i<>j) and d))) do x:=123; end;
  2649.     while (not ((i=j) and (not (i<>j) and d))) do x:=123; end;
  2650.     while (not ((i=j) and ((i<>j) and not d))) do x:=123; end;
  2651.     while (not (not (i=j) and (not (i<>j) and d))) do x:=123; end;
  2652.     while (not ((i=j) and (not (i<>j) and not d))) do x:=123; end;
  2653.     while (not (not (i=j) and ((i<>j) and not d))) do x:=123; end;
  2654.     while (not (not (i=j) and (not (i<>j) and not d))) do x:=123; end;
  2655.  
  2656.     while (not ((i=j) and (not ((i<>j) and d)))) do x:=123; end;
  2657.     while (not (not (i=j) and (not ((i<>j) and d)))) do x:=123; end;
  2658.     while (not ((i=j) and (not (not (i<>j) and d)))) do x:=123; end;
  2659.     while (not ((i=j) and (not ((i<>j) and not d)))) do x:=123; end;
  2660.     while (not (not (i=j) and (not (not (i<>j) and d)))) do x:=123; end;
  2661.     while (not ((i=j) and (not (not (i<>j) and not d)))) do x:=123; end;
  2662.     while (not (not (i=j) and (not ((i<>j) and not d)))) do x:=123; end;
  2663.     while (not (not (i=j) and (not (not (i<>j) and not d)))) do x:=123; end;
  2664.  
  2665. (*****  All expressions with: and or  *****)
  2666.  
  2667.     while (((i=j) and (i<>j)) or d) do x:=123; end;
  2668.     while ((not (i=j) and (i<>j)) or d) do x:=123; end;
  2669.     while (((i=j) and not (i<>j)) or d) do x:=123; end;
  2670.     while (((i=j) and (i<>j)) or not d) do x:=123; end;
  2671.     while ((not (i=j) and not (i<>j)) or d) do x:=123; end;
  2672.     while (((i=j) and not (i<>j)) or not d) do x:=123; end;
  2673.     while ((not (i=j) and (i<>j)) or not d) do x:=123; end;
  2674.     while ((not (i=j) and not (i<>j)) or not d) do x:=123; end;
  2675.  
  2676.     while ((not ((i=j) and (i<>j))) or d) do x:=123; end;
  2677.     while ((not (not (i=j) and (i<>j))) or d) do x:=123; end;
  2678.     while ((not ((i=j) and not (i<>j))) or d) do x:=123; end;
  2679.     while ((not ((i=j) and (i<>j))) or not d) do x:=123; end;
  2680.     while ((not (not (i=j) and not (i<>j))) or d) do x:=123; end;
  2681.     while ((not ((i=j) and not (i<>j))) or not d) do x:=123; end;
  2682.     while ((not (not (i=j) and (i<>j))) or not d) do x:=123; end;
  2683.     while ((not (not (i=j) and not (i<>j))) or not d) do x:=123; end;
  2684.  
  2685.     while ((i=j) and ((i<>j) or d)) do x:=123; end;
  2686.     while (not (i=j) and ((i<>j) or d)) do x:=123; end;
  2687.     while ((i=j) and (not (i<>j) or d)) do x:=123; end;
  2688.     while ((i=j) and ((i<>j) or not d)) do x:=123; end;
  2689.     while (not (i=j) and (not (i<>j) or d)) do x:=123; end;
  2690.     while ((i=j) and (not (i<>j) or not d)) do x:=123; end;
  2691.     while (not (i=j) and ((i<>j) or not d)) do x:=123; end;
  2692.     while (not (i=j) and (not (i<>j) or not d)) do x:=123; end;
  2693.  
  2694.     while ((i=j) and (not ((i<>j) or d))) do x:=123; end;
  2695.     while (not (i=j) and (not ((i<>j) or d))) do x:=123; end;
  2696.     while ((i=j) and (not (not (i<>j) or d))) do x:=123; end;
  2697.     while ((i=j) and (not ((i<>j) or not d))) do x:=123; end;
  2698.     while (not (i=j) and (not (not (i<>j) or d))) do x:=123; end;
  2699.     while ((i=j) and (not (not (i<>j) or not d))) do x:=123; end;
  2700.     while (not (i=j) and (not ((i<>j) or not d))) do x:=123; end;
  2701.     while (not (i=j) and (not (not (i<>j) or not d))) do x:=123; end;
  2702.  
  2703.     while (not (((i=j) and (i<>j)) or d)) do x:=123; end;
  2704.     while (not ((not (i=j) and (i<>j)) or d)) do x:=123; end;
  2705.     while (not (((i=j) and not (i<>j)) or d)) do x:=123; end;
  2706.     while (not (((i=j) and (i<>j)) or not d)) do x:=123; end;
  2707.     while (not ((not (i=j) and not (i<>j)) or d)) do x:=123; end;
  2708.     while (not (((i=j) and not (i<>j)) or not d)) do x:=123; end;
  2709.     while (not ((not (i=j) and (i<>j)) or not d)) do x:=123; end;
  2710.     while (not ((not (i=j) and not (i<>j)) or not d)) do x:=123; end;
  2711.  
  2712.     while (not ((not ((i=j) and (i<>j))) or d)) do x:=123; end;
  2713.     while (not ((not (not (i=j) and (i<>j))) or d)) do x:=123; end;
  2714.     while (not ((not ((i=j) and not (i<>j))) or d)) do x:=123; end;
  2715.     while (not ((not ((i=j) and (i<>j))) or not d)) do x:=123; end;
  2716.     while (not ((not (not (i=j) and not (i<>j))) or d)) do x:=123; end;
  2717.     while (not ((not ((i=j) and not (i<>j))) or not d)) do x:=123; end;
  2718.     while (not ((not (not (i=j) and (i<>j))) or not d)) do x:=123; end;
  2719.     while (not ((not (not (i=j) and not (i<>j))) or not d)) do x:=123; end;
  2720.  
  2721.     while (not ((i=j) and ((i<>j) or d))) do x:=123; end;
  2722.     while (not (not (i=j) and ((i<>j) or d))) do x:=123; end;
  2723.     while (not ((i=j) and (not (i<>j) or d))) do x:=123; end;
  2724.     while (not ((i=j) and ((i<>j) or not d))) do x:=123; end;
  2725.     while (not (not (i=j) and (not (i<>j) or d))) do x:=123; end;
  2726.     while (not ((i=j) and (not (i<>j) or not d))) do x:=123; end;
  2727.     while (not (not (i=j) and ((i<>j) or not d))) do x:=123; end;
  2728.     while (not (not (i=j) and (not (i<>j) or not d))) do x:=123; end;
  2729.  
  2730.     while (not ((i=j) and (not ((i<>j) or d)))) do x:=123; end;
  2731.     while (not (not (i=j) and (not ((i<>j) or d)))) do x:=123; end;
  2732.     while (not ((i=j) and (not (not (i<>j) or d)))) do x:=123; end;
  2733.     while (not ((i=j) and (not ((i<>j) or not d)))) do x:=123; end;
  2734.     while (not (not (i=j) and (not (not (i<>j) or d)))) do x:=123; end;
  2735.     while (not ((i=j) and (not (not (i<>j) or not d)))) do x:=123; end;
  2736.     while (not (not (i=j) and (not ((i<>j) or not d)))) do x:=123; end;
  2737.     while (not (not (i=j) and (not (not (i<>j) or not d)))) do x:=123; end;
  2738.  
  2739. (*****  All expressions with: or and  *****)
  2740.  
  2741.     while (((i=j) or (i<>j)) and d) do x:=123; end;
  2742.     while ((not (i=j) or (i<>j)) and d) do x:=123; end;
  2743.     while (((i=j) or not (i<>j)) and d) do x:=123; end;
  2744.     while (((i=j) or (i<>j)) and not d) do x:=123; end;
  2745.     while ((not (i=j) or not (i<>j)) and d) do x:=123; end;
  2746.     while (((i=j) or not (i<>j)) and not d) do x:=123; end;
  2747.     while ((not (i=j) or (i<>j)) and not d) do x:=123; end;
  2748.     while ((not (i=j) or not (i<>j)) and not d) do x:=123; end;
  2749.  
  2750.     while ((not ((i=j) or (i<>j))) and d) do x:=123; end;
  2751.     while ((not (not (i=j) or (i<>j))) and d) do x:=123; end;
  2752.     while ((not ((i=j) or not (i<>j))) and d) do x:=123; end;
  2753.     while ((not ((i=j) or (i<>j))) and not d) do x:=123; end;
  2754.     while ((not (not (i=j) or not (i<>j))) and d) do x:=123; end;
  2755.     while ((not ((i=j) or not (i<>j))) and not d) do x:=123; end;
  2756.     while ((not (not (i=j) or (i<>j))) and not d) do x:=123; end;
  2757.     while ((not (not (i=j) or not (i<>j))) and not d) do x:=123; end;
  2758.  
  2759.     while ((i=j) or ((i<>j) and d)) do x:=123; end;
  2760.     while (not (i=j) or ((i<>j) and d)) do x:=123; end;
  2761.     while ((i=j) or (not (i<>j) and d)) do x:=123; end;
  2762.     while ((i=j) or ((i<>j) and not d)) do x:=123; end;
  2763.     while (not (i=j) or (not (i<>j) and d)) do x:=123; end;
  2764.     while ((i=j) or (not (i<>j) and not d)) do x:=123; end;
  2765.     while (not (i=j) or ((i<>j) and not d)) do x:=123; end;
  2766.     while (not (i=j) or (not (i<>j) and not d)) do x:=123; end;
  2767.  
  2768.     while ((i=j) or (not ((i<>j) and d))) do x:=123; end;
  2769.     while (not (i=j) or (not ((i<>j) and d))) do x:=123; end;
  2770.     while ((i=j) or (not (not (i<>j) and d))) do x:=123; end;
  2771.     while ((i=j) or (not ((i<>j) and not d))) do x:=123; end;
  2772.     while (not (i=j) or (not (not (i<>j) and d))) do x:=123; end;
  2773.     while ((i=j) or (not (not (i<>j) and not d))) do x:=123; end;
  2774.     while (not (i=j) or (not ((i<>j) and not d))) do x:=123; end;
  2775.     while (not (i=j) or (not (not (i<>j) and not d))) do x:=123; end;
  2776.  
  2777.     while (not (((i=j) or (i<>j)) and d)) do x:=123; end;
  2778.     while (not ((not (i=j) or (i<>j)) and d)) do x:=123; end;
  2779.     while (not (((i=j) or not (i<>j)) and d)) do x:=123; end;
  2780.     while (not (((i=j) or (i<>j)) and not d)) do x:=123; end;
  2781.     while (not ((not (i=j) or not (i<>j)) and d)) do x:=123; end;
  2782.     while (not (((i=j) or not (i<>j)) and not d)) do x:=123; end;
  2783.     while (not ((not (i=j) or (i<>j)) and not d)) do x:=123; end;
  2784.     while (not ((not (i=j) or not (i<>j)) and not d)) do x:=123; end;
  2785.  
  2786.     while (not ((not ((i=j) or (i<>j))) and d)) do x:=123; end;
  2787.     while (not ((not (not (i=j) or (i<>j))) and d)) do x:=123; end;
  2788.     while (not ((not ((i=j) or not (i<>j))) and d)) do x:=123; end;
  2789.     while (not ((not ((i=j) or (i<>j))) and not d)) do x:=123; end;
  2790.     while (not ((not (not (i=j) or not (i<>j))) and d)) do x:=123; end;
  2791.     while (not ((not ((i=j) or not (i<>j))) and not d)) do x:=123; end;
  2792.     while (not ((not (not (i=j) or (i<>j))) and not d)) do x:=123; end;
  2793.     while (not ((not (not (i=j) or not (i<>j))) and not d)) do x:=123; end;
  2794.  
  2795.     while (not ((i=j) or ((i<>j) and d))) do x:=123; end;
  2796.     while (not (not (i=j) or ((i<>j) and d))) do x:=123; end;
  2797.     while (not ((i=j) or (not (i<>j) and d))) do x:=123; end;
  2798.     while (not ((i=j) or ((i<>j) and not d))) do x:=123; end;
  2799.     while (not (not (i=j) or (not (i<>j) and d))) do x:=123; end;
  2800.     while (not ((i=j) or (not (i<>j) and not d))) do x:=123; end;
  2801.     while (not (not (i=j) or ((i<>j) and not d))) do x:=123; end;
  2802.     while (not (not (i=j) or (not (i<>j) and not d))) do x:=123; end;
  2803.  
  2804.     while (not ((i=j) or (not ((i<>j) and d)))) do x:=123; end;
  2805.     while (not (not (i=j) or (not ((i<>j) and d)))) do x:=123; end;
  2806.     while (not ((i=j) or (not (not (i<>j) and d)))) do x:=123; end;
  2807.     while (not ((i=j) or (not ((i<>j) and not d)))) do x:=123; end;
  2808.     while (not (not (i=j) or (not (not (i<>j) and d)))) do x:=123; end;
  2809.     while (not ((i=j) or (not (not (i<>j) and not d)))) do x:=123; end;
  2810.     while (not (not (i=j) or (not ((i<>j) and not d)))) do x:=123; end;
  2811.     while (not (not (i=j) or (not (not (i<>j) and not d)))) do x:=123; end;
  2812.  
  2813. end;
  2814.