diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..91aaf42 Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index 8c81f30..9eee550 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ .idea/* +.vscode/* */__pycache__/* -cmake-build-debug/* \ No newline at end of file +__pycache__/* +cmake-build-debug/* +run/.tmp/* \ No newline at end of file diff --git a/ext/__init__.py b/apps/__init__.py similarity index 100% rename from ext/__init__.py rename to apps/__init__.py diff --git a/opt/__init__.py b/apps/compression/__init__.py similarity index 100% rename from opt/__init__.py rename to apps/compression/__init__.py diff --git a/apps/compression/asg.py b/apps/compression/asg.py new file mode 100644 index 0000000..5b26790 --- /dev/null +++ b/apps/compression/asg.py @@ -0,0 +1,29 @@ +from core.asg import * +from apps import compression + + +def truncate(data, nbits): + return Encoder('truncate', data, nbits) + +class Encoder(Tensor): + def __init__(self, op_type, *operators): + self.op_type = op_type + self.operators = [] + for opr in operators: + self.operators.append(opr) + if isinstance(opr, ASTNode): + opr.ref_by.append(self) + + if type(self.operators[1]) == int: + self.operators[1] = Const(self.operators[1], 'int') + assert len(self.operators[0].ref_size) == 1 + ref_size = [self.operators[1]] + fix_size = [] + + name = f'{op_type}_' + '_'.join([op.name if hasattr(op, 'name') else '' for op in self.operators]) + super().__init__(name, ref_size, 'int', fix_size) + + def _gen_ir(self): + return compression.asg2ir.gen_ir(self) + + diff --git a/apps/compression/asg2ir.py b/apps/compression/asg2ir.py new file mode 100644 index 0000000..e8da26b --- /dev/null +++ b/apps/compression/asg2ir.py @@ -0,0 +1,35 @@ +import helpers +from core.asg import * +from core.ir import * +from apps.compression.asg import * + + +def gen_ir(node): + assert isinstance(node, ASTNode) + if node.eval or len(node.decl) > 0 or (type(node) == TensorOp and len(node.compute) > 0): + return node + + if type(node) == Encoder: + if node.op_type == 'truncate': + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + size = helpers.get_ir_of_size(node._size()) + node.eval = Ndarray(node.dtype, size) + node.decl.append(Decl(node.eval)) + src = '''unsigned m = 0x0000FFFF; + for (int j = 16; j != 0; j = j >> 1, m = m ^ (m << j)) { + for (int k = 0; k < 32; k = (k + j + 1) & ~j) { + unsigned t = (DATA[k] ^ (DATA[k+j] >> j)) & m; + DATA[k] = DATA[k] ^ t; + DATA[k+j] = DATA[k+j] ^ (t << j); + } + }''' + node.compute = [Code(src, {'DATA': node.operators[0].eval})] + + output_loop = Loop(0, node.operators[1].eval, 1, []) + assign = Assignment(Indexing(node.eval, output_loop.iterate), Indexing(node.operators[0].eval, Expr(Expr(Literal(32, 'int'), node.operators[1].eval, '-'), output_loop.iterate, '+'))) + output_loop.body.append(assign) + node.compute.append(output_loop) + + + return node \ No newline at end of file diff --git a/apps/compression/test.py b/apps/compression/test.py new file mode 100644 index 0000000..884eb01 --- /dev/null +++ b/apps/compression/test.py @@ -0,0 +1,80 @@ +from core.asg import * +import codegen +import torch +import run + + +def compression(): + nblocks = 50 + input = Tensor('input', (nblocks, 32), dtype='float') + quant_res = (input * 1000).round() + lorenzo_res = quant_res[:][0:32] - quant_res[:][-1:31] + encode_nbits = lorenzo_res.abs().max(axis=1).nbits() + ofs = encode_nbits.prefix_sum(inclusive=False) + compressed_res = apply(lambda x, y: truncate(x, y), (lorenzo_res, encode_nbits), out_ofs=ofs) + res = compressed_res + code = codegen.cpu.print_cpp(res._gen_ir()) + + print(code) + + code = '#include "../../compression/util.h"\n' + code + + data = torch.rand(nblocks, 32) + + d = run.cpu.compile_and_run(code, data) + # d = run.cpu.run(data) + print(d) + + +def invert_lorenzo(): + nblocks = 50 + input = Tensor('input', (nblocks, 32), dtype='float') + quant_res = (input * 1000).round() + lorenzo_res = quant_res[:][0:32] - quant_res[:][-1:31] + + recover_res = Tensor('recovered', input._size(), dtype='float') + recover_res = setval(recover_res, recover_res[:][-1:31] + lorenzo_res[:][0:32]) + # recover_res = lorenzo_res.prefix_sum(axis=1) + res = recover_res + + code = codegen.cpu.print_cpp(res._gen_ir()) + code = '#include "../../compression/util.h"\n' + code + + data = torch.rand(nblocks, 32) + + print((data * 1000).round()) + + d = run.cpu.compile_and_run(code, data) + print(d) + +def regression(): + nblocks = 50 + input = Tensor('input', (nblocks, 32), dtype='float') + quant_res = (input * 1000).round() + res = apply(lambda x: einsum('i,i->', x, Const(slice(1, 33, 1), 'slice')), (quant_res, )) + + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + + +def regression2(): + nblocks = 50 + input = Tensor('input', (nblocks, 6, 6, 6), dtype='float') + quant_res = (input * 1000).round() + tmp1 = apply(lambda x: einsum('ijk,i->', x, Const(slice(1, 33, 1), 'slice')), (quant_res, )) + tmp2 = apply(lambda x: einsum('ijk,j->', x, Const(slice(1, 33, 1), 'slice')), (quant_res, )) + tmp3 = apply(lambda x: einsum('ijk,k->', x, Const(slice(1, 33, 1), 'slice')), (quant_res, )) + tmp4 = apply(lambda x: einsum('ijk,->', x, None), (quant_res, )) + + coefficient = (tmp1 + tmp2 + tmp3) / tmp4 + + code = codegen.cpu.print_cpp(coefficient._gen_ir()) + print(code) + + + +if __name__ == "__main__": + # compression() + # invert_lorenzo() + # regression() + regression2() diff --git a/apps/compression/util.h b/apps/compression/util.h new file mode 100644 index 0000000..4f6dbf9 --- /dev/null +++ b/apps/compression/util.h @@ -0,0 +1,22 @@ +// +// Created by Jiang, Peng on 11/10/23. +// + +#ifndef UTIL_H +#define UTIL_H + +#include +#include + +template +int nbits(T n) { + for (int i = 30; i>=0; i--) { + if (n & (1 << i)) { + return i + 1; + } + } + return 0; +} + + +#endif //UTIL_H diff --git a/apps/kge/__init__.py b/apps/kge/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/kge/kge.py b/apps/kge/kge.py new file mode 100644 index 0000000..ac8bcd8 --- /dev/null +++ b/apps/kge/kge.py @@ -0,0 +1,271 @@ +from codegen import * +import run +import torch +from helpers import new_op, ASGTraversal +from transform.fuse import merge_loops, fuser, basic_rule, fuse_operators +from core.asg import * +from transform import parallelize, split + +@new_op +def bvv(a, b): + return apply(lambda x, y: einsum('i,i->', x, y), (a, b)) + +@new_op +def bsv(a, b): + return apply(lambda x, y: x * y, (a, b)) + +@new_op +def bvm(a, b): + return apply(lambda x, y: einsum('i,ij->j', x, y), (a, b)) + +@new_op +def bov(a, b): + return apply(lambda x, y: einsum('i,j->ij', x, y), (a, b)) + + +def fuse_rule(node, res): + if type(node) == TensorOp and 'bvv' in node.attr: + if type(node.operators[1]) == TensorOp and len(node.operators[1].ref_by) == 1: + if node.operators[1].op_type in elementwise_op or 'bvm' in node.operators[1].attr: + fuse_operators(node, node.input_orders[1], node.operators[1]) + + if type(node.operators[2]) == TensorOp and len(node.operators[2].ref_by) == 1: + if node.operators[2].op_type in elementwise_op or 'bvm' in node.operators[2].attr: + fuse_operators(node, node.input_orders[2], node.operators[2]) + + if type(node) == TensorOp and 'bsv' in node.attr: + if type(node.operators[1]) == TensorOp and len(node.operators[1].ref_by) == 1: + if 'bvv' in node.operators[1].attr: + fuse_operators(node, node.input_orders[1], node.operators[1]) + + if type(node.operators[2]) == TensorOp and len(node.operators[2].ref_by) == 1: + if node.operators[2].op_type in elementwise_op: + fuse_operators(node, node.input_orders[2], node.operators[2]) + + if type(node) == TensorOp and 'bov' in node.attr: + if type(node.operators[1]) == TensorOp and len(node.operators[1].ref_by) == 1: + if node.operators[1].op_type in elementwise_op: + fuse_operators(node, node.input_orders[1], node.operators[1]) + + if type(node.operators[2]) == TensorOp and len(node.operators[2].ref_by) == 1: + if node.operators[2].op_type in elementwise_op: + fuse_operators(node, node.input_orders[2], node.operators[2]) + + +f = fuser() +f.register(basic_rule) +f.register(fuse_rule) +fuse = f.fuse + +def tiling(asg, C, D): + def action(node, res): + if not 'bov' in node.attr and len(node.compute) > 0: + split.split(node, C, 0) + split.split(node, D, 1) + + t = ASGTraversal(action) + t(asg) + return asg + + +def transE(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + vr = Remb[r] + + res = vh - vt + vr + + ir = fuse(res._gen_ir()) + tiling(ir, 16, 128) + parallelize.parallelize(ir, [80, 8, 32]) + code = codegen.cpu.print_cpp(ir) + print(code) + + +def transH(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + Pemb = Tensor('Pemb', (nedges, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + vr = Remb[r] + vp = Pemb[r] + + # TODO: if there are redundant computation, is fusion always beneficial + res = vh - vt + vr - bsv(bvv(vp, vh - vt), vp) + ir = fuse(res._gen_ir()) + tiling(ir, 16, 128) + parallelize.parallelize(ir, [80, 8, 32]) + + code = codegen.cpu.print_cpp(ir) + print(code) + + +def transR(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + Proj = Tensor('Proj', (nedges, dim, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + mr = Proj[r] + vr = Remb[r] + + res = bvm(vh - vt, mr) + vr + + ir = fuse(res._gen_ir()) + tiling(ir, 16, 128) + parallelize.parallelize(ir, [80, 8, 32]) + + code = codegen.cpu.print_cpp(ir) + + print(code) + + + + +def transF(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + vr = Remb[r] + + # alpha = Const(val=2, dtype='float') + # alpha = Batch(alpha) + # alpha = 2 + + res = bvv(vh, vt) - bvv(vh - vt, vr) + + code = codegen.cpu.print_cpp(parallelize.parallelize(tiling(fuse(res._gen_ir()), 16, 128), [80, 8, 32])) + # ast = res._gen_ir() + # fuse_operators(ast) + # tile_loop(ast) + # parallel(ast) + # add_smem(ast) + # code = codegen.gpu.print_cuda(ast) + print(code) + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512)).cuda(0) + + # y = torch.einsum('ab,ab->a', eemb[h], eemb[t]) - torch.einsum('ab,ab->a',(eemb[h] - eemb[t]), remb[r]) + # print(y) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h,t, 0, remb, r) + # print(x) + +def RESCAL(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Proj = Tensor('Proj', (nedges, dim, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + mr = Proj[r] + + res = bvv(bvm(vh, mr), vt) + + code = codegen.cpu.print_cpp(parallelize.parallelize(tiling(fuse(res._gen_ir()), 16, 128), [80, 8, 32])) + + # ast = res._gen_ir() + + # fuse_operators(ast) + # tile_loop(ast) + # parallel(ast) + # add_smem(ast) + # traversal call funcs to transform ir + # code = codegen.cpu.print_cpp(ast) + # code = codegen.gpu.print_cuda(ast) + print(code) + + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512, 512)).cuda(0) + + # y = torch.einsum('ab,ab->a', torch.einsum('ab,abc->ac', eemb[h], remb[r]), eemb[t]) + # print(y, y.shape) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h, 0, remb, r, t) + # print(x) + +def test(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + Proj = Tensor('Proj', (nedges, dim, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + vr = Remb[r] + + res = bov(vh+vr, vt-vr) + + ir = fuse(res._gen_ir()) + + parallelize.t(ir) + + code = codegen.cpu.print_cpp(ir) + print(code) + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512)).cuda(0) + # + # y = torch.einsum('ab,ac->abc', eemb[h] + remb[r], eemb[t] - remb[r]) + # print(y) + # + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h, 0, remb, r, t) + # print(x) + +if __name__ == "__main__": + # transE() # success + # transH() # success + # transR() # success + # transF() # success + RESCAL() # success + # test() \ No newline at end of file diff --git a/batch/__init__.py b/batch/__init__.py new file mode 100644 index 0000000..699e4f1 --- /dev/null +++ b/batch/__init__.py @@ -0,0 +1,2 @@ +import batch.ast +import batch.ast2ir \ No newline at end of file diff --git a/batch/ast.py b/batch/ast.py new file mode 100644 index 0000000..9d8ac64 --- /dev/null +++ b/batch/ast.py @@ -0,0 +1,150 @@ +import core.asg +from core.asg import * +import batch + +class Batch(ASTNode): + def __init__(self, base): + super().__init__() + size = base._size() + + if type(base) == TensorOp and len(base.ref_by) >= 1: + self.base = copy.copy(base) + self.base.eval = None + self.base.decl.clear() + self.base.compute.clear() + self.base.ref_by = [self] + else: + self.base = base + self.base.ref_by.append(self) + + + if (len(size) == 2): + self.item_type = 'vec' + self.dim = size[1] + self.batch_size = size[0] + elif len(size) == 3: + self.item_type = 'mat' + self.dim1 = size[1] + self.dim2 = size[2] + self.batch_size = size[0] + elif len(size) == 1: + self.item_type = 'scal' + self.batch_size = size[0] + elif len(size) == 0: + self.item_type = 'const' + self.batch_size = 0 + else: + raise TypeError('Batch item type not supported') + + self.dtype = self.base.dtype + self.name = self.base.name + + def _size(self): + return self.base._size() + + + def _gen_ir(self): + return batch.ast2ir.gen_ir(self) + + def __sub__(self, other): + return BatchOp('sub', self, other) + + def __add__(self, other): + return BatchOp('add', self, other) + + def __mul__(self, other): + return BatchOp('mul', self, other) + + def __floordiv__(self, other): + return BatchOp('floordiv', self, other) + + def __truediv__(self, other): + return BatchOp('truediv', self, other) + +def bvv(v1: Batch, v2: Batch): + assert v1.item_type == 'vec' and v2.item_type == 'vec' + assert v1.dim == v2.dim + return BatchOp('vec_mul_vec', v1, v2) + +def bsv(v1: Batch, v2: Batch): + assert v1.item_type == 'scal' and v2.item_type == 'vec' + return BatchOp('scal_mul_vec', v1, v2) + +def bvm(v1: Batch, v2: Batch): + assert v1.item_type == 'vec' and v2.item_type == 'mat' + assert v1.dim == v2.dim1 + return BatchOp('vec_mul_mat', v1, v2) + +def bov(v1: Batch, v2: Batch): + assert v1.item_type == 'vec' and v2.item_type == 'vec' + return BatchOp('vec_outer_vec', v1, v2) + +class BatchOp(Batch): + Types = ['scal_mul_vec', 'vec_mul_vec', 'vec_mul_mat', 'vec_outer_vec'] + list(core.asg.arith_op.keys()) + + def __init__(self, op_type, *operators): + assert op_type in BatchOp.Types + # TODO: infer result data type + dtype = operators[0].dtype + + self.operators = [] + for opr in operators: + if isinstance(opr, Batch) and type(opr.base) == TensorOp and opr.base.op_type == 'index' and len(opr.ref_by) >= 1: + new_opr = copy.copy(opr) + new_opr.ref_by = [self] + new_opr.eval = None + new_opr.base = copy.copy(opr.base) + new_opr.base.ref_by = [self] + new_opr.base.eval = None + new_opr.base.decl.clear() + new_opr.base.compute.clear() + self.operators.append(new_opr) + else: + self.operators.append(opr) + if isinstance(opr, ASTNode): + opr.ref_by.append(self) + opr.base.ref_by.append(self) + + name = f'{op_type}_' + '_'.join([op.name if hasattr(op, 'name') else '' for op in self.operators]) + + if op_type in core.asg.arith_op: + match op_type: + case 'add': + res = self.operators[0].base + self.operators[1].base + case 'sub': + res = self.operators[0].base - self.operators[1].base + case 'mul': + res = self.operators[0].base * self.operators[1].base + case 'floordiv': + res = self.operators[0].base // self.operators[1].base + case 'truediv': + res = self.operators[0].base / self.operators[1].base + super().__init__(res) + + elif op_type == 'vec_mul_vec': + bsize = self.operators[0].batch_size + res = Tensor(name, (bsize, ), dtype) + super().__init__(res) + + elif op_type == 'scal_mul_vec': + bsize = self.operators[0].batch_size + dim = self.operators[1].dim + res = Tensor(name, (bsize, dim), dtype) + super().__init__(res) + + elif op_type == 'vec_mul_mat': + bsize = self.operators[0].batch_size + dim = self.operators[1].dim2 + res = Tensor(name, (bsize, dim), dtype) + super().__init__(res) + + elif op_type == 'vec_outer_vec': + bsize = self.operators[0].batch_size + res = Tensor(name, (bsize, self.operators[0].dim, self.operators[1].dim ), dtype) + super().__init__(res) + + else: # TODO: complete other ops + pass + + self.op_type = op_type + diff --git a/batch/ast2ir.py b/batch/ast2ir.py new file mode 100644 index 0000000..9d51882 --- /dev/null +++ b/batch/ast2ir.py @@ -0,0 +1,131 @@ +import sys +sys.path.append('/data/backed_up/lihhu/CUKE/cuke') +from batch.ast import * +from core.asg2ir import * + +def is_bvec(t): + return isinstance(t, Batch) and t.item_type == 'vec' + +def is_bmat(t): + return isinstance(t, Batch) and t.item_type == 'mat' + +def is_bscal(t): + return isinstance(t, Batch) and t.item_type == 'scal' + +def gen_ir(node): + assert isinstance(node, Batch) + if node.eval: + return node + + if type(node) == Batch: + node.base._gen_ir() + node.eval = node.base.eval + elif type(node) == BatchOp: + if node.op_type in core.asg.arith_op: + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + node.base._gen_ir() + # print(node.operators[1].eval, node.op_type, node.base.compute) + node.eval = node.base.eval + node.decl = node.base.decl[:] + node.compute = node.base.compute[:] + for i in node.compute: + i.ast_ref = node + node.base.decl.clear() + node.base.compute.clear() + + elif node.op_type == 'vec_mul_vec': + assert is_bvec(node.operators[0]) and is_bvec(node.operators[1]) + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + size = helpers.get_ir_of_size(node._size()) + node.base.eval = node.eval = Ndarray(node.dtype, size) + node.decl = [Decl(node.eval)] + pre_loop = Loop(0, node.eval.size[0], 1, []) + node.compute = [pre_loop] + lhs = bind(node.operators[0].eval, pre_loop.iterate) + rhs = bind(node.operators[1].eval, pre_loop.iterate) + res = bind(node.eval, pre_loop.iterate) + inner_loop = Loop(0, node.operators[0].eval.size[1], 1, []) + pre_loop.body.append(inner_loop) + pre_loop.ast_ref = node + lhs = bind(lhs, inner_loop.iterate) + rhs = bind(rhs, inner_loop.iterate) + assign = Assignment(res, Expr(lhs, rhs, '*'), '+') + inner_loop.body.append(assign) + + elif node.op_type == 'scal_mul_vec': + assert is_bscal(node.operators[0]) and is_bvec(node.operators[1]) + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + size = helpers.get_ir_of_size(node._size()) + node.base.eval = node.eval = Ndarray(node.dtype, size) + node.decl = [Decl(node.eval)] + pre_loop = Loop(0, node.eval.size[0], 1, []) + node.compute = [pre_loop] + lhs = bind(node.operators[0].eval, pre_loop.iterate) + rhs = bind(node.operators[1].eval, pre_loop.iterate) + res = bind(node.eval, pre_loop.iterate) + inner_loop = Loop(0, node.eval.size[1], 1, []) + pre_loop.body.append(inner_loop) + pre_loop.ast_ref = node + rhs = bind(rhs, inner_loop.iterate) + res = bind(res, inner_loop.iterate) + + assign = Assignment(res, Expr(lhs, rhs, '*')) + inner_loop.body.append(assign) + + elif node.op_type == 'vec_mul_mat': + assert is_bvec(node.operators[0]) and is_bmat(node.operators[1]) + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + size = helpers.get_ir_of_size(node._size()) + node.base.eval = node.eval = Ndarray(node.dtype, size) + node.eval.val = 0 + node.decl = [Decl(node.eval)] + pre_loop = Loop(0, node.eval.size[0], 1, []) + node.compute = [pre_loop] + lhs = bind(node.operators[0].eval, pre_loop.iterate) + rhs = bind(node.operators[1].eval, pre_loop.iterate) + res = bind(node.eval, pre_loop.iterate) + loop1 = Loop(0, node.eval.size[1], 1, []) + pre_loop.body.append(loop1) + pre_loop.ast_ref = node + res = bind(res, loop1.iterate) + loop2 = Loop(0, node.operators[0].eval.size[1], 1, []) + loop1.body.append(loop2) + lhs = bind(lhs, loop2.iterate) + rhs = bind(rhs, loop2.iterate) + rhs = bind(rhs, loop1.iterate) + + assign = Assignment(res, Expr(lhs, rhs, '*'), '+') + loop2.body.append(assign) + + elif node.op_type == 'vec_outer_vec': + assert is_bvec(node.operators[0]) and is_bvec(node.operators[1]) + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + size = helpers.get_ir_of_size(node._size()) + node.base.eval = node.eval = Ndarray(node.dtype, size) + node.decl = [Decl(node.eval)] + pre_loop = Loop(0, node.eval.size[0], 1, []) + node.compute = [pre_loop] + lhs = bind(node.operators[0].eval, pre_loop.iterate) + rhs = bind(node.operators[1].eval, pre_loop.iterate) + res = bind(node.eval, pre_loop.iterate) + loop1 = Loop(0, node.eval.size[1], 1, []) + pre_loop.body.append(loop1) + pre_loop.ast_ref = node + lhs = bind(lhs, loop1.iterate) + res = bind(res, loop1.iterate) + loop2 = Loop(0, node.eval.size[2], 1, []) + loop1.body.append(loop2) + + rhs = bind(rhs, loop2.iterate) + res = bind(res, loop2.iterate) + + assign = Assignment(res, Expr(lhs, rhs, '*')) + loop2.body.append(assign) + + return node + diff --git a/batch/opt/__init__.py b/batch/opt/__init__.py new file mode 100644 index 0000000..0c77ff1 --- /dev/null +++ b/batch/opt/__init__.py @@ -0,0 +1,5 @@ +import batch.opt.fusion_rules +import batch.opt.ir +import batch.opt.parallelism +import batch.opt.smem +import batch.opt.tiling \ No newline at end of file diff --git a/batch/opt/fusion_rules.py b/batch/opt/fusion_rules.py new file mode 100644 index 0000000..90114e3 --- /dev/null +++ b/batch/opt/fusion_rules.py @@ -0,0 +1,748 @@ +from core.ir import * +from batch.ast import * +from batch.ast2ir import * +import codegen + + +def get_same_loop(outloop, fusedloop): + pre_o = outloop + pre_i = fusedloop + oloop = outloop.body[0] + iloop = fusedloop.body[0] + + pre_iter_i = [] + pre_iter_o = [] + + pre_iter_i.append(pre_i.iterate) + pre_iter_o.append(pre_o.iterate) + while (isinstance(oloop, Loop) and isinstance(iloop, Loop)) and oloop.start == iloop.start and oloop.end.__name__ == iloop.end.__name__ and oloop.step == iloop.step: + if len(pre_i.body)>1: + break + pre_o = oloop + pre_i = iloop + pre_iter_i.append(pre_i.iterate) + pre_iter_o.append(pre_o.iterate) + + oloop = oloop.body[-1] + iloop = iloop.body[0] + + return pre_o, pre_i, pre_iter_o, pre_iter_i + +def loop_merge(o_loop, i_loop): + # print(codegen.cpu.to_string(o_loop), codegen.cpu.to_string(i_loop)) + if (isinstance(o_loop, Loop) and isinstance(i_loop, Loop)) and o_loop.start == i_loop.start and o_loop.end.__name__ == i_loop.end.__name__ and o_loop.step == i_loop.step: + + for ii in range(len(i_loop.body)-1): + + change_index(i_loop.body[ii], [o_loop.iterate], [i_loop.iterate]) + o_loop.body.insert(ii, i_loop.body[ii]) + # print('last loop i', count, codegen.cpu.to_string(i_loop.body[-1])) + change_index(i_loop.body[-1], [o_loop.iterate], [i_loop.iterate]) + # print("outer::",codegen.cpu.to_string(o_loop)) + # print("inner::",codegen.cpu.to_string(i_loop)) + if not isinstance(i_loop.body[-1], Loop): + o_loop.body.insert(-1, i_loop.body[-1]) + elif not isinstance(o_loop.body[-1], Loop): + o_loop.body.insert(0, i_loop.body[-1]) + else: + loop_merge(o_loop.body[-1], i_loop.body[-1]) + + +def change_index(iassign, iter_o, iter_i): + if isinstance(iassign, Indexing): + + for idx, item in enumerate(iter_i): + if iassign.idx == item: + iassign.idx = iter_o[idx] + if isinstance(iassign.dobject, Indexing): + change_index(iassign.dobject, iter_o, iter_i) + if isinstance(iassign.idx, Indexing): + change_index(iassign.idx, iter_o, iter_i) + + elif isinstance(iassign, Expr): + # both item.left and item.right + change_index(iassign.left, iter_o, iter_i) + change_index(iassign.right, iter_o, iter_i) + elif isinstance(iassign, Assignment): + # both item.lhs and item.rhs + change_index(iassign.lhs, iter_o, iter_i) + change_index(iassign.rhs, iter_o, iter_i) + elif isinstance(iassign, Loop): + for i in iassign.body: + change_index(i, iter_o, iter_i) + +def change_ref(ir, ast): + ir.astnode = ast + if isinstance(ir, Indexing): + if isinstance(ir.dobject, Indexing): + change_ref(ir.dobject, ast) + + elif isinstance(ir, Expr): + # both item.left and item.right + change_ref(ir.left, ast) + change_ref(ir.right, ast) + elif isinstance(ir, Assignment): + # both item.lhs and item.rhs + change_ref(ir.lhs, ast) + change_ref(ir.rhs, ast) + elif isinstance(ir, Loop): + for i in ir.body: + change_ref(i, ast) + # print('after::', i, i.ast_ref.op_type) + +def swap_arr_to_reg(ir, pre, cur): + if isinstance(ir, Indexing): + temp = ir + while isinstance(temp, Indexing): + temp = temp.dobject + if temp == pre: + return cur + else: + return ir + elif isinstance(ir, Expr): + ir.left = swap_arr_to_reg(ir.left, pre, cur) + ir.right = swap_arr_to_reg(ir.right, pre, cur) + elif isinstance(ir, Assignment): + ir.lhs = swap_arr_to_reg(ir.lhs, pre, cur) + ir.rhs = swap_arr_to_reg(ir.rhs, pre, cur) + elif isinstance(ir, Loop): + for i in range(len(ir.body)): + ir.body[i] = swap_arr_to_reg(ir.body[i], pre, cur) + return ir + +def fuse_elementwise(ast): + + if type(ast) == BatchOp: + if type(ast.operators[0]) == BatchOp: + fuse_elementwise(ast.operators[0]) + if type(ast.operators[1]) == BatchOp: + fuse_elementwise(ast.operators[1]) + else: + return + + if type(ast.operators[1]) == BatchOp and ast.op_type in core.ast.arith_op.keys(): + # fuse operators1 into elementwise + if ast.item_type == 'vec' and ast.operators[1].item_type == ast.item_type: + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[1].compute.clear() + elif ast.item_type == 'scal' and ast.operators[1].item_type == ast.item_type: + # check if type of operator1 is scalar + if ast.operators[1].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[1].compute.clear() + elif ast.item_type not in ['vec', 'scal']: + raise ValueError(f"Tensor type is wrong. Expect ast as 'vec' or 'scal' but found '{ast.item_type}'.") + elif ast.operators[1].item_type not in ['vec', 'scal']: + raise ValueError(f"Tensor type is wrong. Expect operators[1] as 'vec' or 'scal' but found '{ast.operators[1].item_type}'.") + elif ast.operators[1].item_type != ast.item_type: + raise ValueError(f"Tensor shape are not the same. Expect 'vec' or 'scal' but found ast: '{ast.item_type}' and operators[1]: '{ast.operators[1].item_type}'.") + + + if type(ast.operators[0]) == BatchOp and ast.op_type in core.ast.arith_op.keys(): + # fuse operators0 into elementwise + if ast.item_type == 'vec' and ast.operators[0].item_type == ast.item_type: + # check if type of operator1 is vector + if ast.operators[0].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + + iloop.body.clear() + ast.operators[0].compute.clear() + if ast.item_type == 'scal' and ast.operators[0].item_type == ast.item_type: + # check if type of operator1 is scalar + if ast.operators[0].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + + iloop.body.clear() + ast.operators[0].compute.clear() + elif ast.item_type not in ['vec','scal']: + raise ValueError(f"Tensor shape are not the same. Expect ast as 'vec' or 'scal' but found '{ast.item_type}'.") + elif ast.operators[0].item_type not in ['vec','scal']: + raise ValueError(f"Tensor shape are not the same. Expect operators[0] as 'vec' or 'scal' but found '{ast.operators[0].item_type}'.") + elif ast.operators[0].item_type != ast.item_type: + raise ValueError(f"Tensor shape are not the same. Expect 'vec' or 'scal' but found ast: '{ast.item_type}' and operators[0]: '{ast.operators[0].item_type}'.") + +def fuse_bvv(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + fuse_bvv(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + fuse_bvv(ast.operators[0]) + else: + return + + if type(ast.operators[1]) == BatchOp and ast.op_type == 'vec_mul_vec': + # fuse operators1 into bvv + if ast.item_type == 'scal' and ast.operators[1].item_type == 'vec': + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[1].compute.clear() + elif ast.operators[1].item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect operators[1] as 'vec' but found '{ast.operators[1].item_type}'.") + + if type(ast.operators[0]) == BatchOp and ast.op_type == 'vec_mul_vec': + # fuse operators1 into bvv + if ast.item_type == 'scal' and ast.operators[0].item_type == 'vec': + # check if type of operator0 is vector + if ast.operators[0].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[0].compute.clear() + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect operators[0] as 'vec' but found '{ast.operators[0].item_type}'.") + +def fuse_bsv(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + fuse_bsv(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + fuse_bsv(ast.operators[0]) + else: + return + + if type(ast) == BatchOp and ast.op_type == 'scal_mul_vec': + # fuse operators into bsv + if ast.item_type == 'vec' and ast.operators[1].item_type == 'vec' and ast.operators[0].item_type == 'scal': + # check if type of operators are scal and vector + if ast.operators[1].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[1].compute.clear() + if ast.operators[0].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[0].compute.clear() + elif ast.operators[0].item_type != 'scal': + raise ValueError(f"Tensor type is wrong. Expect operators[0] as 'scal' but found '{ast.operators[0].item_type}'.") + elif ast.operators[1].item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect operators[1] as 'vec' but found '{ast.operators[0].item_type}'.") + elif ast.item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect ast node as 'vec' but found '{ast.item_type}'.") + +def fuse_bvm(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + fuse_bvm(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + fuse_bvm(ast.operators[0]) + else: + return + + if type(ast) == BatchOp and ast.op_type == 'vec_mul_mat': + # fuse operators1 into bov + if ast.item_type == 'vec' and ast.operators[0].item_type == 'vec' and ast.operators[1].item_type == 'mat': + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + oloop = outer_loop + iloop = loop + iter_o = [] + iter_i = [] + if (isinstance(oloop, Loop) and isinstance(iloop, Loop)) and oloop.start == iloop.start and oloop.end.__name__ == iloop.end.__name__ and oloop.step == iloop.step: + iter_i.append(iloop.iterate) + iter_o.append(oloop.iterate) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[1].compute.clear() + + if ast.operators[0].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop = outer_loop + iloop = loop + iter_o = [] + iter_i = [] + if (isinstance(oloop, Loop) and isinstance(iloop, Loop)) and oloop.start == iloop.start and oloop.end.__name__ == iloop.end.__name__ and oloop.step == iloop.step: + iter_i.append(iloop.iterate) + iter_o.append(oloop.iterate) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[0].compute.clear() + elif ast.item_type != 'vec': + raise ValueError(f"Tensor shape are not the same. Expect ast node type 'mat' but found '{ast.item_type}'.") + elif ast.operators[1].item_type != 'mat': + raise ValueError(f"Tensor shape are not the same. Expect ast.operators[1] node type 'mat' but found '{ast.operators[1].item_type}'.") + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor shape are not the same. Expect ast.operators[0] node type 'vec' but found '{ast.operators[1].item_type}'.") + +def fuse_bov(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + fuse_bov(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + fuse_bov(ast.operators[0]) + else: + return + + if type(ast.operators[1]) == BatchOp and ast.op_type == 'vec_outer_vec': + # fuse operators1 into bov + if ast.item_type == 'mat' and ast.operators[1].item_type == 'vec': + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[1].compute.clear() + elif ast.item_type != 'mat': + raise ValueError(f"Tensor shape are not the same. Expect ast node type 'mat' but found '{ast.item_type}'.") + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor shape are not the same. Expect ast.operators[1] node type 'vec' but found '{ast.operators[1].item_type}'.") + + + if type(ast.operators[0]) == BatchOp and ast.op_type == 'vec_outer_vec': + # fuse operators0 into bov + if ast.item_type == 'mat' and ast.operators[0].item_type == 'vec': + # check if type of operator0 is vector + if ast.operators[0].compute and ast.compute: + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + iloop.body.clear() + ast.operators[0].compute.clear() + elif ast.item_type != 'mat': + raise ValueError(f"Tensor shape are not the same. Expect ast node type 'mat' but found '{ast.item_type}'.") + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor shape are not the same. Expect ast.operators[0] node type 'vec' but found '{ast.operators[0].item_type}'.") + + + +def fuse_operators(ast): + + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + # print('op1:', ast.operators[1].op_type) + fuse_operators(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + # print('op0:', ast.operators[0].op_type) + fuse_operators(ast.operators[0]) + else: + return + + # if ast.op_type in core.ast.op_mapping.keys() and type(ast.operators[1]) == Batch and type(ast.operators[0]) == Batch: + # outer_loop = ast.compute[0] + # a = Scalar(ast.eval.dtype) + # pre_arr = ast.eval + # ast.decl.pop(0) + # ast.decl.append(Decl(a)) + # ast.eval = a + # outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + + if type(ast.operators[1]) == BatchOp and ast.op_type in core.ast.arith_op.keys(): + # fuse operators1 into elementwise + if ast.item_type == 'vec' and ast.operators[1].item_type == ast.item_type: + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + for i in ast.operators[1].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + loop_merge(outer_loop, loop) + if ast.operators[1].op_type in core.ast.arith_op.keys() or ast.operators[1].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[1].eval.dtype, val=0) + pre_arr = ast.operators[1].eval + ast.operators[1].decl.pop(0) + ast.operators[1].decl.append(Decl(a)) + ast.operators[1].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[1].compute.clear() + ast.operators[1].valid = False + ast.decl.extend(ast.operators[1].decl) + + elif ast.item_type == 'scal' and ast.operators[1].item_type == ast.item_type: + # check if type of operator1 is scalar + if ast.operators[1].compute and ast.compute: + for i in ast.operators[1].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + loop_merge(outer_loop, loop) + if ast.operators[1].op_type in core.ast.arith_op.keys() or ast.operators[1].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[1].eval.dtype, val=0) + pre_arr = ast.operators[1].eval + ast.operators[1].decl.pop(0) + ast.operators[1].decl.append(Decl(a)) + ast.operators[1].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[1].compute.clear() + ast.operators[1].valid = False + ast.decl.extend(ast.operators[1].decl) + elif ast.item_type not in ['vec', 'scal']: + raise ValueError(f"Tensor type is wrong. Expect ast as 'vec' or 'scal' but found '{ast.item_type}'.") + elif ast.operators[1].item_type not in ['vec', 'scal']: + raise ValueError(f"Tensor type is wrong. Expect operators[1] as 'vec' or 'scal' but found '{ast.operators[1].item_type}'.") + elif ast.operators[1].item_type != ast.item_type: + raise ValueError(f"Tensor shape are not the same. Expect 'vec' or 'scal' but found ast: '{ast.item_type}' and operators[1]: '{ast.operators[1].item_type}'.") + + + if type(ast.operators[0]) == BatchOp and ast.op_type in core.ast.arith_op.keys(): + # fuse operators0 into elementwise + if ast.item_type == 'vec' and ast.operators[0].item_type == ast.item_type: + # check if type of operator0 is vector + if ast.operators[0].compute and ast.compute: + for i in ast.operators[0].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + loop_merge(outer_loop, loop) + if ast.operators[0].op_type in core.ast.arith_op.keys() or ast.operators[0].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[0].eval.dtype, val=0) + pre_arr = ast.operators[0].eval + ast.operators[0].decl.pop(0) + ast.operators[0].decl.append(Decl(a)) + ast.operators[0].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[0].compute.clear() + ast.operators[0].valid = False + ast.decl.extend(ast.operators[0].decl) + + if ast.item_type == 'scal' and ast.operators[0].item_type == ast.item_type: + # check if type of operator1 is scalar + if ast.operators[0].compute and ast.compute: + for i in ast.operators[0].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + loop_merge(outer_loop, loop) + if ast.operators[0].op_type in core.ast.arith_op.keys() or ast.operators[0].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[0].eval.dtype, val=0) + pre_arr = ast.operators[0].eval + ast.operators[0].decl.pop(0) + ast.operators[0].decl.append(Decl(a)) + ast.operators[0].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[0].compute.clear() + ast.operators[0].valid = False + ast.decl.extend(ast.operators[0].decl) + + elif ast.item_type not in ['vec','scal']: + raise ValueError(f"Tensor shape are not the same. Expect ast as 'vec' or 'scal' but found '{ast.item_type}'.") + elif ast.operators[0].item_type not in ['vec','scal']: + raise ValueError(f"Tensor shape are not the same. Expect operators[0] as 'vec' or 'scal' but found '{ast.operators[0].item_type}'.") + elif ast.operators[0].item_type != ast.item_type: + raise ValueError(f"Tensor shape are not the same. Expect 'vec' or 'scal' but found ast: '{ast.item_type}' and operators[0]: '{ast.operators[0].item_type}'.") + + if type(ast.operators[1]) == BatchOp and ast.op_type == 'vec_mul_vec': + # fuse operators1 into bvv + if ast.item_type == 'scal' and ast.operators[1].item_type == 'vec': + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + for i in ast.operators[1].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + loop_merge(outer_loop, loop) + if ast.operators[1].op_type in core.ast.arith_op.keys() or ast.operators[1].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[1].eval.dtype) + pre_arr = ast.operators[1].eval + ast.operators[1].decl.pop(0) + ast.operators[1].decl.append(Decl(a)) + ast.operators[1].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[1].compute.clear() + ast.operators[1].valid = False + ast.decl.extend(ast.operators[1].decl) + + elif ast.operators[1].item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect operators[1] as 'vec' but found '{ast.operators[1].item_type}'.") + + + if type(ast.operators[0]) == BatchOp and ast.op_type == 'vec_mul_vec': + # fuse operators0 into bvv + if ast.item_type == 'scal' and ast.operators[0].item_type == 'vec': + # check if type of operator0 is vector + if ast.operators[0].compute and ast.compute: + for i in ast.operators[0].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + loop_merge(outer_loop, loop) + if ast.operators[0].op_type in core.ast.arith_op.keys() or ast.operators[0].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[0].eval.dtype) + pre_arr = ast.operators[0].eval + ast.operators[0].decl.pop(0) + ast.operators[0].decl.append(Decl(a)) + ast.operators[0].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[0].compute.clear() + ast.operators[0].valid = False + ast.decl.extend(ast.operators[0].decl) + + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect operators[0] as 'vec' but found '{ast.operators[0].item_type}'.") + + if type(ast) == BatchOp and ast.op_type == 'scal_mul_vec': + # fuse operators into bsv + if ast.item_type == 'vec' and ast.operators[1].item_type == 'vec' and ast.operators[0].item_type == 'scal': + # check if type of operators are scal and vector + if ast.operators[1].compute and ast.compute: + for i in ast.operators[1].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + + # oloop, iloop, iter_o, iter_i = get_same_loop(outer_loop, loop) + # for i in iloop.body: + # change_index(i, iter_o, iter_i) + # for i in range(len(iloop.body)): + # oloop.body.insert(i, iloop.body[i]) + # iloop.body.clear() + loop_merge(outer_loop, loop) + if ast.operators[1].op_type in core.ast.arith_op.keys() or ast.operators[1].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[1].eval.dtype) + pre_arr = ast.operators[1].eval + ast.operators[1].decl.pop(0) + ast.operators[1].decl.append(Decl(a)) + ast.operators[1].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[1].compute.clear() + ast.operators[1].eval = None + ast.decl.extend(ast.operators[1].decl) + + if ast.operators[0].compute and ast.compute: + for i in ast.operators[0].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + oloop = outer_loop + iloop = loop + iter_o = [] + iter_i = [] + if (isinstance(oloop, Loop) and isinstance(iloop, Loop)) and oloop.start == iloop.start and oloop.end.__name__ == iloop.end.__name__ and oloop.step == iloop.step: + iter_i.append(iloop.iterate) + iter_o.append(oloop.iterate) + if isinstance(iloop, Loop): + for i in iloop.body: + change_index(i, iter_o, iter_i) + + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + if ast.operators[0].op_type in core.ast.arith_op.keys() or ast.operators[0].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[0].eval.dtype) + pre_arr = ast.operators[0].eval + ast.operators[0].decl.pop(0) + ast.operators[0].decl.append(Decl(a)) + ast.operators[0].eval = a + oloop = swap_arr_to_reg(oloop, pre_arr, a) + # iloop.body.clear() + # ast.operators[0].compute.clear() + ast.operators[0].valid = False + ast.decl.extend(ast.operators[0].decl) + + elif ast.operators[0].item_type != 'scal': + raise ValueError(f"Tensor type is wrong. Expect operators[0] as 'scal' but found '{ast.operators[0].item_type}'.") + elif ast.operators[1].item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect operators[1] as 'vec' but found '{ast.operators[0].item_type}'.") + elif ast.item_type != 'vec': + raise ValueError(f"Tensor type is wrong. Expect ast node as 'vec' but found '{ast.item_type}'.") + + + # if type(ast) == BatchOp and ast.op_type == 'vec_mul_mat': + # # fuse operators1 into bvm + # if ast.item_type == 'vec' and ast.operators[0].item_type == 'vec' and ast.operators[1].item_type == 'mat': + # # check if type of operator1 is vector + # if ast.operators[1].compute and ast.compute: + # for i in ast.operators[1].compute: + # change_ref(i, ast) + # outer_loop = ast.compute[0] + # loop = ast.operators[1].compute[0] + # loop_merge(outer_loop, loop) + # # ast.operators[1].compute.clear() + # ast.operators[1].valid = False + # ast.decl.extend(ast.operators[1].decl) + + # if ast.operators[0].compute and ast.compute: + # print(ast.compute) + # for i in ast.compute: + # print('before:::', codegen.gpu.to_string(i)) + # ast.compute.extend(ast.operators[0].compute) + # for i in ast.compute: + # print('after:::', codegen.gpu.to_string(i)) + # ast.operators[0].valid = False + # for i in ast.operators[0].compute: + # change_ref(i, ast) + # outer_loop = ast.compute[0] + # loop = ast.operators[0].compute[0] + # oloop = outer_loop + # iloop = loop + # iter_o = [] + # iter_i = [] + + # while (isinstance(oloop, Loop) and isinstance(iloop, Loop)) and oloop.start == iloop.start and oloop.end.__name__ == iloop.end.__name__ and oloop.step == iloop.step: + # iter_i.append(iloop.iterate) + # iter_o.append(oloop.iterate) + # if isinstance(oloop.body[-1], Loop) and isinstance(iloop, Loop): + # oloop = oloop.body[-1].body[-1] + # iloop = iloop.body[-1] + # else: + # break + # for i in iloop.body: + # change_index(i, iter_o, iter_i) + # for i in range(len(iloop.body)): + # oloop.body.insert(i, iloop.body[i]) + # # ast.operators[0].compute.clear() + # ast.operators[0].valid = False + # ast.decl.extend(ast.operators[0].decl) + + # elif ast.item_type != 'vec': + # raise ValueError(f"Tensor shape are not the same. Expect ast node type 'mat' but found '{ast.item_type}'.") + # elif ast.operators[1].item_type != 'mat': + # raise ValueError(f"Tensor shape are not the same. Expect ast.operators[1] node type 'mat' but found '{ast.operators[1].item_type}'.") + # elif ast.operators[0].item_type != 'vec': + # raise ValueError(f"Tensor shape are not the same. Expect ast.operators[0] node type 'vec' but found '{ast.operators[1].item_type}'.") + + + if type(ast.operators[1]) == BatchOp and ast.op_type == 'vec_outer_vec': + # fuse operators1 into bov + if ast.item_type == 'mat' and ast.operators[1].item_type == 'vec': + # check if type of operator1 is vector + if ast.operators[1].compute and ast.compute: + for i in ast.operators[1].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[1].compute[0] + oloop = outer_loop + iloop = loop + iter_i = [] + iter_o = [] + while (isinstance(oloop, Loop) and isinstance(iloop, Loop)) and oloop.start == iloop.start and oloop.end.__name__ == iloop.end.__name__ and oloop.step == iloop.step: + iter_i.append(iloop.iterate) + iter_o.append(oloop.iterate) + if isinstance(oloop.body[-1], Loop) and isinstance(iloop, Loop): + oloop = oloop.body[-1].body[-1] + iloop = iloop.body[-1] + else: + break + for i in iloop.body: + change_index(i, iter_o, iter_i) + for i in range(len(iloop.body)): + oloop.body.insert(i, iloop.body[i]) + if ast.operators[1].op_type in core.ast.arith_op.keys() or ast.operators[1].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[1].eval.dtype) + pre_arr = ast.operators[1].eval + ast.operators[1].decl.pop(0) + ast.operators[1].decl.append(Decl(a)) + ast.operators[1].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[1].compute.clear() + ast.operators[1].valid = False + ast.decl.extend(ast.operators[1].decl) + + elif ast.item_type != 'mat': + raise ValueError(f"Tensor shape are not the same. Expect ast node type 'mat' but found '{ast.item_type}'.") + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor shape are not the same. Expect ast.operators[1] node type 'vec' but found '{ast.operators[1].item_type}'.") + + + if type(ast.operators[0]) == BatchOp and ast.op_type == 'vec_outer_vec': + # fuse operators0 into bov + if ast.item_type == 'mat' and ast.operators[0].item_type == 'vec': + # check if type of operator0 is vector + if ast.operators[0].compute and ast.compute: + for i in ast.operators[0].compute: + change_ref(i, ast) + outer_loop = ast.compute[0] + loop = ast.operators[0].compute[0] + + loop_merge(outer_loop, loop) + if ast.operators[0].op_type in core.ast.arith_op.keys() or ast.operators[0].op_type in ["scal_mul_vec", "vec_mul_vec"]: + a = Scalar(ast.operators[0].eval.dtype) + pre_arr = ast.operators[0].eval + ast.operators[0].decl.pop(0) + ast.operators[0].decl.append(Decl(a)) + ast.operators[0].eval = a + outer_loop = swap_arr_to_reg(outer_loop, pre_arr, a) + # ast.operators[0].compute.clear() + ast.operators[0].valid = False + ast.decl.extend(ast.operators[0].decl) + + elif ast.item_type != 'mat': + raise ValueError(f"Tensor shape are not the same. Expect ast node type 'mat' but found '{ast.item_type}'.") + elif ast.operators[0].item_type != 'vec': + raise ValueError(f"Tensor shape are not the same. Expect ast.operators[0] node type 'vec' but found '{ast.operators[0].item_type}'.") \ No newline at end of file diff --git a/batch/opt/ir.py b/batch/opt/ir.py new file mode 100644 index 0000000..08a43e6 --- /dev/null +++ b/batch/opt/ir.py @@ -0,0 +1,98 @@ +from core.ir import * + +class BlockIdy(IR): + def __init__(self): + super().__init__() + +class BlockIdx(IR): + def __init__(self): + super().__init__() + +class BlockDimy(IR): + def __init__(self): + super().__init__() + +class BlockDimx(IR): + def __init__(self): + super().__init__() + +class ThreadIdy(IR): + def __init__(self): + super().__init__() + +class ThreadIdx(IR): + def __init__(self): + super().__init__() + +class SyncThreads(IR): + def __init__(self): + super().__init__() + +class SyncWarps(IR): + def __init__(self): + super().__init__() + +class ShuffleDown(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class ShuffleUp(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class ShuffleXor(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class SaveAtThread(IR): + def __init__(self, src, dst, threadid): + super().__init__() + self.src = src + self.dst = dst + self.threadid = threadid + +class BroadCast(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class Shared(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class Uniq(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class Buffer(IR): + def __init__(self, dobject): + super().__init__() + self.dobject = dobject + +class IF(IR): + def __init__(self, left, condition: Expr, true_var, false_var): + super().__init__() + self.left = left + self.condition = condition + self.true_var = true_var + self.false_var = false_var + +class Pointer(DObject): + def __init__(self, dtype, size): + super().__init__(dtype, size) + self.__name__ = f'ptr{self.dobject_id}' + self.dtype = dtype + self.size = size + + def name(self): + return self.__name__ + +class Access_ptr(): + def __init__(self, dobject:Pointer, idx): + self.dobject = dobject + self.idx = idx \ No newline at end of file diff --git a/batch/opt/parallelism.py b/batch/opt/parallelism.py new file mode 100644 index 0000000..b932d34 --- /dev/null +++ b/batch/opt/parallelism.py @@ -0,0 +1,146 @@ +from core.ir import * +from batch.ast import * +from batch.ast2ir import * +import codegen +from batch.opt.ir import * +# for better optimization on GPU + +def swap_arr_to_reg(ir, pre, cur): + if isinstance(ir, Indexing): + temp = ir + while isinstance(temp, Indexing): + temp = temp.dobject + if temp == pre: + return cur + else: + return ir + elif isinstance(ir, Expr): + ir.left = swap_arr_to_reg(ir.left, pre, cur) + ir.right = swap_arr_to_reg(ir.right, pre, cur) + elif isinstance(ir, Assignment): + ir.lhs = swap_arr_to_reg(ir.lhs, pre, cur) + ir.rhs = swap_arr_to_reg(ir.rhs, pre, cur) + elif isinstance(ir, Loop): + for i in range(len(ir.body)): + ir.body[i] = swap_arr_to_reg(ir.body[i], pre, cur) + return ir + +def find_arr_ind(ir, pre): + if isinstance(ir, Indexing): + temp = ir + while isinstance(temp, Indexing): + temp = temp.dobject + if temp == pre: + return ir + else: + return None + elif isinstance(ir, Expr): + return Expr(find_arr_ind(ir.left, pre), find_arr_ind(ir.right, pre), ir.op) + elif isinstance(ir, Assignment): + return find_arr_ind(ir.lhs, pre) + elif isinstance(ir, Loop): + for i in ir.body: + t = find_arr_ind(i, pre) + if t: + return t + +def add_reduction(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + add_reduction(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + add_reduction(ast.operators[0]) + else: + return + + # todo: add traverse action to add reduction + if ast.op_type == 'vec_mul_vec': + # this inner_prod node is fused with upper layer + eval = ast.eval + # print(codegen.cpu.to_string(eval), codegen.cpu.to_string(ast.operators[0].eval), codegen.cpu.to_string(ast.operators[1].eval)) + # iff eval is scalar, we need to add shfl_sync + if not (isinstance(ast.operators[0].eval, Ndarray) or isinstance(ast.operators[1].eval, Ndarray)): + for i in ast.compute: + # search all compute stmts + if isinstance(i, Loop): + for j in i.body: + # search loop body + if isinstance(j, Loop): + # find the stmt of ast node + main_loop = j.astnode.compute + for idx, item in enumerate(main_loop): + if isinstance(item, Loop) and item == j: + main_loop.insert(idx+1, SyncThreads()) + main_loop.insert(idx+1, BroadCast(eval)) + main_loop.insert(idx+1, ShuffleDown(eval)) + + if isinstance(ast.eval, Ndarray): + new_compute = [] + for idx, item in enumerate(ast.compute): + new_compute.append(item) + if isinstance(item, Loop): + a = Scalar(ast.eval.dtype) + pre_arr = ast.eval + ast.decl.append(Decl(a)) + t = find_arr_ind(item, pre_arr) + + swap_arr_to_reg(item, pre_arr, a) + new_compute.append(ShuffleDown(a)) + new_compute.append(SaveAtThread(a, t, 0)) + ast.compute = new_compute + + +def cuda_spec(ast): + if ast.compute and ast.valid: + compute_list = [] + for body in ast.compute: + body_list = [] + if isinstance(body, Loop): + # print(body.iterate, body.iterate.dobject) + ast.decl.append(Decl(body.iterate)) + assign = Assignment(body.iterate, Expr(ThreadIdy(), Expr(BlockDimy(), BlockIdx(), '*'), '+')) + body_list.append(assign) + for item in body.body: + if isinstance(item, Loop) and item.step == 1: + item.start = ThreadIdx() + item.step = BlockDimx() + elif isinstance(item, Loop): + for j in item.body: + if isinstance(j, Loop) and j.step == 1: + j.start = ThreadIdx() + j.step = BlockDimx() + elif isinstance(j, Loop): + for k in j.body: + if isinstance(k, Loop) and k.step == 1: + k.start = ThreadIdx() + k.step = BlockDimx() + + body_list.append(item) + compute_list.extend(body_list) + ast.compute = compute_list + +def add_cuda_spec(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + add_cuda_spec(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + add_cuda_spec(ast.operators[0]) + else: + return + + cuda_spec(ast) + + +def parallel(ast): + + # print(ast, ast.op_type, ast.compute) + # for i in ast.compute: + # print(i, i.ast_ref, i.ast_ref.compute) + # print(ast.compute) + # for i in ast.compute: + # print(codegen.gpu.to_string(i)) + + add_cuda_spec(ast) + add_reduction(ast) + + \ No newline at end of file diff --git a/batch/opt/smem.py b/batch/opt/smem.py new file mode 100644 index 0000000..b3c30fd --- /dev/null +++ b/batch/opt/smem.py @@ -0,0 +1,365 @@ +from core.ir import * +from batch.ast import * +from batch.ast2ir import * +import codegen +from batch.opt.ir import * + +def find_reuse(ir, smem_list): + if isinstance(ir, Indexing): + # print(find_reuse(ir.dobject, smem_list), find_reuse(ir.idx, smem_list)) + temp = ir.dobject + shape_size = 0 + idx = [ir.idx] + while isinstance(temp, Indexing): + shape_size += 1 + + if isinstance(temp.idx, Indexing): + if temp.idx.dobject.name() == 'r': + data = get_ori_var(ir) + if data in smem_list.keys(): + smem_list[data].append([ir, shape_size, idx]) + else: + smem_list[data] = [[ir, shape_size, idx]] + idx.append(temp.idx) + temp = temp.dobject + + elif isinstance(ir, Assignment): + find_reuse(ir.lhs, smem_list) + find_reuse(ir.rhs, smem_list) + elif isinstance(ir, Expr): + find_reuse(ir.left, smem_list) + find_reuse(ir.right, smem_list) + elif isinstance(ir, Loop): + for i in ir.body: + find_reuse(i, smem_list) + +def get_ori_var(ir): + if isinstance(ir, Indexing): + return get_ori_var(ir.dobject) + elif isinstance(ir, Ndarray): + return ir + +def change_expridx(ir, var): + # if is expr, change right of expr as loop.iterate + if isinstance(ir, Indexing): + temp = ir + temp.idx = change_expridx(temp.idx, var) + temp = temp.dobject + elif isinstance(ir, Expr): + if ir.right != var and ir.op == '+': + ir.right = var + return ir + +def if_exist(ir, arr): + if isinstance(ir, Indexing): + if ir == arr: + return True + else: + return False + elif isinstance(ir, Assignment): + return if_exist(ir.lhs, arr) or if_exist(ir.rhs, arr) + elif isinstance(ir, Expr): + return if_exist(ir.left, arr) or if_exist(ir.right, arr) + elif isinstance(ir, Loop): + for i in ir.body: + t = if_exist(i, arr) + if t: + return t + return False + +def change_access(ir, ori, cur): + if isinstance(ir, Indexing): + if ir == ori: + return cur + elif isinstance(ir, Assignment): + ir.lhs = change_access(ir.lhs, ori, cur) + ir.rhs = change_access(ir.rhs, ori, cur) + elif isinstance(ir, Expr): + ir.left = change_access(ir.left, ori, cur) + ir.right = change_access(ir.right, ori, cur) + elif isinstance(ir, Loop): + for i in ir.body: + i = change_access(i, ori, cur) + return ir + +def data_loading(compute_ir, smem_arr, ori_arr): + decl = [] + if ori_arr.keys(): + for i in ori_arr[list(ori_arr.keys())[0]]: + indirect_arr = get_ori_var(i[2][-1]) + decl.append(Decl(Buffer(indirect_arr))) + decl.append(Decl(Uniq(indirect_arr))) + break + t = Scalar('int') + decl.append(Decl(t)) + bufidx = Indexing(Ndarray('int', [Scalar('int', 'batch_size/16'), Scalar('int', 'BlockDim.y')]), Literal(-1, 'int')) + bufidx.dobject = Buffer(indirect_arr) + bufidx.idx = ThreadIdy() + smtm1 = Assignment(t, bufidx) + + main_inequa = Expr(t, Scalar('int', 'C'), '<') + idx_var = Scalar('int') + decl.append(Decl(idx_var)) + idx_false = Indexing(indirect_arr, Literal(-1, 'int')) + idx_false.idx = Expr(t, Scalar('int', 'C'), '-') + idx = IF(idx_var, main_inequa, t, idx_false) + ptr_access = Scalar('int') + decl.append(Decl(ptr_access)) + set_ptr = IF(ptr_access, main_inequa, Scalar('int', 'D'), Scalar('int', 'dim')) + + compute_ir.insert(0, set_ptr) + compute_ir.insert(0, idx) + compute_ir.insert(0, smtm1) + for stmt in compute_ir: + if isinstance(stmt, Loop): + # data loading here + + for i in range(len(smem_arr)): + cur_arr = ori_arr[list(ori_arr.keys())[i]] + if len(smem_arr[i].size) == 2: + temp_stmt = stmt + + for iloop in stmt.body: + if isinstance(iloop, Loop) and isinstance(iloop.body[0], Loop): + if iloop.start == 0 and iloop.end.name() == 'dim' and isinstance(iloop.body[0].start, ThreadIdx) and iloop.body[0].end.name() == 'D': + temp_stmt = iloop + break + for shared_item in cur_arr: + flag = if_exist(temp_stmt, shared_item[0]) + if flag: + store_loop = Loop(Expr(Expr(ThreadIdy(), BlockDimx(), '*'), ThreadIdx(), '+'), Expr(Scalar('float', 'D'), Uniq(shared_item[2][-1].dobject), '*'), Expr(BlockDimx(), BlockDimy(), '*'), []) + + left = smem_arr[i] + left = Indexing(left, Literal(-1, 'int')) + left.idx = Expr(store_loop.iterate, Scalar('int', 'D'), '/') + left = Indexing(left, Literal(-1, 'int')) + left.idx = Expr(store_loop.iterate, Scalar('int', 'D'), '%') + + main_arr = get_ori_var(shared_item[0]) + indirect_arr = get_ori_var(shared_item[2][-1]) + uniq = Ndarray('int', [Scalar('int', 'batch_size/16'), Scalar('int', 'dim')], f'{indirect_arr.__name__}_Uniq') + uniq = Indexing(uniq, Literal(-1, 'int')) + uniq.idx = BlockIdx() + uniq = Indexing(uniq, Literal(-1, 'int')) + uniq.idx = Expr(store_loop.iterate, Scalar('int', 'D'), '/') + main_arr = Indexing(main_arr, Literal(-1, 'int')) + main_arr.idx = uniq + main_arr = Indexing(main_arr, Literal(-1, 'int')) + # main_arr.idx = shared_item[2][0] + main_arr.idx = Expr(temp_stmt.iterate, Expr(store_loop.iterate, Scalar('float', 'D'), '%'), '+') + assign = Assignment(left, main_arr, '') + store_loop.body.append(assign) + + + ptr = Pointer('float *', [Scalar('int', 'C'), ptr_access]) + pmat = IF(ptr, main_inequa, smem_arr[i], get_ori_var(shared_item[0])) + decl.append(Decl(ptr)) + + offset_1 = Scalar('int') + decl.append(Decl(offset_1)) + ofs1 = IF(offset_1, main_inequa, 0, stmt.iterate) + + access_var = Access_ptr(ptr, []) + access_var.idx.append(idx_var) + for kk in range(len(shared_item[2]) - 1): + shared_item[2][kk].left = offset_1 + access_var.idx.append(shared_item[2][kk]) + + stmt = change_access(stmt, shared_item[0], access_var) + + temp_stmt.body.insert(0, ofs1) + temp_stmt.body.insert(0, pmat) + + stmt.body.insert(0, SyncThreads()) + stmt.body.insert(0, store_loop) + elif len(smem_arr[i].size) == 3: + temp_stmt = stmt + + for iloop in stmt.body: + if isinstance(iloop, Loop) and isinstance(iloop.body[0], Loop): + if iloop.start == 0 and iloop.end.name() == 'dim' and isinstance(iloop.body[0].start, ThreadIdx) and iloop.body[0].end.name() == 'D': + temp_stmt = iloop + break + for shared_item in cur_arr: + flag = if_exist(temp_stmt, shared_item[0]) + # print(codegen.gpu.to_string(temp_stmt), codegen.gpu.to_string(shared_item[0])) + if flag: + oloop = Loop(0, 2, 1, []) + store_loop1 = Loop(ThreadIdy(), stmt.step, BlockDimy(), []) + store_loop2 = Loop(ThreadIdx(), stmt.step, BlockDimx(), []) + oloop.body.append(store_loop1) + store_loop1.body.append(store_loop2) + + left = smem_arr[i] + left = Indexing(left, oloop.iterate) + # left.idx = ThreadIdy() + left = Indexing(left, store_loop1.iterate) + left = Indexing(left, store_loop2.iterate) + + main_arr = get_ori_var(shared_item[0]) + indirect_arr = get_ori_var(shared_item[2][-1]) + uniq = Ndarray('int', [Scalar('int', 'batch_size/16'), Scalar('int', 'dim')], f'{indirect_arr.__name__}_Uniq') + uniq = Indexing(uniq, Literal(-1, 'int')) + uniq.idx = BlockIdx() + uniq = Indexing(uniq, oloop.iterate) + # uniq.idx = ThreadIdy() + main_arr = Indexing(main_arr, Literal(-1, 'int')) + main_arr.idx = uniq + main_arr = Indexing(main_arr, Literal(-1, 'int')) + main_arr.idx = Expr(shared_item[2][1].left, store_loop1.iterate, '+') + main_arr = Indexing(main_arr, Literal(-1, 'int')) + main_arr.idx = Expr(shared_item[2][0].left, store_loop2.iterate, '+') + assign = Assignment(left, main_arr, '') + store_loop2.body.append(assign) + + + ptr = Pointer('float *', [Scalar('int', 'C'), ptr_access, ptr_access]) + decl.append(Decl(ptr)) + pmat = IF(ptr, main_inequa, smem_arr[i], get_ori_var(shared_item[0])) + + offset_1 = Scalar('int') + decl.append(Decl(offset_1)) + ofs1 = IF(offset_1, main_inequa, 0, stmt.iterate) + offset_2 = Scalar('int') + decl.append(Decl(offset_2)) + ofs2 = IF(offset_2, main_inequa, 0, temp_stmt.iterate) + + access_var = Access_ptr(ptr, []) + access_var.idx.append(idx_var) + shared_item[2][1].left = offset_2 + access_var.idx.append(shared_item[2][1]) + shared_item[2][0].left = offset_1 + access_var.idx.append(shared_item[2][0]) + + stmt = change_access(stmt, shared_item[0],access_var) + + temp_stmt.body.insert(0, ofs2) + temp_stmt.body.insert(0, ofs1) + temp_stmt.body.insert(0, pmat) + + temp_stmt.body.insert(0, SyncThreads()) + temp_stmt.body.insert(0, oloop) + return decl + +def swap_arr_to_reg(ir, pre, cur): + if isinstance(ir, Indexing): + # todo: add index here + if ir == pre[0]: + temp = Indexing(cur, Literal(-1, 'int')) + # temp.idx = Scalar('int', 'idx') + for i in range(pre[1]): + temp = Indexing(temp, Literal(-1, 'int')) + if isinstance(pre[2][-2-i], Expr): + # pre[2][-2-i].left = f'ofs_{i+1}' + temp.idx = pre[2][-2-i].right + else: + temp.idx = pre[2][-2-i] + return temp + else: + return ir + elif isinstance(ir, Expr): + ir.left = swap_arr_to_reg(ir.left, pre, cur) + ir.right = swap_arr_to_reg(ir.right, pre, cur) + elif isinstance(ir, Assignment): + ir.lhs = swap_arr_to_reg(ir.lhs, pre, cur) + ir.rhs = swap_arr_to_reg(ir.rhs, pre, cur) + elif isinstance(ir, Loop): + for i in range(len(ir.body)): + ir.body[i] = swap_arr_to_reg(ir.body[i], pre, cur) + return ir + +def if_in_ir(ir, arr, smem_dict): + if isinstance(ir, Indexing): + temp = ir + while isinstance(temp, Indexing): + if temp.dobject == arr: + if temp.dobject in smem_dict.keys(): + smem_dict[temp.dobject].append(ir) + else: + smem_dict[temp.dobject] = [ir] + return True + temp = temp.dobject + elif isinstance(ir, Assignment): + return if_in_ir(ir.lhs, arr, smem_dict) or if_in_ir(ir.rhs, arr, smem_dict) + elif isinstance(ir, Expr): + return if_in_ir(ir.left, arr, smem_dict) or if_in_ir(ir.right, arr, smem_dict) + elif isinstance(ir, Loop): + bool_list = [] + for i in ir.body: + t = if_in_ir(i, arr, smem_dict) + bool_list.append(t) + for i in bool_list: + if i: + return True + return False + + + +def add_smem(ast): + + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + add_smem(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + add_smem(ast.operators[0]) + + if type(ast) == BatchOp and ast.valid: + + var_list = {} + smem_list = [] + for i in ast.compute: + find_reuse(i, var_list) + + # for i in var_list.keys(): + # t = get_ori_var(var_list[i][0][0]) + # print('var_list::', codegen.gpu.to_string(var_list[i][0][0]), var_list[i][0][1], codegen.gpu.to_string(t), t, i) + # for j in var_list[i][0][2]: + # print(codegen.gpu.to_string(j)) + for i in var_list: + size = [Scalar('int', 'C')] + for s in range(var_list[i][0][1]): + size.append(Scalar('int', 'D')) + smema = Ndarray('float', size, f'smem_{i.dobject_id}') + smem_list.append(smema) + ast.decl.append(Decl(Shared(smema))) + + decl = data_loading(ast.compute, smem_list, var_list) + ast.decl.extend(decl) + + if type(ast) == BatchOp and not ast.valid and isinstance(ast.eval, Ndarray): + node = ast.compute[0].astnode + ir_dict = {} + smem_list = [] + for i in node.compute: + if if_in_ir(i, ast.eval, ir_dict): + smema = Ndarray('float', [Scalar('int', 'C'), Scalar('int', 'D')], f'smem_{ast.eval.dobject_id}') + smem_list.append(smema) + node.decl.append(Decl(Shared(smema))) + for i in node.decl: + if i.dobject == ast.eval: + node.decl.remove(i) + + for i in range(len(list(ir_dict.keys()))): + key = list(ir_dict.keys())[i] + smem_idx_list = [] + # print(key, codegen.gpu.to_string(key), smem_list[i], codegen.gpu.to_string(smem_list[i])) + for j in ir_dict[key]: + # print('smemlist:::', codegen.gpu.to_string(j)) + idx_list = [] + temp = j + while isinstance(temp, Indexing): + idx_list.append(temp.idx) + temp = temp.dobject + idx_list = idx_list[::-1] + newsmem = smem_list[i] + for kk in range(len(idx_list)): + newsmem = Indexing(newsmem, Literal(-1, 'int')) + if isinstance(idx_list[kk], Scalar): + newsmem.idx = ThreadIdy() + elif isinstance(idx_list[kk], Expr): + newsmem.idx = idx_list[kk].right + smem_idx_list.append(newsmem) + for j in node.compute: + for idx in range(len(smem_idx_list)): + j = change_access(j, ir_dict[key][idx], smem_idx_list[idx]) + \ No newline at end of file diff --git a/batch/opt/tiling.py b/batch/opt/tiling.py new file mode 100644 index 0000000..688de65 --- /dev/null +++ b/batch/opt/tiling.py @@ -0,0 +1,165 @@ +from core.ir import * +from batch.ast import * +from batch.ast2ir import * +import codegen +from batch.opt.ir import * + +def swap_arr_to_reg(ir, pre, cur): + # print(codegen.gpu.to_string(ir), codegen.gpu.to_string(pre), codegen.gpu.to_string(cur)) + if isinstance(ir, Indexing): + temp = ir + while isinstance(temp, Indexing): + # print(codegen.gpu.to_string(temp), codegen.gpu.to_string(temp.idx)) + if temp.idx == pre: + temp.idx = Expr(pre, cur, '+') + temp = temp.dobject + elif isinstance(ir, Expr): + ir.left = swap_arr_to_reg(ir.left, pre, cur) + ir.right = swap_arr_to_reg(ir.right, pre, cur) + elif isinstance(ir, Assignment): + ir.lhs = swap_arr_to_reg(ir.lhs, pre, cur) + ir.rhs = swap_arr_to_reg(ir.rhs, pre, cur) + elif isinstance(ir, Loop): + for i in range(len(ir.body)): + ir.body[i] = swap_arr_to_reg(ir.body[i], pre, cur) + return ir + +def tile_wD(ir): + if isinstance(ir, Loop): + if ir.end.name() == 'dim': + scalar_D = Scalar('int', 'D') + tbody = ir.body + ir.step = scalar_D + new_loop = Loop(0, scalar_D, 1,[]) + for i in range(len(tbody)): + # tile_wD(tbody[i]) + tbody[i] = swap_arr_to_reg(tbody[i], ir.iterate, new_loop.iterate) + new_loop.body.extend(tbody) + # iloops.append(new_loop) + ir.body = [new_loop] + return ir + +def recursive_tile(ir): + if isinstance(ir, Loop): + ir = tile_wD(ir) + for i in range(len(ir.body)): + ir.body[i] = recursive_tile(ir.body[i]) + + return ir + +def tile_loops(ir, tile_list): + if isinstance(ir, Loop) and ir.end.name() == 'dim': + scalar_D = Scalar('int', 'D') + ir.step = scalar_D + new_loop = Loop(0, scalar_D, 1,[]) + tile_list.append(ir) + for i in range(len(ir.body)): + ir.body[i] = tile_loops(ir.body[i], tile_list) + return ir + +def swap_loops_tile(ir): + if isinstance(ir, Loop): + # print('oloop and iloop:', codegen.gpu.to_string(oloop), codegen.gpu.to_string(iloop)) + temp = ir + + # while isinstance(temp, Loop) and temp.end.name() != 'dim': + + # temp = temp.body[0] + for i in range(len(ir.body)): + # print(ir.body[i], codegen.gpu.to_string(ir.body[i])) + if isinstance(ir.body[i], Loop) and ir.body[i].end.name() != 'dim': + # print(ir.body[i], codegen.gpu.to_string(ir.body[i])) + ir.body[i] = swap_loops_tile(ir.body[i]) + + elif isinstance(ir.body[i], Loop) and ir.body[i].end.name() == 'dim': + # print(ir.body[i], codegen.gpu.to_string(ir.body[i])) + tile_list = [] + temp = ir.body[i] + tile_loops(temp, tile_list) + # print(temp, tile_list, codegen.gpu.to_string(temp), codegen.gpu.to_string(tile_list[-1])) + # print(codegen.gpu.to_string(tile_list[0])) + # print(tile_list) + multi_lv_loop = {} + for lidx in range(len(tile_list)): + t = tile_list[lidx] + # add tiled loop here + scalar_D = Scalar('int', 'D') + new_loop = Loop(0, scalar_D, 1,[]) + temp_body = [] + for k in range(len(t.body)): + item = t.body[k] + if isinstance(item, Loop) and item.end.name() == 'dim': + if new_loop.body != []: + # add new_tiled loop and create a new one + temp_body.append(new_loop) + new_loop = Loop(0, scalar_D, 1,[]) + + if item in multi_lv_loop.keys(): + multi_lv_loop[item].append([multi_lv_loop[item][-1][0]+1, t]) + else: + multi_lv_loop[item] = [[1, t]] + temp_body.append(item) + elif t in multi_lv_loop.keys(): + oloop = Loop(0, scalar_D, 1,[]) + for jj in range(len(t.body)): + t.body[jj] = swap_arr_to_reg(t.body[jj], multi_lv_loop[t][0][1].iterate, oloop.iterate) + loop1 = oloop + for i in range(len(multi_lv_loop[t])): + tloop = Loop(0, scalar_D, 1,[]) + loop1.body.append(tloop) + if i+1 < len(multi_lv_loop[t]): + for jj in range(len(t.body)): + t.body[jj] = swap_arr_to_reg(t.body[jj], multi_lv_loop[t][i+1][1].iterate, tloop.iterate) + loop1 = tloop + for jj in range(len(t.body)): + t.body[jj] = swap_arr_to_reg(t.body[jj], t.iterate, tloop.iterate) + # print('...............', oloop, codegen.gpu.to_string(tloop), codegen.gpu.to_string(t)) + tloop.body = t.body + temp_body.append(oloop) + else: + # add tiled loop here + item = swap_arr_to_reg(item, t.iterate, new_loop.iterate) + new_loop.body.append(item) + if new_loop.body != []: + temp_body.append(new_loop) + tile_list[lidx].body = temp_body + # while isinstance(temp, Loop) and temp.end.name() == 'dim': + # scalar_D = Scalar('int', 'D') + # temp.step = scalar_D + # new_loop = Loop(0, scalar_D, 1,[]) + # tile_list.append([new_loop, temp.iterate]) + # if not isinstance(temp.body[0], Loop): + # oloop = temp + + # new_loop2 = Loop(0, scalar_D, 1,[]) + # if len(temp.body) > 1: + # for oidx in range(1, len(temp.body)): + # swap_arr_to_reg(temp.body[oidx], temp.iterate, new_loop2.iterate) + # new_loop2.body.append(temp.body[oidx]) + # tbody = [temp.body[0], new_loop2] + # temp.body = tbody + # temp = temp.body[0] + # # temp is assign, oloop is outloop of it + # print('tile list len:', tile_list) + # for i in range(len(tile_list)): + # oloop.body = [tile_list[i][0]] + # temp = swap_arr_to_reg(temp, tile_list[i][1], tile_list[i][0].iterate) + # oloop = oloop.body[0] + # oloop.body = [temp] + return ir + +def tile_loop(ast): + if type(ast) == BatchOp: + if type(ast.operators[1]) == BatchOp: + tile_loop(ast.operators[1]) + if type(ast.operators[0]) == BatchOp: + tile_loop(ast.operators[0]) + else: + return + + if ast.compute and ast.valid: + # print(ast.compute[0], codegen.gpu.to_string(ast.compute[0])) + for i in ast.compute: + # recursive_tile(i) + t = swap_loops_tile(i) + # print(codegen.gpu.to_string(t)) \ No newline at end of file diff --git a/batch/test/__init__.py b/batch/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/batch/test/kge.py b/batch/test/kge.py new file mode 100644 index 0000000..4ee9d8c --- /dev/null +++ b/batch/test/kge.py @@ -0,0 +1,258 @@ +import sys +from codegen import * +from batch.ast import * +import run +import torch +import batch.opt as opt + +def transE(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Eemb[h] + vt = Eemb[t] + vr = Remb[r] + + res = vh - vt + vr + + code = codegen.cpu.print_cpp(res._gen_ir()) + + # ast = res._gen_ir() + # transform.fusion_rules.fuse_operators(ast) + # transform.parallelism.parallel(ast) + # transform.smem.add_smem(ast) + # code = codegen.gpu.print_cuda(ast) + print(code) + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512)).cuda(0) + + # y = eemb[h] - eemb[t] + remb[r] + # print(y) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h,t, 0, remb, r) + + # print(x) + +def transH(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + Pemb = Tensor('Pemb', (nedges, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Batch(Eemb[h]) + vt = Batch(Eemb[t]) + vr = Batch(Remb[r]) + vp = Batch(Pemb[r]) + + res = vh - vt + vr - bsv(bvv(vp, vh - vt), vp) + + # code = codegen.cpu.print_cpp(res._gen_ir()) + ast = res._gen_ir() + fuse_operators(ast) + tile_loop(ast) + parallel(ast) + add_smem(ast) + # code = codegen.cpu.print_cpp(ast) + code = codegen.gpu.print_cuda(ast) + print(code) + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512)).cuda(0) + # pemb = torch.rand((100, 512)).cuda(0) + + # y = eemb[h] + remb[r] - eemb[t] - torch.einsum('a,ab->ab', torch.einsum('ab,ab->a', pemb[r], eemb[h]-eemb[t]), pemb[r]) + # print(y) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h,t, 0, remb, r, pemb) + # print(x) + + +def transR(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + Proj = Tensor('Proj', (nedges, dim, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Batch(Eemb[h]) + vt = Batch(Eemb[t]) + mr = Batch(Proj[r]) + vr = Batch(Remb[r]) + + res = bvm(vh -vt, mr) + vr + + code = codegen.cpu.print_cpp(res._gen_ir()) + + ast = res._gen_ir() + fuse_operators(ast) + # todo decouple operators + tile_loop(ast) + parallel(ast) + # add_smem(ast) + # code = codegen.cpu.print_cpp(ast) + code = codegen.gpu.print_cuda(ast) + print(code) + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512)).cuda(0) + # pemb = torch.rand((100, 512, 512)).cuda(0) + + # y = torch.einsum('ab,abc->ac', eemb[h] - eemb[t], pemb[r]) + remb[r] + # print(y) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h,t, 0, pemb, r, remb) + # print(x) + + +def transF(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Batch(Eemb[h]) + vt = Batch(Eemb[t]) + vr = Batch(Remb[r]) + + alpha = Const(val=2, dtype='float') + alpha = Batch(alpha) + # alpha = 2 + + res = bvv(vh, vt) - bvv(vh - vt, vr) + + code = codegen.cpu.print_cpp(res._gen_ir()) + ast = res._gen_ir() + fuse_operators(ast) + tile_loop(ast) + parallel(ast) + add_smem(ast) + code = codegen.gpu.print_cuda(ast) + print(code) + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512)).cuda(0) + + # y = torch.einsum('ab,ab->a', eemb[h], eemb[t]) - torch.einsum('ab,ab->a',(eemb[h] - eemb[t]), remb[r]) + # print(y) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h,t, 0, remb, r) + # print(x) + +def RESCAL(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Proj = Tensor('Proj', (nedges, dim, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Batch(Eemb[h]) + vt = Batch(Eemb[t]) + mr = Batch(Proj[r]) + + res = bvv(bvm(vh, mr), vt) + + code = codegen.cpu.print_cpp(res._gen_ir()) + + ast = res._gen_ir() + + fuse_operators(ast) + tile_loop(ast) + parallel(ast) + add_smem(ast) + # traversal call funcs to transform ir + # code = codegen.cpu.print_cpp(ast) + code = codegen.gpu.print_cuda(ast) + print(code) + + # h = torch.randint(0, 9999, (4096, )).cuda(0) + # r = torch.randint(0, 100, (4096, )).cuda(0) + # t = torch.randint(0, 9999, (4096, )).cuda(0) + # eemb = torch.rand((9999, 512)).cuda(0) + # remb = torch.rand((100, 512, 512)).cuda(0) + + # y = torch.einsum('ab,ab->a', torch.einsum('ab,abc->ac', eemb[h], remb[r]), eemb[t]) + # print(y, y.shape) + + # x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h, 0, remb, r, t) + # print(x) + +def test(): + nnodes = Var('nnodes') + nedges = Var('nedges') + dim = Var('dim') + batch_size = Var('batch_size') + Eemb = Tensor('Eemb', (nnodes, dim)) + Remb = Tensor('Remb', (nedges, dim)) + Proj = Tensor('Proj', (nedges, dim, dim)) + h = Tensor('h', (batch_size, ), dtype='int') + t = Tensor('t', (batch_size, ), dtype='int') + r = Tensor('r', (batch_size, ), dtype='int') + vh = Batch(Eemb[h]) + vt = Batch(Eemb[t]) + vr = Batch(Remb[r]) + vrr = Batch(Remb[r]) + proj_m = Batch(Proj[r]) + proj_h = Batch(Proj[h]) + + # res = vh - vt + vr - vrr + res = bov(vh+vr, vt-vr) + + # code = codegen.cpu.print_cpp(res._gen_ir()) + # print(code) + ast = res._gen_ir() + fuse_operators(ast) + parallel(ast) + + code = codegen.gpu.print_cuda(ast) + print(code) + h = torch.randint(0, 9999, (4096, )).cuda(0) + r = torch.randint(0, 100, (4096, )).cuda(0) + t = torch.randint(0, 9999, (4096, )).cuda(0) + eemb = torch.rand((9999, 512)).cuda(0) + remb = torch.rand((100, 512)).cuda(0) + + y = torch.einsum('ab,ac->abc', eemb[h] + remb[r], eemb[t] - remb[r]) + print(y) + + x = run.gpu.compile_and_run(code, 4096, 512, 0, eemb, h, 0, remb, r, t) + print(x) + +if __name__ == "__main__": + # test() # bov success + transE() # success + # transH() # success + # transR() # success + # transF() # success + # RESCAL() # success + \ No newline at end of file diff --git a/codegen/__init__.py b/codegen/__init__.py index e17f831..8ce2dba 100644 --- a/codegen/__init__.py +++ b/codegen/__init__.py @@ -1 +1,5 @@ -from codegen import cpu \ No newline at end of file +import codegen.cpu +import codegen.gpu +import codegen.oob +import codegen.tensorize +import codegen.pytorch \ No newline at end of file diff --git a/codegen/__pycache__/__init__.cpython-311.pyc b/codegen/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 2a71b1d..0000000 Binary files a/codegen/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/codegen/__pycache__/cpu.cpython-311.pyc b/codegen/__pycache__/cpu.cpython-311.pyc deleted file mode 100644 index 83d078b..0000000 Binary files a/codegen/__pycache__/cpu.cpython-311.pyc and /dev/null differ diff --git a/codegen/cpp_template.cpp b/codegen/cpp_template.txt similarity index 100% rename from codegen/cpp_template.cpp rename to codegen/cpp_template.txt diff --git a/codegen/cpu.py b/codegen/cpu.py index 9f8c6c5..b66fba4 100644 --- a/codegen/cpu.py +++ b/codegen/cpu.py @@ -1,19 +1,32 @@ -from core.ast2ir import * -from core import helpers -from ext.set import * +from cset.ast2ir import * +from helpers import collect_ir, get_input_nodes +import random +import string +from codegen.oob import lower_bound_padding +import os def to_string(ir): match ir.__class__.__name__: case 'Expr': - return to_string(ir.left) + f" {ir.op} " + to_string(ir.right) + if ir.op in arith_op.values(): + return f"({to_string(ir.left)}" + f" {ir.op} " + f"{to_string(ir.right)})" + elif ir.op == 'bigger': + return f"({to_string(ir.left)} > {to_string(ir.right)} ? ({to_string(ir.left)}) : ({to_string(ir.right)}))" + elif ir.op == 'smaller': + return f"({to_string(ir.left)} < {to_string(ir.right)} ? ({to_string(ir.left)}) : ({to_string(ir.right)}))" + else: + return f"({to_string(ir.left)}" + f" {ir.op} " + f"{to_string(ir.right)})" case 'Assignment': if ir.op is None: return f"{to_string(ir.lhs)} = {to_string(ir.rhs)};\n" else: return f"{to_string(ir.lhs)} {ir.op}= {to_string(ir.rhs)};\n" case 'Loop': - code = f"for (int {to_string(ir.iterate)} = {to_string(ir.start)}; {to_string(ir.iterate)} < {to_string(ir.end)}; {to_string(ir.iterate)} += {to_string(ir.step)}) {{\n" + code = '' + if ir.attr['ptype'] == 'naive' and 'plevel' in ir.attr and 'nprocs' in ir.attr: + code += f"#pragma omp parallel for num_threads({ir.attr['nprocs'][ir.attr['plevel']][0]})\n" + code += f"for (int {to_string(ir.iterate)} = {to_string(ir.start)}; {to_string(ir.iterate)} < {to_string(ir.end)}; {to_string(ir.iterate)} += {to_string(ir.step)}) {{\n" for e in ir.body: if e: code += to_string(e) @@ -21,73 +34,90 @@ def to_string(ir): return code case 'Scalar' | 'Ndarray' | 'Ref': return ir.name() - case 'Index': - assert ir.index != None - if ir.ind_arr != None: - if type(ir.ind_arr) == Slice: - return f'{to_string(ir.dobject)}[(({to_string(ir.ind_arr.start)})+({to_string(ir.ind_arr.step)})*({to_string(ir.index)}))]' + case 'Literal': + return str(ir.val) + case 'Indexing': + if type(ir.dobject) == Slice: + if ir.dobject.step == 1 or (type(ir.dobject.step) == Literal and ir.dobject.step.val == 1): + if ir.dobject.start == 0 or (type(ir.dobject.start) == Literal and ir.dobject.start.val == 0): + return f'({to_string(ir.idx)})' + else: + return f'(({to_string(ir.dobject.start)})+({to_string(ir.idx)}))' else: - return f'{to_string(ir.dobject)}[{to_string(ir.ind_arr[to_string(ir.index)])}]' + if ir.dobject.start == 0 or (type(ir.dobject.start) == Literal and ir.dobject.start.val == 0): + return f'(({to_string(ir.dobject.step)})*({to_string(ir.idx)}))' + else: + return f'(({to_string(ir.dobject.start)})+({to_string(ir.dobject.step)})*({to_string(ir.idx)}))' else: - return f'{to_string(ir.dobject)}[{to_string(ir.index)}]' + return f'{to_string(ir.dobject)}[{to_string(ir.idx)}]' case 'Decl': # variables are passed in as pytorch arguments if type(ir.dobject) == Scalar: if not ir.dobject.is_arg: - # it is a zero or one - if ir.dobject.val != None: - return f"{ir.dobject.dtype} {ir.dobject.name()} = {to_string(ir.dobject.val)};\n" - else: - return f"{ir.dobject.dtype} {ir.dobject.name()};\n" + return f"{ir.dobject.dtype} {ir.dobject.name()};\n" else: return '' elif type(ir.dobject) == Ndarray: code = '' if not ir.dobject.is_arg: - if ir.dobject.val != None: - code = f'torch::Tensor obj_{ir.dobject.name()} = torch::{"ones" if ir.dobject.val == 1 else "zeros"}({{{",".join([to_string(s) for s in ir.dobject.size])}}}, at::k{"Int" if ir.dobject.dtype=="int" else "Float"});\n' - else: - code = f'torch::Tensor obj_{ir.dobject.name()} = torch::empty({{{",".join([to_string(s) for s in ir.dobject.size])}}}, at::k{"Int" if ir.dobject.dtype=="int" else "Float"});\n' - + code = f'torch::Tensor obj_{ir.dobject.name()} = torch::empty({{{",".join([to_string(s) for s in ir.dobject.size])}}}, at::k{"Int" if ir.dobject.dtype=="int" else "Float"});\n' code += f'auto {ir.dobject.name()} = obj_{ir.dobject.name()}.accessor<{ir.dobject.dtype}, {len(ir.dobject.size)}>();\n' return code - elif type(ir.dobject) == Ref: - code = f'{ir.dobject.dobject.dtype}* {ir.dobject.name()} = ({ir.dobject.dobject.dtype}*)&{ir.dobject.dobject.addr()}' - return code + case 'Math': + return f"{ir.type}({to_string(ir.val)})" + case 'Code': + code = ir.code + for kw in ir.keywords: + code = code.replace(kw, to_string(ir.keywords[kw])) + return code + '\n' + + #cset extension + case 'FilterLoop': + code = f"for (int {to_string(ir.iterate)} = {to_string(ir.start)}; {to_string(ir.iterate)} < {to_string(ir.end)}; {to_string(ir.iterate)} += {to_string(ir.step)}) {{\n" + for e in ir.body: + if e: + code += to_string(e) + if ir.cond: + code += f"if({to_string(ir.cond)}){{\n" + for e in ir.cond_body: + if e: + code += to_string(e) + code += "} \n" + code += "} \n" + return code + case 'Not': + return f"!{to_string(ir.dobject)}" + case 'BinarySearch': + code = f"BinarySearch({to_string(ir.dobject)}, {to_string(ir.start)}, {to_string(ir.end)}, {to_string(ir.item)})" + return code case _: return str(ir) -def gen_cpp(ast): - code = '' - def action(node, res): - if type(node) == Var or type(node) == One or type(node) == Zero or type(node) == Ones or type(node) == Zeros or type(node) == Tensor or type(node) == Set: - res.extend(node.decl) - elif type(node) == TensorOp: - res.extend(node.decl) - res.extend(node.compute) - - t = helpers.Traversal(action) - ir = t(ast) +def print_cpp(asg): + ir = [] + lower_bound_padding(asg) - args = helpers.get_input_nodes(ast) + collect_ir(asg, ir) + args = get_input_nodes(asg) args = ', '.join([f'torch::Tensor obj_{a}' if type(args[a]) == Tensor else f'{args[a].dtype} {a}' for a in args]) + code = '' for d in ir: if d: code += to_string(d) - if type(ast.eval) == Scalar: - rtype = ast.dtype - code += f'return {ast.eval.name()};\n' - elif type(ast.eval) == Ndarray: + if type(asg.eval) == Scalar: + rtype = asg.dtype + code += f'return {asg.eval.name()};\n' + elif type(asg.eval) == Ndarray: rtype = 'torch::Tensor' - code += f'return obj_{ast.eval.name()};\n' + code += f'return obj_{asg.eval.name()};\n' else: - raise TypeError('wrong output type') + raise TypeError('wrong output type', asg.eval) - with open('codegen/cpp_template.cpp', 'r') as f: + with open(f'{os.path.dirname(__file__)}/cpp_template.txt', 'r') as f: c_code = f.read() - c_code = c_code.replace('RTYPE', rtype).replace('FNAME', ast.name).replace('ARGS', args).replace('CODE', code) - return c_code \ No newline at end of file + c_code = c_code.replace('RTYPE', rtype).replace('FNAME', asg.name[:24] + ''.join(random.choices(string.ascii_lowercase, k=8))).replace('ARGS', args).replace('CODE', code) + return c_code diff --git a/codegen/gpu.py b/codegen/gpu.py new file mode 100644 index 0000000..bfa8c81 --- /dev/null +++ b/codegen/gpu.py @@ -0,0 +1,179 @@ +from core.asg2ir import * +import helpers +import batch +from batch.opt.ir import * +from codegen.gpu_instructionsets import * + +def to_string(ir): + match ir.__class__.__name__: + case 'Expr': + return f"({to_string(ir.left)}" + f" {ir.op} " + f"{to_string(ir.right)})" + case 'Assignment': + if ir.op is None: + return f"{to_string(ir.lhs)} = {to_string(ir.rhs)};\n" + else: + return f"{to_string(ir.lhs)} {ir.op}= {to_string(ir.rhs)};\n" + case 'Loop': + code = f"for (int {to_string(ir.iterate)} = {to_string(ir.start)}; {to_string(ir.iterate)} < {to_string(ir.end)}; {to_string(ir.iterate)} += {to_string(ir.step)}) {{\n" + # print(ir, ir.body, to_string(ir.body)) + for e in ir.body: + if e: + code += to_string(e) + code += "} \n" + return code + case 'Scalar' | 'Ndarray' | 'Ref': + return ir.name() + case 'Literal': + return str(ir.val) + case 'Indexing': + if type(ir.dobject) == Slice: + return f'(({to_string(ir.dobject.start)})+({to_string(ir.dobject.step)})*({to_string(ir.idx)}))' + # elif type(ir.dobject) == Pointer: + # code = f'{to_string(ir.dobject)}[' + # for i in range(len(ir.dobject.dims)): + # code += f'{to_string(ir.idx)}*{to_string(ir.dobject.dims[i])}' + # if i 0; off >>= 1) {{\n {to_string(ir.dobject)} += __shfl_down_sync(0xffffffff, {to_string(ir.dobject)}, off); \n}}\n' + case 'ShuffleUp': + return f'for (int off = blockDim.x/2; off > 0; off >>= 1) {{\n {to_string(ir.dobject)} += __shfl_up_sync(0xffffffff, {to_string(ir.dobject)}, off); \n}}\n' + case 'ShuffleXor': + return f'for (int off = blockDim.x/2; off > 0; off >>= 1) {{\n {to_string(ir.dobject)} += __shfl_xor_sync(0xffffffff, {to_string(ir.dobject)}, off); \n}}\n' + case 'BroadCast': + return f'{to_string(ir.dobject)} = __shfl_sync(0xffffffff, {to_string(ir.dobject)}, 0);\n' + case 'SaveAtThread': + return f'if (threadIdx.x == {ir.threadid}) {{\n {to_string(Assignment(ir.dst, ir.src))} }}\n' + case 'Uniq' | 'Buffer': + return f'{ir.dobject.__name__}_{ir.__class__.__name__}[{to_string(BlockIdx())}]' + # return f'[{to_string(BlockIdx())}]' + case 'IF': + return f"{to_string(ir.left)} = {to_string(ir.condition)} ? {to_string(ir.true_var)} : {to_string(ir.false_var)};\n" + case 'Pointer': + return f'{ir.name()}' + case 'Access_ptr': + code = f'{to_string(ir.dobject)}[' + for i in range(len(ir.idx)-1): + code += '(' + for i in range(len(ir.idx)): + if i()' if type(args[a]) == Tensor else f'{a}' for a in args]) + # ptrs = ', '.join([f'{args[a].dtype}* {a}' if type(args[a]) == Tensor else f'{args[a].dtype} {a}' for a in args]) + + argsptr = ', '.join([f'obj_{a}.packed_accessor32<{args[a].dtype if args[a].dtype!="int" else "int64_t"}, {len(args[a].ref_size)}, torch::RestrictPtrTraits>()' if type(args[a]) == Tensor else f'{a}' for a in args]) + ptrs = ', '.join([f'torch::PackedTensorAccessor32<{args[a].dtype if args[a].dtype!="int" else "int64_t"}, {len(args[a].ref_size)}, torch::RestrictPtrTraits> {a}' if type(args[a]) == Tensor else f'{args[a].dtype} {a}' for a in args]) + # in cuda kernel: const torch::PackedTensorAccessor32 + # host call cuda: .packed_accessor32() + + code = '' + declare = '' + for d in gpu_ir: + if d: + if type(d) == Decl and type(d.dobject) == Ndarray: + declare += to_string(d) + argsptr += f', obj_{d.dobject.name()}.packed_accessor32<{d.dobject.dtype}, {len(d.dobject.size)}, torch::RestrictPtrTraits>()' + ptrs += f', torch::PackedTensorAccessor32<{d.dobject.dtype}, {len(d.dobject.size)}, torch::RestrictPtrTraits> {d.dobject.name()}' + elif type(d) == Decl and type(d.dobject) in [Buffer, Uniq]: + declare += to_string(d) + argsptr += f', {d.dobject.dobject.__name__}_{d.dobject.__class__.__name__}.packed_accessor32<{d.dobject.dobject.dtype}, 2, torch::RestrictPtrTraits>()' + ptrs += f', torch::PackedTensorAccessor32<{d.dobject.dobject.dtype}, 2, torch::RestrictPtrTraits> {d.dobject.dobject.__name__}_{d.dobject.__class__.__name__}' + else: + code += to_string(d) + # print(declare) + Return = '' + if type(ast.eval) == Scalar: + rtype = ast.dtype + Return = f'return {ast.eval.name()};\n' + elif type(ast.eval) == Ndarray: + rtype = 'torch::Tensor' + Return = f'return obj_{ast.eval.name()};\n' + else: + raise TypeError('wrong output type', ast.eval) + + with open('codegen/gpu_template.cu', 'r') as f: + c_code = f.read() + c_code = c_code.replace('RTYPE', rtype).replace('FNAME', ast.name).replace('ARGS', argscpu).replace('CODE', code).replace('PTR_VARS', argsptr).replace('PTRS', ptrs).replace('DECL', declare).replace('RETURN', Return) + return c_code \ No newline at end of file diff --git a/codegen/gpu_instructionsets.py b/codegen/gpu_instructionsets.py new file mode 100644 index 0000000..e6bd2d3 --- /dev/null +++ b/codegen/gpu_instructionsets.py @@ -0,0 +1,21 @@ +from batch.opt.ir import * +from codegen import * + +def ir2gpu(ir): + match ir.__class__.__name__: + case 'BlockIdx': + return 'blockIdx.x' + case 'BlockIdy': + return 'blockIdx.y' + case 'BlockDimx': + return 'blockDim.x' + case 'BlockDimy': + return 'blockDim.y' + case 'ThreadIdy': + return 'threadIdx.y' + case 'ThreadIdx': + return 'threadIdx.x' + case 'SyncThreads': + return '__syncthreads();\n' + case 'SyncWarps': + return '__syncwarps();\n' \ No newline at end of file diff --git a/codegen/gpu_template.cu b/codegen/gpu_template.cu new file mode 100644 index 0000000..5219403 --- /dev/null +++ b/codegen/gpu_template.cu @@ -0,0 +1,16 @@ +#include + +__global__ void FNAME_kernel(PTRS){ + CODE +} + +RTYPE FNAME(ARGS) +{ + DECL + FNAME_kernel<<< batch_size/16, dim3(32,16) >>>(PTR_VARS); + RETURN +} + +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { + m.def("run", &FNAME); +} \ No newline at end of file diff --git a/codegen/oob.py b/codegen/oob.py new file mode 100644 index 0000000..52b15bf --- /dev/null +++ b/codegen/oob.py @@ -0,0 +1,97 @@ +from core.ir import * +from core.asg import * +from helpers import rebind_iterate +import helpers + +def _is_oob_indexing(ir, it, ofs): + if type(ir) == Indexing: + if (_is_oob_indexing(ir.dobject, it, ofs)) == True: + return True + if type(ir.idx) == Indexing and type(ir.idx.dobject) == Slice and ir.idx.idx.dobject_id == it.dobject_id and ('slice_ofs' in ir.idx.attr and ir.idx.attr['slice_ofs'] > ofs): + return True + return False + +# TODO: unified the implementation of replace +def _replace_oobindexing_with_padding(ir, it, ofs, val): + if type(ir) == list or type(ir) == tuple: + for l in ir: + _replace_oobindexing_with_padding(l, it, ofs, val) + elif type(ir) == Loop: + if _is_oob_indexing(ir.start, it, ofs): + ir.start = val + else: + _replace_oobindexing_with_padding(ir.start, it, ofs, val) + if _is_oob_indexing(ir.end, it, ofs): + ir.end = val + else: + _replace_oobindexing_with_padding(ir.end, it, ofs, val) + if _is_oob_indexing(ir.step, it, ofs): + ir.step = val + else: + _replace_oobindexing_with_padding(ir.step, it, ofs, val) + _replace_oobindexing_with_padding(ir.body, it, ofs, val) + elif type(ir) == Expr: + if _is_oob_indexing(ir.left, it, ofs): + ir.left = val + else: + _replace_oobindexing_with_padding(ir.left, it, ofs, val) + if _is_oob_indexing(ir.right, it, ofs): + ir.right = val + else: + _replace_oobindexing_with_padding(ir.right, it, ofs, val) + elif type(ir) == Assignment: + if _is_oob_indexing(ir.rhs, it, ofs): + ir.rhs = val + else: + _replace_oobindexing_with_padding(ir.rhs, it, ofs, val) + elif type(ir) == Ndarray: + _replace_oobindexing_with_padding(ir.size, it, ofs, val) + elif type(ir) == Indexing: + if _is_oob_indexing(ir.idx, it, ofs): + ir.idx = val + else: + _replace_oobindexing_with_padding(ir.idx, it, ofs, val) + elif type(ir) == Slice: + if _is_oob_indexing(ir.start, it, ofs): + ir.start = val + else: + _replace_oobindexing_with_padding(ir.start, it, ofs, val) + if _is_oob_indexing(ir.stop, it, ofs): + ir.stop = val + else: + _replace_oobindexing_with_padding(ir.stop, it, ofs, val) + if _is_oob_indexing(ir.step, it, ofs): + ir.step = val + else: + _replace_oobindexing_with_padding(ir.step, it, ofs, val) + elif type(ir) == Math: + if _is_oob_indexing(ir.val, it, ofs): + ir.val = val + else: + _replace_oobindexing_with_padding(ir.val, it, ofs, val) + +def _resolve_loops(scope): + for stmt in scope[:]: + if type(stmt) == Loop: + _resolve_loops(stmt.body) + if 'loop_ofs' in stmt.attr: + for i in range(stmt.attr['loop_ofs']): + body = copy.deepcopy(stmt.body) + _replace_oobindexing_with_padding(body, stmt.iterate, i, Literal(0, 'int')) + rebind_iterate(body, stmt.iterate, Literal(i, 'int')) + idx = scope.index(stmt) + scope[idx:idx] = body + stmt.start = Literal(stmt.attr['loop_ofs'], 'int') + + + +def lower_bound_padding(asg): + def action(node, res): + if type(node) == TensorOp and node.op_type in list(arith_op.keys()) + ['setval']: + res.append(node.compute) + + t = helpers.ASGTraversal(action) + ir = t(asg) + for l in ir: + _resolve_loops(l) + diff --git a/codegen/pytorch.py b/codegen/pytorch.py new file mode 100644 index 0000000..78fb737 --- /dev/null +++ b/codegen/pytorch.py @@ -0,0 +1,140 @@ +from cset.ast2ir import * +import helpers +import random +import string +from codegen.oob import lower_bound_padding +from codegen.tensorize import tensorize +from core.asg import * +from core.ir import * + + +indent_width = 4 + +def to_string(ir, indent = 0): + match ir.__class__.__name__: + case 'Expr': + if ir.op in arith_op.values(): + return f"({to_string(ir.left)}" + f" {ir.op} " + f"{to_string(ir.right)})" + elif ir.op == 'bigger': + return f"max({to_string(ir.left)}, {to_string(ir.right)})" + elif ir.op == 'smaller': + return f"min({to_string(ir.left)}, {to_string(ir.right)})" + case 'Assignment': + if ir.op is None: + return ' ' * indent + f"{to_string(ir.lhs)} = {to_string(ir.rhs)}\n" + else: + return ' ' * indent + f"{to_string(ir.lhs)} {ir.op}= {to_string(ir.rhs)}\n" + case 'Loop': + code = ' ' * indent + f"for {to_string(ir.iterate)} in range({to_string(ir.start)}, {to_string(ir.end)}, {to_string(ir.step)}): \n" + for e in ir.body: + if e: + code += to_string(e, indent + indent_width) + code += ' ' * indent + "\n" + return code + case 'Scalar' | 'Ndarray': + return ir.name() + case 'Literal': + return str(ir.val) + case 'Indexing': + if type(ir.dobject) == Slice: + return to_string(ir.dobject) + else: + return f'{to_string(ir.dobject)}[{to_string(ir.idx)}]' + case 'Slice': + if ir.step == 1 or (type(ir.step) == Literal and ir.step.val == 1): + return f'{to_string(ir.start)}:{to_string(ir.stop)}' + else: + return f'{to_string(ir.start)}:{to_string(ir.stop)}:{to_string(ir.step)}' + case 'Math': + return f'{ir.type}({to_string(ir.val)})' + case 'Decl': + return '' + case _: + return str(ir) + + +def print_pytorch(asg): + ir = [] + lower_bound_padding(asg) + tensorize(asg) + + helpers.collect_ir(asg, ir) + + args = helpers.get_input_nodes(asg) + args = ', '.join([f'{a}' for a in args]) + + code = '' + indent = indent_width + for d in ir: + if d: + code += to_string(d, indent) + + code += ' ' * indent + f'return {asg.eval.name()}\n' + + with open('codegen/pytorch_template.txt', 'r') as f: + t_code = f.read() + t_code = t_code.replace('FNAME', asg.name[:24] + ''.join(random.choices(string.ascii_lowercase, k=8))).replace('ARGS', args).replace('CODE', code) + return t_code + + + +def test1(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (10, 20)) + ast = A + B + code = codegen.pytorch.print_pytorch(ast._gen_ir()) + print(code) + +def test2(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (10, ), dtype='int') + ast = A[B] + 1 + code = codegen.pytorch.print_pytorch(ast._gen_ir()) + print(code) + + +def test3(): + input = Tensor('input', (10, 20)) + sampled_nodes = Tensor('sampled_nodes', (5, ), dtype='int') + + res = sampled_nodes.apply(lambda n: input[n]) + code = codegen.pytorch.print_pytorch(res._gen_ir()) + print(code) + +def test4(): + ndevs = 4 + nnodes = 1000 + dim = 512 + batch_size = 32 + buffer_size = nnodes // ndevs + buffers = Tensor('buffers', (ndevs, buffer_size, dim)) + sampled_nodes = Tensor('sampled_nodes', (batch_size, ), dtype='int') + dev_ids = Tensor('dev_ids', (nnodes, ), dtype='int') + buf_ofs = Tensor('buf_ofs', (nnodes, ), dtype='int') + + res = sampled_nodes.apply(lambda v: buffers[dev_ids[v]][buf_ofs[v]]) + code = codegen.pytorch.print_pytorch(res._gen_ir()) + print(code) + +def test5(): + ndevs = 4 + nnodes = 1000 + dim = 512 + batch_size = 32 + buffer_size = nnodes // ndevs + buffers = Tensor('buffers', (ndevs, buffer_size, dim)) + dev_ids = Tensor('dev_ids', (nnodes, ), dtype='int') + buf_ofs = Tensor('buf_ofs', (nnodes, ), dtype='int') + + sampled_nodes = Tensor('sampled_nodes', (batch_size, ), dtype='int') + + # rowptr is obtained by sorting sampled_nodes according to their dev_ids + rowptr = Tensor('rowptr', (ndevs+1, ), dtype='int') + + d = 0 + res = buffers[d][buf_ofs[sampled_nodes[rowptr[d]:rowptr[d+1]]]] + 0 + code = codegen.pytorch.print_pytorch(res._gen_ir()) + print(code) + +if __name__ == "__main__": + test5() diff --git a/codegen/pytorch_template.txt b/codegen/pytorch_template.txt new file mode 100644 index 0000000..fee1151 --- /dev/null +++ b/codegen/pytorch_template.txt @@ -0,0 +1,2 @@ +def FNAME(ARGS): +CODE diff --git a/codegen/tensorize.py b/codegen/tensorize.py new file mode 100644 index 0000000..570893c --- /dev/null +++ b/codegen/tensorize.py @@ -0,0 +1,113 @@ +from core.ir import * +from core.asg import * +from transform.interchange import rebind_iterate +import helpers + + +def _get_val(ir): + if type(ir) == Literal: + return ir.val + elif type(ir) in (int, float): + return ir + else: + return None + +def _is_full_slicing(ir): + if type(ir) == Indexing and type(ir.idx) == Indexing and type(ir.idx.dobject) == Slice and type(ir.idx.idx) == Literal and ir.idx.idx.val == -1: + if type(ir.dobject) == Ndarray: + s = _get_val(ir.dobject.size[0]) + elif type(ir.dobject) == Indexing: + s = _get_val(ir.dobject.size[ir.dobject.ref_point]) + else: + s = None + if _get_val(ir.idx.dobject.start) == 0 and _get_val(ir.idx.dobject.step) == 1 and s != None and _get_val(ir.idx.dobject.stop.val) == s: + return True + +def _remove_full_slicing(ir): + if type(ir) == list or type(ir) == tuple: + for l in ir: + _remove_full_slicing(l) + elif type(ir) == Loop: + _remove_full_slicing(ir.body) + elif type(ir) == Expr: + if _is_full_slicing(ir.left): + _remove_full_slicing(ir.left.dobject) + ir.left = ir.left.dobject + else: + _remove_full_slicing(ir.left) + if _is_full_slicing(ir.right): + _remove_full_slicing(ir.right.dobject) + ir.right = ir.right.dobject + else: + _remove_full_slicing(ir.right) + elif type(ir) == Assignment: + if _is_full_slicing(ir.lhs): + _remove_full_slicing(ir.lhs.dobject) + ir.lhs = ir.lhs.dobject + else: + _remove_full_slicing(ir.lhs) + if _is_full_slicing(ir.rhs): + _remove_full_slicing(ir.rhs.dobject) + ir.rhs = ir.rhs.dobject + else: + _remove_full_slicing(ir.rhs) + elif type(ir) == Indexing: + if _is_full_slicing(ir.dobject): + _remove_full_slicing(ir.dobject.dobject) + ir.dobject = ir.dobject.dobject + else: + _remove_full_slicing(ir.dobject) + if _is_full_slicing(ir.idx): + _remove_full_slicing(ir.idx) + ir.idx = ir.idx.dobject + else: + _remove_full_slicing(ir.idx) + elif type(ir) == Slice: + if _is_full_slicing(ir.start): + _remove_full_slicing(ir.start.dobject) + ir.start = ir.start.dobject + else: + _remove_full_slicing(ir.start) + if _is_full_slicing(ir.stop): + _remove_full_slicing(ir.stop.dobject) + ir.stop = ir.stop.dobject + else: + _remove_full_slicing(ir.stop) + if _is_full_slicing(ir.step): + _remove_full_slicing(ir.step.dobject) + ir.step = ir.step.dobject + else: + _remove_full_slicing(ir.step) + elif type(ir) == Math: + if _is_full_slicing(ir.val): + _remove_full_slicing(ir.dobject) + ir.val = ir.dobject + else: + _remove_full_slicing(ir.val) + + + + + + +def _tensorize_loops(scope): + for stmt in scope[:]: + if type(stmt) == Loop: + _tensorize_loops(stmt.body) + rebind_iterate(stmt.body, stmt.iterate, Indexing(Slice(stmt.start, stmt.end, stmt.step), Literal(-1, 'int'))) + _remove_full_slicing(stmt.body) + idx = scope.index(stmt) + scope[idx:idx] = stmt.body + scope.remove(stmt) + + + +def tensorize(asg): + def action(node, res): + if type(node) == TensorOp: + res.append(node.compute) + + t = helpers.Traversal(action) + ir = t(asg) + for l in ir: + _tensorize_loops(l) \ No newline at end of file diff --git a/core/__init__.py b/core/__init__.py index e69de29..20710d6 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -0,0 +1,2 @@ +import core.asg +import core.ir \ No newline at end of file diff --git a/core/__pycache__/__init__.cpython-311.pyc b/core/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 00c5043..0000000 Binary files a/core/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/core/__pycache__/ast.cpython-311.pyc b/core/__pycache__/ast.cpython-311.pyc deleted file mode 100644 index 2765f37..0000000 Binary files a/core/__pycache__/ast.cpython-311.pyc and /dev/null differ diff --git a/core/__pycache__/ast2ir.cpython-311.pyc b/core/__pycache__/ast2ir.cpython-311.pyc deleted file mode 100644 index a6aaf73..0000000 Binary files a/core/__pycache__/ast2ir.cpython-311.pyc and /dev/null differ diff --git a/core/__pycache__/helpers.cpython-311.pyc b/core/__pycache__/helpers.cpython-311.pyc deleted file mode 100644 index 6051b43..0000000 Binary files a/core/__pycache__/helpers.cpython-311.pyc and /dev/null differ diff --git a/core/__pycache__/ir.cpython-311.pyc b/core/__pycache__/ir.cpython-311.pyc deleted file mode 100644 index bb60d83..0000000 Binary files a/core/__pycache__/ir.cpython-311.pyc and /dev/null differ diff --git a/core/asg.py b/core/asg.py new file mode 100644 index 0000000..dc5d12e --- /dev/null +++ b/core/asg.py @@ -0,0 +1,543 @@ +import copy +import core +import inspect + +MIN_INT = -2147483648 +MAX_INT = 2147483647 + +arith_op = {'add': '+', 'sub': '-', 'mul': '*', 'floordiv': '/', 'truediv': '/'} +math_op = ['round', 'abs', 'nbits'] +cmp_op = ['bigger', 'smaller'] +func_op = ['apply', 'reduce', 'aggr'] +other_op = ['setval', 'einsum', 'index'] + +binary_elw = list(arith_op.keys()) + cmp_op +unary_elw = math_op +elementwise_op = binary_elw + unary_elw + + +def is_int_var(v): + return isinstance(v, Tensor) and v.dtype == 'int' and len(v.ref_size) == 0 + +def is_scalar(v): + return isinstance(v, int|float) or (isinstance(v, Tensor) and len(v.ref_size) == 0) + +def is_1dint_tensor(v): + return isinstance(v, Tensor) and v.dtype == 'int' and len(v.ref_size) == 1 + + +def eval_const_expr(e): + if type(e) == TensorOp and (e.op_type in arith_op): + lhs = eval_const_expr(e.operators[0]) + if lhs != None: + rhs = eval_const_expr(e.operators[1]) + if rhs != None: + match e.op_type: + case 'add': + return lhs + rhs + case 'sub': + return lhs - rhs + case 'mul': + return lhs * rhs + case 'floordiv': + return lhs // rhs + case 'truediv': + return lhs / rhs + case _: + return None + else: + return None + else: + return None + elif type(e) == Const: + return e.val + else: + return None + +def has_same_value(e1, e2): + if type(e1) != type(e2): + return False + elif type(e1) == Var or type(e1) == Tensor: + return e1.id == e2.id + elif type(e1) == Const: + if e1.dtype == 'int' and e2.dtype == 'int': + return e1.val == e2.val + elif e1.dtype == 'slice' and e2.dtype =='slice': + return has_same_value(e1.val.start, e2.val.start) and has_same_value(e1.val.stop, e2.val.stop) and has_same_value(e1.val.step, e2.val.step) + else: + return False + elif type(e1) == TensorOp: + if e1.op_type != e2.op_type: + return False + elif e1.op_type in arith_op: + return has_same_value(e1.operators[0], e2.operators[0]) and has_same_value(e2.operators[1], e2.operators[1]) + else: + if len(e1.operators) != len(e2.operators): + return False + else: + for i in range(len(e1.operators)): + if not has_same_value(e1.operators[i], e2.operators[i]): + return False + return True + +def is_same_size(s1, s2): + if(len(s1) != len(s2)): + return False + for i in range(len(s1)): + if s1[i] != s2[i]: + if type(s1[i]) == type(s2[i]): + return has_same_value(s1[i], s2[i]) + else: + v1 = eval_const_expr(s1[i]) + if v1 != None: + v2 = eval_const_expr(s2[i]) + if v2 != None: + if v1 == v2: + return True + return False + + return True + +def prefix_match_size(s1, s2): + length = min(len(s1), len(s2)) + for i in range(length): + if s1[i] != s2[i]: + if type(s1[i]) == type(s2[i]): + return has_same_value(s1[i], s2[i]) + else: + return False + return True + + +def bigger(x, y): + return TensorOp('bigger', x, y) + +def smaller(x, y): + return TensorOp('smaller', x, y) + + +# By default, the output of func should have the same size for any input, but they can have different sizes in the first dim if out_ofss is provided +def apply(func, data: (list, tuple), axes = None, out_ofs = None): + assert callable(func) + nparam = len(inspect.signature(func).parameters) + assert len(data) == nparam + if axes == None: + axes = [] + while (len(axes) < nparam): + axes.append(Const(0, 'int')) + return TensorOp('apply', func, *data, *axes, out_ofs) + +def setval(res, val): + return TensorOp('setval', res, val) + +class ASTNode: + nuniq = 0 + def __init__(self): + self.decl = [] + self.compute = [] + self.output_order = [] + self.input_orders = [] + self.eval = None + self.ref_by = [] + self.id = ASTNode.nuniq + ASTNode.nuniq += 1 + self.attr = {} + +class Tensor(ASTNode): + def __init__(self, name, size:list|tuple, dtype='float', fix_size=[], is_arg=True): + super().__init__() + + self.is_arg = is_arg + self.name = name + self.ref_size = [] + for s in size: + if is_int_var(s): + self.ref_size.append(s) + elif type(s) == int: + self.ref_size.append(Const(s, 'int')) + else: + raise TypeError('tensor dimensions must be int or a scalar int variable') + self.fix_size = [] + for s in fix_size: + if is_int_var(s): + self.fix_size.append(s) + elif type(s) == int: + self.fix_size.append(Const(s, 'int')) + else: + raise TypeError('tensor dimensions must be int or a scalar int variable') + self.dtype = dtype + + def __sub__(self, other): + return TensorOp('sub', self, other) + + def __add__(self, other): + return TensorOp('add', self, other) + + def __mul__(self, other): + return TensorOp('mul', self, other) + + def __truediv__(self, other): + return TensorOp('truediv', self, other) + + def __floordiv__(self, other): + return TensorOp('floordiv', self, other) + + + def __matmul__(self, other): + return TensorOp('einsum', self, other, 'ij,jk->ik') + + def __getitem__(self, idx): + assert isinstance(idx, (int, slice, Tensor)) + return TensorOp('index', self, idx) + + def apply(self, func, axis=0, out_ofs=None): + assert callable(func) + return TensorOp('apply', func, self, axis, out_ofs) + + + def reduce(self, func, init, axis=0): + if callable(func) and callable(init): + return TensorOp('reduce', self, func, init, axis) + else: + raise TypeError('reduce must use a callable function') + + def sum(self, axis=0): + s1 = '' + rs = '' + for i in range(len(self._size())): + s1 += chr(ord('i')+i) + if i != axis: + rs += chr(ord('i')+i) + return einsum(f'{s1},->{rs}', self, None) + + def max(self, axis=0): + func = lambda x, y: bigger(x, y) + init = lambda x: setval(x, MIN_INT) + return self.reduce(func, init, axis) + + def min(self, axis=0): + func = lambda x, y: smaller(x, y) + init = lambda x: setval(x, MAX_INT) + return self.reduce(func, init, axis) + + def aggr(self, func, init, indices, axis=0, size=None): + if callable(func) and callable(init): + op = TensorOp('aggr', self, func, init, indices, axis, size) + return op + else: + raise TypeError('aggr must use a callable function') + + def aggr_sum(self, indices, axis=0, size=None): + func = lambda x, y: x + y + init = lambda x: setval(x, 0) + return self.aggr(func, init, indices, axis, size) + + def aggr_max(self, indices, axis=0, size=None): + func = lambda x, y: bigger(x, y) + init = lambda x: setval(x, MIN_INT) + return self.aggr(func, init, indices, axis, size) + + def aggr_min(self, indices, axis=0, size=None): + func = lambda x, y: smaller(x, y) + init = lambda x: setval(x, MAX_INT) + return self.aggr(func, init, indices, axis, size) + + + def prefix_sum(self, axis=0, inclusive=True): + assert type(axis) == int + size = self._size() + assert len(size) > 0 + data = self + if not inclusive: + size[axis] = size[axis] + 1 + out = res = Tensor(f'psum_{self.name[:3]}{self.id}', size, dtype=self.dtype) + + for i in range(axis): + data = data[:] + res = res[:] + + + if inclusive: + return setval(out, data[:] + res[-1:size[axis]-1]) + else: + return setval(out, data[-1:data._size()[axis]] + res[-1:size[axis] - 1]) + + + + + + def _size(self): + return self.fix_size + self.ref_size + + def size(self): + s = self._size() # s is a list of int, Var, or Const + if len(s) > 1: + return Tensor(f'{self.name}_size', size=(len(s),), dtype='int', is_arg=False) + elif len(s) == 1: + if type(s[0]) == int: + return Const(s, dtype='int') + else: + return s[0] + else: + return Const(0, dtype='int') + + + + def round(self): + return TensorOp('round', self) + + def abs(self): + return TensorOp('abs', self) + + def nbits(self): + return TensorOp('nbits', self) + + def _gen_ir(self): + return core.asg2ir.gen_ir(self) + + +class Var(Tensor): + def __init__(self, name, dtype='int', is_arg=True): + super().__init__(name, [], dtype, [], is_arg) + + + +# const is var without name +class Const(Var): + nconsts = 0 + def __init__(self, val, dtype): + super().__init__(f'c{Const.nconsts}', dtype) + Const.nconsts += 1 + # slice is considered constant because once the slice is created its start, stop, step cannot be reassigned + # however, start, stop, step themselves can be variables + if dtype == 'slice': + if type(val.start) == int: + start = Const(val.start, 'int') + else: + start = val.start + if type(val.stop) == int: + stop = Const(val.stop, 'int') + else: + stop = val.stop + if type(val.step) == int: + step = Const(val.step, 'int') + else: + step = val.step + assert is_int_var(start) + assert is_int_var(stop) + assert is_int_var(step) + self.val = slice(start, stop, step) + else: + self.val = val + + +def einsum(exp: str, tensor1, tensor2): + return TensorOp('einsum', tensor1, tensor2, exp) + +class TensorOp(Tensor): + Types = func_op + list(arith_op.keys()) + math_op + cmp_op + other_op + + def __init__(self, op_type, *operators): + assert op_type in TensorOp.Types + + # TODO: infer result data type + self.operators = [] + for opr in operators: + self.operators.append(opr) + if isinstance(opr, ASTNode) and op_type != 'setval': # setval does not reference the data + opr.ref_by.append(self) + + if op_type in arith_op or op_type in cmp_op: + dtype = operators[0].dtype + if type(self.operators[0]) == int: + self.operators[0] = Const(self.operators[0], 'int') + elif type(operators[0]) == float: + self.operators[0] = Const(self.operators[0], 'float') + if type(self.operators[1]) == int: + self.operators[1] = Const(self.operators[1], 'int') + elif type(operators[1]) == float: + self.operators[1] = Const(self.operators[1], 'float') + assert prefix_match_size(self.operators[0]._size(), self.operators[1]._size()) + if (len(self.operators[0]._size()) > len(self.operators[1]._size())): + ref_size = self.operators[0]._size() + else: + ref_size = self.operators[1]._size() + fix_size = [] + + elif op_type == 'einsum': + dtype = operators[0].dtype + exp = self.operators[2] + inputs, output = exp.split('->') + input1, input2 = inputs.split(',') + op1_size = self.operators[0]._size() + if self.operators[1] != None: + op2_size = self.operators[1]._size() + else: + op2_size = [] + ref_size = [] + fix_size = [] + for i in output: + pos1 = input1.find(i) + if pos1 >= 0: + ref_size.append(op1_size[pos1]) + else: + pos2 = input2.find(i) + if pos2 >= 0: + ref_size.append(op2_size[pos2]) + else: + raise IndexError('index not found!') + + elif op_type == 'index': + dtype = operators[0].dtype + ref_size = self.operators[0].ref_size[1:] + fix_size = self.operators[0].fix_size[:] + if type(self.operators[1]) == int: + self.operators[1] = Const(self.operators[1], 'int') + elif type(self.operators[1]) == slice: + start = self.operators[1].start + if start == None: + start = Const(0, 'int') + elif type(start) == int: + start = Const(start, 'int') + stop = self.operators[1].stop + if stop == None: + stop = self.operators[0].ref_size[0] + elif type(stop) == int: + stop = Const(stop, 'int') + step = self.operators[1].step + if step == None: + step = Const(1, 'int') + elif type(step) == int: + step = Const(step, 'int') + + self.operators[1] = Const(slice(start, stop, step), 'slice') + csize = eval_const_expr((stop - start)//step) + if csize != None: + fix_size.append(csize) + else: + if step.val == 1: + fix_size.append(stop-start) + else: + fix_size.append((stop - start)//step) + elif is_int_var(self.operators[1]): + self.operators[1] = self.operators[1] + elif is_1dint_tensor(self.operators[1]): + fix_size.append(self.operators[1]._size()[0]) + else: + raise TypeError('index must be int, Var of int, or 1d int Tensor') + + elif op_type == 'apply': + func = self.operators[0] + nparams = len(inspect.signature(func).parameters) + for i in range(nparams): + axis = operators[1+nparams+i] + if type(axis) == int: + self.operators[1+nparams+i] = Const(axis, 'int') + + data = [] + axis_size = self.operators[1]._size()[self.operators[1+nparams].val] + for i in range(1, 1+nparams): + data_size = self.operators[i]._size() + axis = self.operators[nparams+i].val + # every input item should have the same size as the primary axis size + has_same_value(axis_size, data_size[axis]) + item_size = data_size[:axis] + data_size[axis + 1:] + if (len(item_size) > 0): + item = Tensor(f'item_of_{self.operators[i].name}', item_size, + self.operators[i].dtype, [], False) + else: + item = Var(f'item_of_{self.operators[i].name}', self.operators[i].dtype, False) + data.append(item) + + ret = self.operators[0](*data) + dtype = ret.dtype + out_ofs = self.operators[1+2*nparams] + if out_ofs == None: + ref_size = [axis_size] + ret._size() + else: + ref_size = [out_ofs[axis_size]] + ret._size()[1:] + fix_size = [] + self.operators.extend(data) + self.operators.append(ret) + + elif op_type == 'reduce': + assert type(self.operators[3]) == int + axis = self.operators[3] + self.operators[3] = Const(axis, 'int') + ref_size = self.operators[0]._size()[:axis] + self.operators[0]._size()[axis+1:] + fix_size = [] + dtype = self.operators[0].dtype + if (len(ref_size) > 0): + item1 = Tensor(f'item1_of_{self.operators[0].name}', ref_size, + self.operators[0].dtype, [], False) + item2 = Tensor(f'item2_of_{self.operators[0].name}', ref_size, + self.operators[0].dtype, [], False) + else: + item1 = Var(f'item1_of_{self.operators[0].name}', self.operators[0].dtype, False) + item2 = Var(f'item2_of_{self.operators[0].name}', self.operators[0].dtype, False) + + self.operators.append(item1) + self.operators.append(item2) + self.operators.append(self.operators[1](item1, item2)) + + elif op_type == 'aggr': + dtype = operators[0].dtype + assert is_1dint_tensor(self.operators[3]) + assert type(self.operators[4]) == int + axis = self.operators[4] + self.operators[4] = Const(axis, 'int') + if self.operators[5] == None: + self.operators[5] = self.operators[3].ref_size[0] + else: + assert is_int_var(self.operators[5]) + if type(self.operators[5]) == int: + self.operators[5] = Const(self.operators[5], 'int') + ref_size = [self.operators[5]] + self.operators[0]._size()[:axis] + self.operators[0]._size()[axis+1:] + fix_size = [] + if (len(ref_size) > 1): + item1 = Tensor(f'item1_of_{self.operators[0].name}', ref_size[1:], + self.operators[0].dtype, [], False) + item2 = Tensor(f'item2_of_{self.operators[0].name}', ref_size[1:], + self.operators[0].dtype, [], False) + else: + item1 = Var(f'item1_of_{self.operators[0].name}', self.operators[0].dtype, False) + item2 = Var(f'item2_of_{self.operators[0].name}', self.operators[0].dtype, False) + self.operators.append(item1) + self.operators.append(item2) + self.operators.append(self.operators[1](item1, item2)) + + elif op_type in math_op: + dtype = self.operators[0].dtype + ref_size = self.operators[0].ref_size + fix_size = [] + if op_type == 'round': + dtype = 'int' + elif op_type == 'abs': + dtype = self.operators[0].dtype + + elif op_type == 'setval': + dtype = self.operators[0].dtype + ref_size = self.operators[0]._size() + fix_size = [] + + if (is_scalar(self.operators[1])): + if type(self.operators[1]) == int: + self.operators[1] = Const(self.operators[1], 'int') + elif type(self.operators[1]) == float: + self.operators[1] = Const(self.operators[1], 'float') + + else: + assert self.operators[0].dtype == self.operators[1].dtype + + + name = f'{op_type}_' + '_'.join([op.name if hasattr(op, 'name') else '' for op in self.operators]) + + super().__init__(name, ref_size, dtype, fix_size) + + self.op_type = op_type + + # call the init function for reduce and aggr + if self.op_type in ('reduce', 'aggr'): + self.operators[2] = self.operators[2](self) + + self.input_orders = [[] for o in self.operators] \ No newline at end of file diff --git a/core/asg2ir.py b/core/asg2ir.py new file mode 100755 index 0000000..754259d --- /dev/null +++ b/core/asg2ir.py @@ -0,0 +1,580 @@ +from core.asg import * +from core.ir import * +from helpers import get_ir_of_size, ASGTraversal, replace_all_ref, rebind_iterate + + +def num_unbind(index): + if type(index) == Indexing: + return num_unbind(index.dobject) + num_unbind(index.idx) + elif type(index) == Literal and index.val == -1: + return 1 + else: + return 0 + + +def get_first_unbind(index: (Indexing, Ndarray, Slice)): + if type(index) == Indexing: + x = get_first_unbind(index.dobject) + if x != None: + return x + else: + if type(index.idx) == Literal and index.idx.val == -1: + return index + else: + y = get_first_unbind(index.idx) + return y + return None + + +def bind(index: (Indexing, Ndarray, Slice), idx, attr = {}): + x = get_first_unbind(index) + if x == None: + res = Indexing(index, idx) + res.attr.update(attr) + return res + else: + old = copy.copy(x.idx) + old_attr = copy.copy(x.attr) + x.idx = idx + x.attr.update(attr) + new_index = copy.deepcopy(index) + x.idx = old + x.attr = old_attr + return new_index + + +def get_slice(index: (Indexing, Ndarray, Slice)): + if type(index) == Indexing: + x = get_slice(index.dobject) + if x != None: + return x + else: + y = get_slice(index.idx) + if y != None: + return y + else: + if type(index.dobject) == Slice and type(index.idx) == Literal and index.idx.val == -1: + return index.dobject + return None + + +def replace_output(ir, old, new): + if type(ir) == list or type(ir) == tuple: + for l in ir: + replace_output(l, old, new) + elif type(ir) == Loop: + replace_output(ir.body, old, new) + elif type(ir) == Assignment: + if ir.lhs == old: + ir.lhs = new + else: + replace_output(ir.lhs, old, new) + elif type(ir) == Indexing: + if ir.dobject == old: + ir.dobject = new + else: + replace_output(ir.dobject, old, new) + + +def has_same_iteration_space(l1, l2): + return has_same_value(l1.start, l2.start) and has_same_value(l1.end, l2.end) and has_same_value(l1.step, l2.step) + +def gen_ir(node): + assert isinstance(node, ASTNode) + if node.eval or len(node.decl) > 0 or (type(node) == TensorOp and len(node.compute) > 0): + return node + if type(node) == Const: + if node.dtype != 'slice': + assert type(node.val) == int or type(node.val) == float + node.eval = Literal(node.val, node.dtype) + else: + node.val.start._gen_ir() + node.val.stop._gen_ir() + node.val.step._gen_ir() + node.eval = Slice(node.val.start.eval, node.val.stop.eval, node.val.step.eval) + + + elif type(node) == Var or (type(node) == Tensor and len(node._size()) == 0): + node.eval = Scalar(node.dtype, node.name, node.is_arg) + node.decl = [Decl(node.eval)] + + elif type(node) == Tensor and len(node._size()) > 0: + # convert AST sizes to IR sizes + size = get_ir_of_size(node._size()) + node.eval = Ndarray(node.dtype, size, node.name, node.is_arg) + node.decl = [Decl(node.eval)] + + elif type(node) == TensorOp: + if node.op_type in arith_op or node.op_type in cmp_op: + # arith_op and cmp_op are binary operations, we generate the two operands first + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + assert isinstance(node.operators[0], Tensor) and isinstance(node.operators[1], Tensor) + + if node.op_type in arith_op: + op = arith_op[node.op_type] + else: + op = node.op_type + + if len(node._size()) > 0: # if output has >=1 dimensions, it should be stored in an Ndarray + size = get_ir_of_size(node._size()) + node.eval = Ndarray(node.dtype, size) + else: # otherwise, it is a scalar + size = [] + node.eval = Scalar(node.dtype) + node.decl = [Decl(node.eval)] + + left_levels = len(node.operators[0]._size()) + right_levels = len(node.operators[1]._size()) + max_levels = max(left_levels, right_levels) + assert max_levels == len(size) + + lhs = node.operators[0].eval + rhs = node.operators[1].eval + res = node.eval + ir = node.compute + + for level in range(max_levels): + + # handle out of bound slicing + left_slice = get_slice(lhs) + right_slice = get_slice(rhs) + left_attr = {} + if left_slice != None and type(left_slice.start) == Literal: + if left_slice.start.val < 0: + left_ofs = -left_slice.start.val + left_attr['slice_ofs'] = left_ofs + else: + left_ofs = 0 + else: + left_ofs = 0 + right_attr = {} + if right_slice != None and type(right_slice.start) == Literal: + if right_slice.start.val < 0: + right_ofs = -right_slice.start.val + right_attr['slice_ofs'] = right_ofs + else: + right_ofs = 0 + else: + right_ofs = 0 + + pre_loop = Loop(0, size[level], 1, []) + loop_ofs = max(left_ofs, right_ofs) + if loop_ofs > 0: + pre_loop.attr['loop_ofs'] = loop_ofs + + if level < left_levels: + lhs = bind(lhs, pre_loop.iterate, left_attr) + node.input_orders[0].append((level, pre_loop)) + if level < right_levels: + rhs = bind(rhs, pre_loop.iterate, right_attr) + node.input_orders[1].append((level, pre_loop)) + res = bind(res, pre_loop.iterate) + node.output_order.append((level, pre_loop)) + pre_loop.attr['output_axis'] = level + ir.append(pre_loop) + ir = pre_loop.body + + ir.append(Assignment(res, Expr(lhs, rhs, op))) + + elif node.op_type in math_op: + # TODO: add loop_ofs + node.operators[0]._gen_ir() + node.input_orders[0] = [] + if len(node._size()) > 0: + size = get_ir_of_size(node._size()) + node.eval = Ndarray(node.dtype, size) + node.decl = [Decl(node.eval)] + pre_loop = Loop(0, node.eval.size[0], 1, []) + node.compute = [pre_loop] + val = bind(node.operators[0].eval, pre_loop.iterate) + res = bind(node.eval, pre_loop.iterate) + for i in range(1, len(node.eval.size)): + loop = Loop(0, node.eval.size[i], 1, []) + pre_loop.body.append(loop) + pre_loop = loop + val = bind(val, pre_loop.iterate) + res = bind(res, pre_loop.iterate) + + assign = Assignment(res, Math(val, node.op_type)) + pre_loop.body.append(assign) + + else: + node.eval = Scalar(node.dtype) + node.decl = [Decl(node.eval)] + node.compute = [Assignment(node.eval, Math(node.operators[0].eval, node.op_type))] + + l = node.compute[0] + for i in range(len(node.eval.size)): + node.output_order.append((i, l)) + l.attr['output_axis'] = i + node.input_orders[0].append((i, l)) + l = l.body[0] + + elif node.op_type == 'setval': + if type(node.operators[0]) == Tensor: + node.operators[0].is_arg = False + + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + + node.eval = node.operators[0].eval + node.operators[0].decl = [d for d in node.operators[0].decl if d.dobject != node.operators[0].eval] + node.decl.append(Decl(node.eval)) + + if is_scalar(node.operators[1]): + val = node.operators[1].eval + + if len(node.ref_size) > 0: + size = get_ir_of_size(node.ref_size) + pre_loop = Loop(0, size[0], 1, []) + node.compute = [pre_loop] + res = bind(node.eval, pre_loop.iterate) + for i in range(1, len(size)): + loop = Loop(0, size[i], 1, []) + pre_loop.body.append(loop) + pre_loop = loop + res = bind(res, pre_loop.iterate) + + assign = Assignment(res, val) + pre_loop.body.append(assign) + else: + node.compute = [Assignment(node.eval, val)] + + l = node.compute[0] + for i in range(len(node.eval.size)): + node.output_order.append((i, l)) + l.attr['output_axis'] = i + l = l.body[0] + else: + node.operators[1].decl = [d for d in node.operators[1].decl if d.dobject != node.operators[1].eval] + node.operators[1].eval = node.eval + replace_output(node.operators[1].compute, node.operators[1].eval, node.eval) + + + elif node.op_type == 'einsum': + node.operators[0]._gen_ir() + if node.operators[1] != None: + node.operators[1]._gen_ir() + node.input_orders[0] = [] + node.input_orders[1] = [] + + exp = node.operators[2] + inputs, output = exp.split('->') + input1, input2 = inputs.split(',') + all_indices = ''.join(sorted(set(input1 + input2))) + all_loops = [] + mapping = {} + + reduce_begins = len(output) + + for i in output: + pos1 = input1.find(i) + pos2 = input2.find(i) + if (pos1 >= 0 and pos2 < 0): + mapping[i] = len(all_loops) + l = Loop(0, node.operators[0].eval.ref_size(pos1), 1, []) + all_loops.append(l) + node.input_orders[0].append((len(node.input_orders[0]), l)) + elif (pos1 < 0 and pos2 >= 0): + mapping[i] = len(all_loops) + l = Loop(0, node.operators[1].eval.ref_size(pos2), 1, []) + all_loops.append(l) + node.input_orders[1].append((len(node.input_orders[1]), l)) + + + for i in all_indices: + if i in output: + continue + pos1 = input1.find(i) + pos2 = input2.find(i) + if (pos1 >= 0 and pos2 < 0): + mapping[i] = len(all_loops) + l = Loop(0, node.operators[0].eval.ref_size(pos1), 1, []) + all_loops.append(l) + node.input_orders[0].append((len(node.input_orders[0]), l)) + elif (pos1 < 0 and pos2 >= 0): + mapping[i] = len(all_loops) + l = Loop(0, node.operators[1].eval.ref_size(pos2), 1, []) + all_loops.append(l) + node.input_orders[1].append((len(node.input_orders[1]), l)) + + + for i in all_indices: + pos1 = input1.find(i) + pos2 = input2.find(i) + if pos1 >= 0 and pos2 >= 0: + mapping[i] = len(all_loops) + l = Loop(0, node.operators[0].eval.ref_size(pos1), 1, [], 'reduction') + all_loops.append(l) + node.input_orders[0].append((len(node.input_orders[0]), l)) + node.input_orders[1].append((len(node.input_orders[1]), l)) + + for i in all_indices: + pos1 = input1.find(i) + pos2 = input2.find(i) + if pos1 < 0 and pos2 < 0: + raise IndexError('index not found!') + + op1 = node.operators[0].eval + for i in input1: + op1 = bind(op1, all_loops[mapping[i]].iterate) + + if node.operators[1] != None: + op2 = node.operators[1].eval + for i in input2: + op2 = bind(op2, all_loops[mapping[i]].iterate) + else: + op2 = None + + size = get_ir_of_size(node._size()) + if len(size) > 0: + node.eval = Ndarray(node.dtype, size) + else: + node.eval = Scalar(node.dtype) + node.decl = [Decl(node.eval)] + res = node.eval + for i in output: + res = bind(res, all_loops[mapping[i]].iterate) + + if op2 != None: + expr = Expr(op1, op2, '*') + else: + expr = op1 + if reduce_begins == len(all_loops): + body = Assignment(res, expr) + else: + body = Assignment(res, expr, '+') + init = Assignment(res, 0) + if reduce_begins == 0: + node.compute.append(init) + pre_loop = all_loops[0] + node.compute.append(pre_loop) + for i in range(1, len(all_loops)): + if reduce_begins == i: + pre_loop.body.append(init) + loop = all_loops[i] + pre_loop.body.append(loop) + pre_loop = loop + pre_loop.body.append(body) + + l = node.compute[0] + for i in range(len(node.eval.size)): + node.output_order.append((i, l)) + l.attr['output_axis'] = i + l = l.body[0] + + + elif node.op_type == 'index': + node.operators[0]._gen_ir() + node.operators[1]._gen_ir() + if type(node.operators[1].eval) in (Scalar, Literal, Indexing): + node.eval = Indexing(node.operators[0].eval, node.operators[1].eval) + elif type(node.operators[1].eval) in (Ndarray, Slice): + node.eval = Indexing(node.operators[0].eval, Indexing(node.operators[1].eval, Literal(-1, 'int'))) + else: + raise TypeError('incorrect index type!') + + elif node.op_type == 'apply': + func = node.operators[0] + nparams = len(inspect.signature(func).parameters) + + # generate IR for the input items of func + for i in range(1, 2+2*nparams): + if node.operators[i] != None: + node.operators[i]._gen_ir() + + primary_axis = node.operators[1+nparams].eval.val + + # this is the loop that iterates over the axis of the primary (first) tensor input + outer_loop = Loop(0, node.operators[1].eval.size[primary_axis], 1, []) + + nn = [] + for i in range(nparams): + item = node.operators[2+2*nparams+i] + item.eval = node.operators[1+i].eval + axis = node.operators[1+nparams+i].eval.val + n = num_unbind(item.eval) + nn.append(n) + for i in range(n, axis): + item.eval = Indexing(item.eval, Literal(-1, 'int')) + if axis >= n: + item.eval = Indexing(item.eval, outer_loop.iterate) + else: + item.eval = bind(item.eval, outer_loop.iterate) + + # since input items of func has been generated and indexed, we can generate the IR of the func + ret = node.operators[-1] + ret._gen_ir() + + # get the input orders + for i in range(min(len(ret.input_orders), nparams)): + n = nn[i] + l = node.input_orders[1+i] + if axis >= n: + for j in range(axis): + l.append((len(l), ret.input_orders[i][j][1])) + l.append((len(l), outer_loop)) + for j in range(axis, len(ret.input_orders[i])): + l.append((len(l), ret.input_orders[i][j][1])) + else: + l.append((len(l), outer_loop)) + for j in range(len(ret.input_orders[i])): + l.append((len(l), ret.input_orders[i][j][1])) + + def action(node, res): + if isinstance(node, Tensor): + res.extend(node.compute) + node.compute.clear() + + t = ASGTraversal(action) + ret_compute = t(ret) + + # if there is no compute in the func, we simply assign the result to itself, so that later the lhs of the assignment will be changed to the output array + if len(ret_compute) == 0: + ret_compute.append(Assignment(ret.eval, copy.copy(ret.eval))) + + # the computation of func are added in the outer_loop + outer_loop.body.extend(ret_compute) + size = get_ir_of_size(node._size()) + node.eval = Ndarray(ret.eval.dtype, size) + node.decl.append(Decl(node.eval)) + node.compute = [outer_loop] + + out_ofs = node.operators[1 + 2*nparams] + res = bind(node.eval, outer_loop.iterate) if out_ofs == None else node.eval + replace_all_ref(node.compute, ret.eval, res) + # if there is an offset for output storage + if out_ofs != None: + # the last statement in the func IR is always a Loop that writes the result to ret.eval (which has been replaced by res) + assert type(ret_compute[-1]) == Loop + l = ret_compute[-1] + while (type(l) == Loop): + l = l.body[-1] + # But the index to the node.eval in res is incorrect, we need to change it according to the offset + rebind_iterate(l.lhs, ret_compute[-1].iterate, Expr(Indexing(out_ofs.eval, outer_loop.iterate), ret_compute[-1].iterate, '+')) + # ret.eval is removed from the decl + node.decl = [d for d in node.decl if d.dobject != ret.eval] + + node.output_order = [(0, outer_loop)] + outer_loop.attr['output_axis'] = 0 + if hasattr(ret, 'output_order'): + for i in range(len(ret.output_order)): + node.output_order.append((i+1, ret.output_order[i][1])) + ret.output_order[i][1].attr['output_axis'] = i + 1 + + + elif node.op_type == 'reduce': + #TODO: add input_orders for reduce, and aggr + node.operators[0]._gen_ir() # input data + node.operators[3]._gen_ir() # axis + axis = node.operators[3].eval.val + + size = get_ir_of_size(node._size()) + if len(size) > 0: + node.eval = Ndarray(node.dtype, size) + else: + node.eval = Scalar(node.dtype) + + + node.operators[2]._gen_ir() # init + # the decl of node.eval should be added to the init + node.operators[2].decl.append(Decl(node.eval)) + + outer_loop = Loop(0, node.operators[0].eval.size[axis], 1, [], 'reduction') + + item1 = node.operators[4] + item2 = node.operators[5] + item1.eval = node.eval + item2.eval = node.operators[0].eval + n = num_unbind(item2.eval) + for i in range(n, axis): + item2.eval = Indexing(item2.eval, Literal(-1, 'int')) + if axis > n: + item2.eval = Indexing(item2.eval, outer_loop.iterate) + else: + item2.eval = bind(item2.eval, outer_loop.iterate) + item2.decl = [] + item1.decl = [] + + ret = node.operators[-1] + ret._gen_ir() + + compute = ret.output_order[-1][1].body if len(ret.output_order) > 0 else ret.compute + outer_loop.body = compute[:] + compute.clear() + + # merge init into node.compute + init = node.operators[2].output_order[-1][1].body if len(node.operators[2].output_order) > 0 else node.operators[2].compute + # assert len(node.operators[2].output_order) == len(ret.output_order) + for i in range(len(node.operators[2].output_order)): + # assert has_same_iteration_space(node.operators[2].output_order[i][1], ret.output_order[i][1]) + rebind_iterate(init, node.operators[2].output_order[i][1].iterate, ret.output_order[i][1].iterate) + node.output_order.append((i, ret.output_order[i][1])) + ret.output_order[i][1].attr['output_axis'] = i + compute.extend(init) + node.operators[2].compute.clear() + compute.append(outer_loop) + + def action(node, res): + if isinstance(node, Tensor): + res.extend(node.compute) + node.compute.clear() + + t = ASGTraversal(action) + ret_compute = t(ret) + + node.compute.extend(ret_compute) + + replace_output(node.compute, ret.eval, node.eval) + node.decl = [d for d in node.decl if d.dobject != ret.eval] + + + elif node.op_type == 'aggr': + node.operators[0]._gen_ir() # input tensor + node.operators[3]._gen_ir() # indices + node.operators[4]._gen_ir() # axis + axis = node.operators[4].eval.val + size = get_ir_of_size(node._size()) + node.eval = Ndarray(node.dtype, size) + node.operators[2]._gen_ir() # init + node.operators[2].decl.append(Decl(node.eval)) + + # compute + outer_loop = Loop(0, node.operators[0].eval.size[axis], 1, [], 'reduction') + + item1 = node.operators[6] + item2 = node.operators[7] + item1.eval = Indexing(node.eval, Indexing(node.operators[3].eval, outer_loop.iterate)) + item2.eval = node.operators[0].eval + for i in range(axis): + item2.eval = Indexing(item2.eval, Literal(-1, 'int')) + item2.eval = Indexing(item2.eval, outer_loop.iterate) + item2.decl = [] + item1.decl = [] + + ret = node.operators[-1] + ret._gen_ir() + + def action(node, res): + if isinstance(node, Tensor): + res.extend(node.compute) + node.compute.clear() + + t = ASGTraversal(action) + ret_compute = t(ret) + + outer_loop.body.extend(ret_compute) + node.compute.append(outer_loop) + + replace_output(node.compute, ret.eval, item1.eval) + node.decl = [d for d in node.decl if d.dobject != ret.eval] + + + node.output_order = [(0, outer_loop)] + for i in range(len(ret.output_order)): + node.output_order.append((i+1, ret.output_order[i][1])) + ret.output_order[i][1].attr['output_axis'] = i + 1 + + return node + diff --git a/core/ast.py b/core/ast.py deleted file mode 100644 index 29a286d..0000000 --- a/core/ast.py +++ /dev/null @@ -1,367 +0,0 @@ - -def is_int_var(v): - return isinstance(v, Tensor) and v.dtype == 'int' and len(v._size()) == 0 - -def is_scalar(v): - return isinstance(v, int|float) or (isinstance(v, Tensor) and len(v._size()) == 0) - -def is_1dint_tensor(v): - return isinstance(v, Tensor) and v.dtype == 'int' and len(v._size()) == 1 - - -def eval_const_expr(e): - if type(e) == TensorOp and (e.op_type in op_mapping): - lhs = eval_const_expr(e.operators[0]) - if lhs != None: - rhs = eval_const_expr(e.operators[1]) - if rhs != None: - match e.op_type: - case 'add': - return lhs + rhs - case 'sub': - return lhs - rhs - case 'mul': - return lhs * rhs - case 'floordiv': - return lhs // rhs - case 'truediv': - return lhs / rhs - case _: - return None - else: - return None - else: - return None - elif type(e) == Const: - return e.eval - else: - return None - -def has_same_value(e1, e2): - if type(e1) != type(e2): - return False - elif type(e1) == Var or type(e1) == Tensor: - return e1 == e2 - elif type(e1) == Const: - if e1.dtype == 'int' and e2.dtype == 'int': - return e1.val == e2.val - elif e1.dtype == 'slice' and e2.dtype =='slice': - return has_same_value(e1.val.start, e2.val.start) and has_same_value(e1.val.stop, e2.val.stop) and has_same_value(e1.val.step, e2.val.step) - else: - return False - elif type(e1) == TensorOp: - if e1.op_type != e2.op_type: - return False - elif e1.op_type in op_mapping: - v1 = eval_const_expr(e1) - v2 = eval_const_expr(e2) - if v1 != None and v1 == v2: - return True - else: - return False - else: - if len(e1.operators) != len(e2.operators): - return False - else: - for i in range(len(e1.operators)): - if not has_same_value(e1.operators[i], e2.operators[i]): - return False - return True - -# def get_list_size(l, s): -# if type(l) == list or type(l) == tuple: -# s.append(len(l)) -# t = l[0] -# for i in range(1, len(l)): -# if type(t) == list or type(t) == tuple: -# assert (type(l[i])==list or type(l[i])==tuple) and len(t) == len(l[i]) -# get_list_size(t, s) -# else: -# assert is_scalar(l) - - -# def dump_values(l, s): -# if type(l) == list or type(l) == tuple: -# for m in l: -# dump_values(m, s) -# else: -# assert is_scalar(l) -# s.append(l) -# - -def is_same_size(s1, s2): - if(len(s1) != len(s2)): - return False - for i in range(len(s1)): - if s1[i] != s2[i]: - if type(s1[i]) == type(s2[i]): - return has_same_value(s1[i], s2[i]) - else: - return False - - return True - -op_mapping = {'add':'+', 'sub':'-', 'mul':'*', 'floordiv':'/', 'truediv':'/'} - - -class ASTNode: - - def __init__(self): - self.decl = [] - self.compute = [] - self.eval = None - - -class Tensor(ASTNode): - def __init__(self, name, size:list|tuple, dtype='float', fix_size=[], is_arg=True): - super().__init__() - - self.is_arg = is_arg - self.name = name - self.ref_size = [] - for s in size: - if is_int_var(s): - self.ref_size.append(s) - elif type(s) == int: - self.ref_size.append(Const(s, 'int')) - else: - raise TypeError('tensor dimensions must be int or a scalar int variable') - self.fix_size = [] - for s in fix_size: - if is_int_var(s): - self.fix_size.append(s) - elif type(s) == int: - self.fix_size.append(Const(s, 'int')) - else: - raise TypeError('tensor dimensions must be int or a scalar int variable') - self.dtype = dtype - - def __sub__(self, other): - return TensorOp('sub', self, other) - - def __add__(self, other): - return TensorOp('add', self, other) - - def __mul__(self, other): - return TensorOp('mul', self, other) - - def __floordiv__(self, other): - return TensorOp('floordiv', self, other) - - def __matmul__(self, other): - return TensorOp('einsum', self, other, 'ij,jk->ik') - - def __getitem__(self, idx): - if isinstance(idx, (int, slice, Tensor)): - return TensorOp('index', self, idx) - else: - raise TypeError('invalid index type') - - def apply(self, func, axis=0): - if callable(func): - from core.ast2ir import gen_ir - op = TensorOp('apply', self, func, axis) - gen_ir(op) - return op - else: - raise TypeError('must apply a callable function') - - def reduce(self, func, init, axis=0): - if callable(func): - from core.ast2ir import gen_ir - op = TensorOp('reduce', self, func, init, axis) - gen_ir(op) - return op - else: - raise TypeError('reduce must use a callable function') - - def sum(self, axis=0): - func = lambda x, y: x + y - size = self._size()[:axis] + self._size()[axis+1:] - if (len(size) > 0): - init = Zeros(size) - else: - init = Zero() - return self.reduce(func, init, axis) - - - - def _size(self): - return self.fix_size + self.ref_size - - def size(self): - s = self._size() # s is a list of int, Var, or Const - if len(s) > 1: - return Tensor(f'{self.name}_size', val=s, dtype='int') - elif len(s) == 1: - if type(s[0]) == int: - return Const(s, dtype='int') - else: - return s[0] - else: - return Const(0, dtype='int') - - -class Ones(Tensor): - nones = 0 - def __init__(self, size, dtype='float'): - super.__init__(f'ones_{Ones.nones}', size, dtype, [], False) - Ones.nones += 1 - -class Zeros(Tensor): - nzeros = 0 - def __init__(self, size, dtype='float'): - super().__init__(f'zeros_{Zeros.nzeros}', size, dtype, [], False) - Zeros.nzeros += 1 - - -class Var(Tensor): - def __init__(self, name, dtype='int', is_arg=True): - super().__init__(name, [], dtype, [], is_arg) - - -class One(Var): - none = 0 - def __init__(self, dtype='float'): - super().__init__(f'one_{One.none}', dtype, False) - One.none += 1 - -class Zero(Var): - nzero = 0 - def __init__(self, dtype='float'): - super().__init__(f'zero_{Zero.nzero}', dtype, False) - Zero.nzero += 1 - - -# const is var without name -class Const(Var): - nconsts = 0 - def __init__(self, val, dtype): - super().__init__(f'c{Const.nconsts}', dtype) - Const.nconsts += 1 - if dtype == 'slice': - assert type(val.start) == int or is_int_var(val.start) - assert type(val.stop) == int or is_int_var(val.stop) - assert type(val.step) == int or is_int_var(val.step) - self.val = val - - -def einsum(exp: str, tensor1, tensor2): - return TensorOp('einsum', tensor1, tensor2, exp) - -class TensorOp(Tensor): - Types = ['index', 'apply', 'reduce', 'einsum'] + list(op_mapping.keys()) - - def __init__(self, op_type, *operators): - assert op_type in TensorOp.Types - - # TODO: infer result data type - dtype = operators[0].dtype - self.operators = list(operators) - - # TODO: implement scalar +/-/*/div tensor - if op_type in op_mapping: - ref_size = operators[0].fix_size + operators[0].ref_size - fix_size = [] - if type(operators[1]) == int: - self.operators[1] = Const(operators[1], 'int') - elif type(operators[1]) == float: - self.operators[1] = Const(operators[1], 'float') - - elif op_type == 'einsum': - exp = operators[2] - inputs, output = exp.split('->') - input1, input2 = inputs.split(',') - op1_size = operators[0].fix_size + operators[0].ref_size - op2_size = operators[1].fix_size + operators[1].ref_size - ref_size = [] - fix_size = [] - for i in output: - pos1 = input1.find(i) - if pos1 >= 0: - ref_size.append(op1_size[pos1]) - else: - pos2 = input2.find(i) - if pos2 >= 0: - ref_size.append(op2_size[pos2]) - else: - raise IndexError('index not found!') - - elif op_type == 'index': - ref_size = operators[0].ref_size[1:] - fix_size = operators[0].fix_size[:] - if type(operators[1]) == int: - self.operators[1] = Const(operators[1], 'int') - elif type(operators[1]) == slice: - start = operators[1].start - if start == None: - start = Const(0, 'int') - elif type(start) == int: - start = Const(start, 'int') - stop = operators[1].stop - if stop == None: - stop = operators[0].ref_size[0] - elif type(stop) == int: - stop = Const(stop, 'int') - step = operators[1].step - if step == None: - step = Const(1, 'int') - elif type(step) == int: - step = Const(step, 'int') - - self.operators[1] = Const(slice(start, stop, step), 'slice') - fix_size.append((stop - start)//step) - elif is_int_var(operators[1]): - self.operators[1] = operators[1] - elif is_1dint_tensor(operators[1]): - fix_size.append(operators[1].ref_size[0]) - else: - raise TypeError('index must be int, Var of int, or 1d int Tensor') - - elif op_type == 'apply': - assert type(operators[2]) == int - axis = operators[2] - self.operators[2] = Const(axis, 'int') - # size cannot be determined except for axis dimension, so set -1 - ref_size = [operators[0]._size()[axis], -1] - fix_size = [] - # data type also cannot be determined - dtype = None - - data_size = operators[0]._size() - item_size = data_size[:axis] + data_size[axis + 1:] - if (len(item_size) > 0): - item = Tensor(f'item_of_{operators[0].name}', item_size, - operators[0].dtype, [], False) - else: - item = Var(f'item_of_{operators[0].name}', operators[0].dtype, False) - self.operators.append(item) - - elif op_type == 'reduce': - assert type(operators[3]) == int - axis = operators[3] - self.operators[3] = Const(axis, 'int') - ref_size = operators[0]._size()[:axis] + operators[0]._size()[axis+1:] - fix_size = [] - dtype = operators[0].dtype - if (len(ref_size) > 0): - item1 = Tensor(f'item1_of_{operators[0].name}', ref_size, - operators[0].dtype, [], False) - item2 = Tensor(f'item2_of_{operators[0].name}', ref_size, - operators[0].dtype, [], False) - else: - item1 = Var(f'item1_of_{operators[0].name}', operators[0].dtype, False) - item2 = Var(f'item2_of_{operators[0].name}', operators[0].dtype, False) - self.operators.append(item1) - self.operators.append(item2) - - name = f'{op_type}_' + '_'.join([op.name if hasattr(op, 'name') else '' for op in self.operators]) - - super().__init__(name, ref_size, dtype, fix_size) - - self.op_type = op_type - - - - - diff --git a/core/ast2ir.py b/core/ast2ir.py deleted file mode 100644 index 6853f80..0000000 --- a/core/ast2ir.py +++ /dev/null @@ -1,283 +0,0 @@ -import torch - -from core.ast import * -from core.ir import * -from opt.loop import * -from core.helpers import * - - - -def bind(arr: (Ndarray, Index), index, nref=False): - if type(arr) == Ndarray or index == None or nref: - return Index(arr, index=index) - else: - ref_chain = [arr] - while (type(ref_chain[-1].dobject) != Ndarray): - ref_chain.append(ref_chain[-1].dobject) - for ref in ref_chain[::-1]: - if ref.index == None: - ref.index = index - return arr - return Index(arr, index=index) - - -def get_ir_of_size(size): - ir_size = [] - for s in size: - assert isinstance(s, ASTNode) - gen_ir(s) - ir_size.append(s.eval) - return ir_size - - - -def gen_ir(node): - assert isinstance(node, ASTNode) - if len(node.compute) > 0 or len(node.decl) > 0 or node.eval: - return node - if type(node) == Const: - if node.dtype != 'slice': - node.eval = node.val - else: - gen_ir(node.val.start) - gen_ir(node.val.stop) - gen_ir(node.val.step) - node.eval = Slice(node.val.start.eval, node.val.stop.eval, node.val.step.eval) - - elif type(node) == Var or (type(node) == Tensor and len(node._size()) == 0): - node.eval = Scalar(node.dtype, node.name, node.is_arg) - node.decl = [Decl(node.eval)] - - elif type(node) == Tensor and len(node._size()) > 0: - # convert AST sizes to IR sizes - size = get_ir_of_size(node._size()) - node.eval = Ndarray(node.dtype, size, node.name, node.is_arg) - node.decl = [Decl(node.eval)] - - # here we define two special tensors to simply programming for sum/prod operations - elif (type(node) == Ones or type(node) == Zeros) and len(node._size()) > 0: - size = get_ir_of_size(node._size()) - node.eval = Ndarray(node.dtype, size, node.name, False, 1 if (type(node) == Ones) else 0) - node.decl = [Decl(node.eval)] - - elif ((type(node) == Ones or type(node) == Zeros) and len(node._size()) == 0) or ((type(node) == One or type(node) == Zero)): - node.eval = Scalar(node.dtype, node.name, False, 1 if (type(node) == Ones or type(node) == One) else 0) - node.decl = [Decl(node.eval)] - - # elif type(node) == Set: - # gen_ir(node.storage) - # gen_ir(node.nelem) - # ref = Ref(node.storage.eval) - # node.eval = ref - # node.decl = [Decl(ref)] - - elif type(node) == TensorOp: - if node.op_type in op_mapping: - gen_ir(node.operators[0]) - gen_ir(node.operators[1]) - # TODO: add support for scalar + tensor - assert isinstance(node.operators[0], Tensor) and isinstance(node.operators[1], Tensor) - if is_same_size(node.operators[0]._size(), node.operators[1]._size()): - if len(node._size()) > 0: - size = get_ir_of_size(node._size()) - node.eval = Ndarray(node.dtype, size) - node.decl = [Decl(node.eval)] - pre_loop = Loop(0, node.eval.size[0], 1, []) - node.compute = [pre_loop] - lhs = bind(node.operators[0].eval, pre_loop.iterate) - rhs = bind(node.operators[1].eval, pre_loop.iterate) - res = bind(node.eval, pre_loop.iterate) - for i in range(1, len(node.eval.size)): - loop = Loop(0, node.eval.size[i], 1, []) - pre_loop.body.append(loop) - pre_loop = loop - lhs = bind(lhs, pre_loop.iterate) - rhs = bind(rhs, pre_loop.iterate) - res = bind(res, pre_loop.iterate) - - op = op_mapping[node.op_type] - assign = Assignment(res, Expr(lhs, rhs, op)) - pre_loop.body.append(assign) - - else: - node.eval = Scalar(node.dtype) - node.decl = [Decl(node.eval)] - node.compute = [Assignment(node.eval, Expr(node.operators[0].eval, node.operators[1].eval, op_mapping[node.op_type]))] - - elif node.op_type == 'einsum': - gen_ir(node.operators[0]) - gen_ir(node.operators[1]) - exp = node.operators[2] - inputs, output = exp.split('->') - input1, input2 = inputs.split(',') - all_indices = ''.join(sorted(set(input1 + input2))) - all_loops = [] - for i in all_indices: - pos1 = input1.find(i) - if pos1 >= 0: - all_loops.append(Loop(0, node.operators[0].eval.size[pos1], 1, [])) - else: - pos2 = input2.find(i) - if pos2 >= 0: - all_loops.append(Loop(0, node.operators[1].eval.size[pos2], 1, [])) - else: - raise IndexError('index not found!') - - op1 = node.operators[0].eval - for i in input1: - idx = all_indices.find(i) - op1 = Index(op1, all_loops[idx].iterate) - - op2 = node.operators[1].eval - for i in input2: - idx = all_indices.find(i) - op2 = Index(op2, all_loops[idx].iterate) - - size = get_ir_of_size(node._size()) - node.eval = Ndarray(node.dtype, size, val=0) - node.decl = [Decl(node.eval)] - res = node.eval - for i in output: - idx = all_indices.find(i) - res = Index(res, all_loops[idx].iterate) - - body = Assignment(res, Expr(op1, op2, '*'), '+') - pre_loop = all_loops[0] - node.compute = [pre_loop] - for i in range(1, len(all_loops)): - loop = all_loops[i] - pre_loop.body.append(loop) - pre_loop = loop - pre_loop.body.append(body) - - - elif node.op_type == 'index': - gen_ir(node.operators[0]) - gen_ir(node.operators[1]) - if type(node.operators[1]) == Var or (type(node.operators[1]) == Const and node.operators[1].dtype == 'int'): - node.eval = Index(node.operators[0].eval, index=node.operators[1].eval) - else: - node.eval = Index(node.operators[0].eval, ind_arr=node.operators[1].eval) - - elif node.op_type == 'apply': - gen_ir(node.operators[0]) - gen_ir(node.operators[2]) - - axis = node.operators[2].eval - - outer_loop = Loop(0, node.operators[0].eval.size[axis], 1, []) - item = node.operators[3] - item.eval = node.operators[0].eval - for i in range(axis): - item.eval = bind(item.eval, None) - item.eval = bind(item.eval, outer_loop.iterate, True) - - item.decl = [] - ret = node.operators[1](item) - gen_ir(ret) - node.operators.append(ret) - node.dtype = ret.dtype - node.ref_size = [node._size()[0]] + ret._size() - node.fix_size = [] - outer_loop.body.extend(ret.compute[:]) - ret.compute.clear() - size = get_ir_of_size(node._size()) - node.eval = Ndarray(ret.eval.dtype, size) - node.decl.append(Decl(node.eval)) - - # node.eval <= ret.eval - res = bind(node.eval, outer_loop.iterate) - if (len(ret.eval.size) > 0): - pre_loop = Loop(0, ret.eval.size[0], 1, []) - outer_loop.body.append(pre_loop) - res = bind(res, pre_loop.iterate) - rhs = bind(ret.eval, pre_loop.iterate) - for i in range(1, len(ret.eval.size)): - loop = Loop(0, ret.eval.size[i], 1, []) - pre_loop.body.append(loop) - pre_loop = loop - res = bind(res, pre_loop.iterate) - rhs = bind(rhs, pre_loop.iterate) - pre_loop.body.append(Assignment(res, rhs)) - else: - assign = Assignment(res, ret.eval) - outer_loop.body.append(assign) - - scope = outer_loop.body - while len(scope) == 2: - fuse(scope, scope[0], scope[1]) - if type(scope[0]) is not Loop: - break - scope = scope[0].body - - node.compute = [outer_loop] - - elif node.op_type == 'reduce': - gen_ir(node.operators[0]) - gen_ir(node.operators[2]) - gen_ir(node.operators[3]) - axis = node.operators[3].eval - - size = get_ir_of_size(node._size()) - if len(size) > 0: - node.eval = Ndarray(node.dtype, size) - else: - node.eval = Scalar(node.dtype) - node.decl.append(Decl(node.eval)) - - node.compute = [] - if len(node.eval.size) > 0: - pre_loop = Loop(0, node.eval.size[0], 1, []) - node.compute.append(pre_loop) - res = bind(node.eval, pre_loop.iterate) - rhs = bind(node.operators[2].eval, pre_loop.iterate) - for i in range(1, len(node.eval.size)): - loop = Loop(0, node.eval.size[i], 1, []) - pre_loop.body.append(loop) - pre_loop = loop - res = bind(res, pre_loop.iterate) - rhs = bind(rhs, pre_loop.iterate) - pre_loop.body.append(Assignment(res, rhs)) - else: - assign = Assignment(node.eval, node.operators[2].eval) - node.compute.append(assign) - - - outer_loop = Loop(0, node.operators[0].eval.size[axis], 1, []) - - item1 = node.operators[4] - item2 = node.operators[5] - item1.eval = node.eval - item2.eval = node.operators[0].eval - for i in range(axis): - item2.eval = bind(item2.eval, None) - item2.eval = bind(item2.eval, outer_loop.iterate, True) - item2.decl = [] - item1.decl = [] - - ret = node.operators[1](item1, item2) - gen_ir(ret) - node.operators.append(ret) - outer_loop.body.extend(ret.compute[:]) - ret.compute.clear() - - if (len(ret.eval.size) > 0): - pre_loop = Loop(0, ret.eval.size[0], 1, []) - outer_loop.body.append(pre_loop) - res = bind(node.eval, pre_loop.iterate) - rhs = bind(ret.eval, pre_loop.iterate) - for i in range(1, len(ret.eval.size)): - loop = Loop(0, ret.eval.size[i], 1, []) - pre_loop.body.append(loop) - pre_loop = loop - res = bind(res, pre_loop.iterate) - rhs = bind(rhs, pre_loop.iterate) - pre_loop.body.append(Assignment(res, rhs)) - else: - assign = Assignment(node.eval, ret.eval) - outer_loop.body.append(assign) - - node.compute.append(outer_loop) - - return node - diff --git a/core/helpers.py b/core/helpers.py deleted file mode 100644 index 04bdfe7..0000000 --- a/core/helpers.py +++ /dev/null @@ -1,58 +0,0 @@ -from core.ast2ir import * -from ext.set import * -from codegen.cpu import * - -class Traversal: - - def __init__(self, action): - self.action = action - - def _post_traverse(self, node, visited, res): - if not isinstance(node, ASTNode): - return - if node in visited: - return - else: - visited.add(node) - - if type(node) == Var or type(node) == One or type(node) == Zero: - self.action(node, res) - elif type(node) == Const: - if node.dtype == 'slice': - self._post_traverse(node.val.start, visited, res) - self._post_traverse(node.val.stop, visited, res) - self._post_traverse(node.val.step, visited, res) - elif type(node) == Tensor or type(node) == Ones or type(node) == Zeros: - for s in node.fix_size: - self._post_traverse(s, visited, res) - for s in node.ref_size: - self._post_traverse(s, visited, res) - self.action(node, res) - elif type(node) == Set: - self._post_traverse(node.storage, visited, res) - self._post_traverse(node.nelem, visited, res) - self.action(node, res) - elif type(node) == TensorOp: - for s in node.fix_size: - self._post_traverse(s, visited, res) - for s in node.ref_size: - self._post_traverse(s, visited, res) - for c in node.operators: - self._post_traverse(c, visited, res) - self.action(node, res) - - def __call__(self, ast): - visited = set() - res = [] - self._post_traverse(ast, visited, res) - return res - -def get_input_nodes(ast): - def action(node, res): - if type(node) == Var or type(node) == Tensor or type(node) == Set: - if node.is_arg: - res.append([node.name, node]) - - t = Traversal(action) - return dict(t(ast)) - diff --git a/core/ir.py b/core/ir.py index f33c964..c4be293 100644 --- a/core/ir.py +++ b/core/ir.py @@ -1,25 +1,40 @@ class IR: - pass + def __init__(self): + self.attr = {} -class DOject(IR): +class Code(IR): + def __init__(self, code, keywords: dict): + self.code = code + self.keywords = keywords + + +class DObject(IR): nobjects = 0 - def __init__(self, dtype: str): - self.dobject_id = DOject.nobjects - DOject.nobjects += 1 + def __init__(self, dtype: str, size: (list, tuple)): + super().__init__() + self.dobject_id = DObject.nobjects + DObject.nobjects += 1 self.dtype = dtype + self.size = size + + def ref_size(self, axis): + return self.size[axis] class Expr(IR): def __init__(self, left, right, op: str): + super().__init__() self.left = left self.right = right self.op = op + self.size = self.left.size class Assignment(IR): def __init__(self, lhs, rhs, op=None): + super().__init__() self.lhs = lhs self.rhs = rhs self.op = op @@ -28,8 +43,10 @@ def __init__(self, lhs, rhs, op=None): class Loop(IR): loop_id = 0 + parallel_types = ['naive', 'reduction', 'scan'] - def __init__(self, start, end, step, body: list): + def __init__(self, start, end, step, body: list, ptype='naive'): + super().__init__() self.lid = Loop.loop_id Loop.loop_id += 1 self.start = start @@ -37,37 +54,38 @@ def __init__(self, start, end, step, body: list): self.step = step self.body = body self.iterate = Scalar('int', f'_l{self.lid}') + self.attr['ptype'] = ptype + self.iterate.attr['loop'] = self - -class Scalar(DOject): - def __init__(self, dtype: str, name: str = None, is_arg = False, val = None): - super().__init__(dtype) +class Scalar(DObject): + def __init__(self, dtype: str, name: str = None, is_arg = False): + super().__init__(dtype, []) self.__name__ = name if name else f's{self.dobject_id}' - self.size = [] - self.val = val self.is_arg = is_arg - - def name(self): return self.__name__ - def addr(self): - return self.name() + +class Literal(DObject): + def __init__(self, val: (int, float), dtype: str): + super().__init__(dtype, []) + self.val = val class Slice(IR): def __init__(self, start, stop, step): + super().__init__() self.start = start self.stop = stop self.step = step + self.dtype = 'int' + self.size = [Expr(Expr(self.stop, self.start, '-'), self.step, '/')] -class Ndarray(DOject): - def __init__(self, dtype: str, size: tuple, name: str = None, is_arg = False, val = None): - super().__init__(dtype) - self.size = size +class Ndarray(DObject): + def __init__(self, dtype: str, size: tuple, name: str = None, is_arg = False): + super().__init__(dtype, size) self.__name__ = name if name else f'arr{self.dobject_id}' - self.val = val # val is None, 0, or 1 self.is_arg = is_arg def __getitem__(self, item): @@ -76,49 +94,41 @@ def __getitem__(self, item): def name(self): return self.__name__ - def addr(self): - return self.name() - - -class Ref(IR): - nrefs = 0 - def __init__(self, dobject): - self.dobject = dobject - self.ref_id = Ref.nrefs - Ref.nrefs += 1 - - - def name(self): - return f'ref{self.ref_id}_{self.dobject.name()}' - - def addr(self): - return self.name() +class Math(IR): + def __init__(self, val, type): + self.val = val + self.type = type -class Index(IR): - nindices = 0 - def __init__(self, dobject, index=None, ind_arr=None): +class Indexing(DObject): + def __init__(self, dobject, idx): + assert dobject != None and type(dobject) in (Slice, Ndarray, Indexing) + assert idx != None and type(idx) in (Scalar, Literal, Indexing, Expr) self.dobject = dobject - self.index = index - self.ind_arr = ind_arr - self.dtype = self.dobject.dtype - self.size = dobject.size[1:] - self.index_id = Index.nindices - Index.nindices += 1 - - - def name(self): - return f'ref{self.index_id}_{self.dobject.name()}' - - def addr(self): - if self.ind_arr: - return f'{self.dobject}[{self.ind_arr[0]}]' + self.idx = idx + + if type(self.dobject) in (Ndarray, Slice): + if type(idx) == Literal and idx.val == -1: + # idx is unspecified, which means the Indexing is a range of indice stored in dobject, so the size of Indexing should the same as the dobject + size = dobject.size[:] + self.ref_point = 1 + else: + # idx is a specific Scalar, Literal, or Indexing, in any case, the size of the Indexing operation should be as follows + # ref_point should be the next dimension if the node is further Indexed + size = idx.size + dobject.size[1:] + self.ref_point = len(idx.size) else: - return f'{self.dobject}[0]' + # dobject is an Indexing + size = dobject.size[:dobject.ref_point] + idx.size + dobject.size[dobject.ref_point+1:] + self.ref_point = dobject.ref_point + len(idx.size) + super().__init__(dobject.dtype, size) + def ref_size(self, axis): + return self.size[axis+self.ref_point] class Decl(IR): - def __init__(self, dobject): + def __init__(self, dobject: (Scalar, Ndarray)): + super().__init__() self.dobject = dobject \ No newline at end of file diff --git a/cs4980_examples/loop_fusion.py b/cs4980_examples/loop_fusion.py deleted file mode 100644 index a6b40f3..0000000 --- a/cs4980_examples/loop_fusion.py +++ /dev/null @@ -1,99 +0,0 @@ -import sys -import os - -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from core.ir import * -from codegen.cpu import * - -def PrintCCode(ir): - code = '' - for d in ir: - if d: - code += to_string(d) - print(code) - -# Original Loop: -# for (int _l0 = 0; _l0 < N; _l0 += 1) { -# A0[_l0] = _l0; -# } -# for (int _l1 = 0; _l1 < N; _l1 += 1) { -# A1[_l1] = _l1; -# } -def BuildTwoLoopByIR(): - ir = [] - - N = Scalar('int', 'N') - A0 = Ndarray('int', (N, ), 'A0') - A1 = Ndarray('int', (N, ), 'A1') - - loop0 = Loop(0, N, 1, []) - loop1 = Loop(0, N, 1, []) - - - body0 = Assignment(Index(A0, loop0.iterate), loop0.iterate) - body1 = Assignment(Index(A1, loop1.iterate), loop1.iterate) - - loop0.body.append(body0) - loop1.body.append(body1) - - ir.extend([Decl(N)]) - ir.extend([Decl(A0)]) - ir.extend([Decl(A1)]) - ir.extend([loop0]) - ir.extend([loop1]) - - return ir - - -# Loop after fusion: -# int N; -# torch::Tensor obj_A0 = torch::empty({N}, at::kInt); -# auto A0 = obj_A0.accessor(); -# torch::Tensor obj_A1 = torch::empty({N}, at::kInt); -# auto A1 = obj_A1.accessor(); -# for (int _l0 = 0; _l0 < N; _l0 += 1) { -# A0[_l0] = _l0; -# A1[_l0] = _l0; -# } -def LoopFusion(ir): - optimized_ir = [] - fused_loops = [] - for item in ir: - if type(item)==Loop: - if len(fused_loops) == 0: - fused_loops.append(item) - optimized_ir.append(item) - else: - if fused_loops[0].start == item.start and fused_loops[0].end == item.end and fused_loops[0].step == item.step: - for statement in item.body: - lhs = None - rhs = None - if type(statement) == Assignment: - lhs = statement.lhs - rhs = statement.rhs - elif type(statement) == Expr: - lhs = statement.left - rhs = statement.right - if type(lhs) == Index: - statement.lhs.index = fused_loops[0].iterate - if type(rhs) == Index: - statement.rhs.index = fused_loops[0].iterate - if type(rhs) == Scalar: - statement.rhs = fused_loops[0].iterate - fused_loops[0].body.append(item.body[0]) - - else: - optimized_ir.append(item) - return optimized_ir - -if __name__ == "__main__": - ir = BuildTwoLoopByIR() - print("Loop before fusion:") - PrintCCode(ir) - - optimized_ir = LoopFusion(ir) - print("Loop after fusion:") - PrintCCode(optimized_ir) - - - diff --git a/cs4980_examples/loop_interchange.py b/cs4980_examples/loop_interchange.py deleted file mode 100644 index 014722c..0000000 --- a/cs4980_examples/loop_interchange.py +++ /dev/null @@ -1,84 +0,0 @@ -import sys -import os - -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from core.ir import * -from codegen.cpu import * - -def PrintCCode(ir): - code = '' - for d in ir: - if d: - code += to_string(d) - print(code) - -# Original Loop: -# int N; -# torch::Tensor obj_A = torch::empty({N,N}, at::kInt); -# auto A = obj_A.accessor(); -# for (int _l0 = 0; _l0 < N; _l0 += 1) { -# for (int _l1 = 0; _l1 < N; _l1 += 1) { -# A[_l0][_l1] = A[_l0 - 1][_l1 - 1] + 1; -# } -# } -def BuildNestedLoopByIR(): - ir = [] - - N = Scalar('int', 'N') - A = Ndarray('int', (N, N), 'A') - - outer_loop = Loop(0, N, 1, []) - inner_loop = Loop(0, N, 1, []) - outer_loop.body.append(inner_loop) - - lhs = Index(Index(A, outer_loop.iterate), inner_loop.iterate) - rhs = Index(Index(A, Expr(outer_loop.iterate, 1, '-')), Expr(inner_loop.iterate, 1, '-')) - - inner_loop_body = Assignment(lhs, Expr(rhs, 1, '+')) - inner_loop.body.append(inner_loop_body) - - ir.extend([Decl(N)]) - ir.extend([Decl(A)]) - ir.extend([outer_loop]) - - return ir - - -# Loop after applying interchange: -# int N; -# torch::Tensor obj_A = torch::empty({N,N}, at::kInt); -# auto A = obj_A.accessor(); -# for (int _l1 = 0; _l1 < N; _l1 += 1) { -# for (int _l0 = 0; _l0 < N; _l0 += 1) { -# A[_l0][_l1] = A[_l0 - 1][_l1 - 1] + 1; -# } -# } -def LoopInterchange(ir): - optimized_ir = [] - for item in ir: - if type(item)==Loop: - outer_loop = item - inner_loop = item.body[0] - body = inner_loop.body[0] - - inner_loop.body.clear() - outer_loop.body.clear() - interchanged_loop = inner_loop - interchanged_loop.body.append(outer_loop) - interchanged_loop.body[0].body.append(body) - optimized_ir.append(interchanged_loop) - else: - optimized_ir.append(item) - return optimized_ir - -if __name__ == "__main__": - ir = BuildNestedLoopByIR() - print("Loop before interchange:") - PrintCCode(ir) - - optimized_ir = LoopInterchange(ir) - print("Loop after interchange:") - PrintCCode(optimized_ir) - - - diff --git a/cset/.DS_Store b/cset/.DS_Store new file mode 100644 index 0000000..83ddfa9 Binary files /dev/null and b/cset/.DS_Store differ diff --git a/cset/__init__.py b/cset/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/cset/app/subgraph_matching.py b/cset/app/subgraph_matching.py new file mode 100644 index 0000000..09f27c1 --- /dev/null +++ b/cset/app/subgraph_matching.py @@ -0,0 +1,303 @@ +import os +from itertools import permutations +import numpy as np +import torch + +import run +import helpers +import codegen + +from cset.ast import * +# from cset.ast2ir import * +# from cset.opt.codemotion import * +# from cset.opt.fusion import * +from cset.opt.parallelize import * + +def read_graph(partial_edge): + np_rowptr = np.fromfile("../citeseer/snap.txt.vertex.bin", dtype=np.int64) + np_colidx = np.fromfile("../citeseer/snap.txt.edge.bin", dtype=np.int32) + + torch_rowptr = torch.from_numpy(np_rowptr, ).to(torch.int32) + torch_colidx =torch.from_numpy(np_colidx) + torch_edge_list = torch.zeros([torch_colidx.shape[0], 2], dtype=torch.int32) + + edge_idx = 0 + for i in range(0, torch_rowptr.shape[0]-1): + for j in range(torch_rowptr[i].item() , torch_rowptr[i+1].item()): + if (not partial_edge) or (partial_edge and torch_colidx[j]largest_idx: + largest_idx = j + + res[i] = largest_idx + print("partial orders:") + print(res) + return res + +def read_pattern_file(filename): + pmtx = None + num_node=0 + with open(filename) as p: + for line in p: + if line[0]=='v': + num_node+=1 + p.seek(0, 0) + + pmtx = [[0 for y in range(num_node)] for x in range(num_node)] + for line in p: + if line[0]=='e': + v0 = int(line[2]) + v1 = int(line[4]) + pmtx[v0][v1] = 1 + pmtx[v1][v0] = 1 + print("pmtx:") + print(pmtx) + return pmtx + +def node_degree(pmtx, idx): + res = 0 + row = pmtx[idx] + for i in row: + if i==1: + res+=1 + return res + +def merge_search(pattern_file_name): + + pmtx = read_pattern_file(pattern_file_name) + partial_orders = symmetry_breaking(pmtx) + pattern_size = len(pmtx) + + num_node = Var(name='num_node', dtype='int', is_arg=True) + num_edge = Var(name='num_edge', dtype='int', is_arg=True) + num_jobs = Var(name='num_jobs', dtype='int', is_arg=True) + + rowptr = Tensor('rowptr', (num_node+1,), dtype='int') + colidx = Tensor('colidx', (num_edge,), dtype='int') + edge_list = Set(Tensor('edge_list', (num_jobs, 2), dtype='int')) + count = Var(name='count', dtype='int', is_arg=False) + + code_style = FunctionCall + + class inner_subgraph_matching: + + def __init__(self, level, *path): + self.level = level + self.path = list(*path) + + def __call__(self, item): + if self.level == pattern_size: + return Set(count).increment(1) + if self.level==2: + v0 = item[0] + v1 = item[1] + v0_nb = Set(colidx[rowptr[v0]:rowptr[v0+1]]) + v1_nb = Set(colidx[rowptr[v1]:rowptr[v1+1]]) + nb = pmtx[self.level] + + if nb[0]==1 and nb[1]==1: + candidate_set = v0_nb.intersection(v1_nb, code_style) + elif nb[0]==0 and nb[1]==1: + candidate_set = v1_nb.difference(v0_nb, code_style) + elif nb[0]==1 and nb[1]==0: + candidate_set = v0_nb.difference(v1_nb, code_style) + + if partial_orders[self.level]!=-1: + all_path = [v0, v1] + partial_node = all_path[partial_orders[self.level]] + candidate_set = candidate_set.filter(SmallerThan(partial_node)) + return candidate_set.apply(inner_subgraph_matching(self.level+1, [v0, v1])) + else: + all_path = self.path + [item] + nb = pmtx[self.level] + + first_nb_idx= 0 + for i in range(len(all_path)): + if nb[i]!=0: + first_nb_idx = i + break + first_node = all_path[first_nb_idx] + candidate_set = Set(colidx[rowptr[first_node]:rowptr[first_node+1]]) + + for i in range(len(all_path)): + if i==first_nb_idx: + continue + v = all_path[i] + v_nb = Set(colidx[rowptr[v]:rowptr[v+1]]) + if nb[i]==1: + candidate_set = candidate_set.intersection(v_nb, code_style) + else: + candidate_set = candidate_set.difference(v_nb, code_style) + + if partial_orders[self.level]!=-1: + partial_node = all_path[partial_orders[self.level]] + candidate_set = candidate_set.filter(SmallerThan(partial_node)) + return candidate_set.apply(inner_subgraph_matching(self.level+1, self.path + [item])) + + def init_vals(): + return setval(count, 0) + + if partial_orders[1]==0: + edge_list = edge_list.filter(PartialEdge) + + edge_list = edge_list.filter(Edgefilter(rowptr, node_degree(pmtx, 0)-1)) + + res = edge_list.apply(inner_subgraph_matching(2), init=init_vals).retval( Var(name='return_val', dtype='int', is_arg=False)) + + #res.name = 'p'+str(pattern_size)+ '_' + os.path.basename(pattern_file_name).split('.')[0] + res._gen_ir() + parallelize(res) + code = codegen.cpu.print_cpp(res) + print(code) + + torch_rowptr, torch_colidx, torch_edge_list, num_node, num_edges, num_jobs = read_graph(False) + d = run.cpu.compile_and_run(code, num_edges, torch_edge_list, num_node, torch_rowptr, num_edges, torch_colidx) + print(d) + + +def binary_search(pattern_file_name): + + pmtx = read_pattern_file(pattern_file_name) + partial_orders = symmetry_breaking(pmtx) + pattern_size = len(pmtx) + + num_node = Var(name='num_node', dtype='int', is_arg=True) + num_edge = Var(name='num_edge', dtype='int', is_arg=True) + num_jobs = Var(name='num_jobs', dtype='int', is_arg=True) + + rowptr = Tensor('rowptr', (num_node+1,), dtype='int') + colidx = Tensor('colidx', (num_edge,), dtype='int') + edge_list = Set(Tensor('edge_list', (num_jobs, 2), dtype='int')) + count = Var(name='count', dtype='int', is_arg=False) + + class inner_subgraph_matching: + def __init__(self, level, *path): + self.level = level + self.path = list(*path) + + def __call__(self, item): + if self.level == pattern_size: + return Set(count).increment(1) + if self.level==2: + v0 = item[0] + v1 = item[1] + v0_nb = Set(colidx[rowptr[v0]:rowptr[v0+1]]) + v1_nb = Set(colidx[rowptr[v1]:rowptr[v1+1]]) + nb = pmtx[self.level] + + if nb[0]==1 and nb[1]==1: + candidate_set = v0_nb.filter(BinarySearch(v1_nb)) + elif nb[0]==0 and nb[1]==1: + candidate_set = v1_nb.filter(BinarySearch(v0_nb, negative=True)) + elif nb[0]==1 and nb[1]==0: + candidate_set = v0_nb.filter(BinarySearch(v1_nb, negative=True)) + + if partial_orders[self.level]!=-1: + all_path = [v0, v1] + partial_node = all_path[partial_orders[self.level]] + candidate_set = candidate_set.filter(SmallerThan(partial_node)) + return candidate_set.apply(inner_subgraph_matching(self.level+1, [v0, v1])) + else: + all_path = self.path + [item] + nb = pmtx[self.level] + + first_nb_idx= 0 + for i in range(len(all_path)): + if nb[i]!=0: + first_nb_idx = i + break + first_node = all_path[first_nb_idx] + candidate_set = Set(colidx[rowptr[first_node]:rowptr[first_node+1]]) + + for i in range(len(all_path)): + if i==first_nb_idx: + continue + v = all_path[i] + v_nb = Set(colidx[rowptr[v]:rowptr[v+1]]) + if nb[i]==1: + candidate_set = candidate_set.filter(BinarySearch(v_nb)) + else: + candidate_set = candidate_set.filter(BinarySearch(v_nb, negative=True)) + + if partial_orders[self.level]!=-1: + partial_node = all_path[partial_orders[self.level]] + candidate_set = candidate_set.filter(SmallerThan(partial_node)) + return candidate_set.apply(inner_subgraph_matching(self.level+1, self.path + [item])) + + def init_vals(): + return setval(count, 0) + + if partial_orders[1]==0: + edge_list = edge_list.filter(PartialEdge) + + edge_list = edge_list.filter(Edgefilter(rowptr, node_degree(pmtx, 0)-1)) + + res = edge_list.apply(inner_subgraph_matching(2), init=init_vals).retval(count) + + #res.name = 'p'+str(pattern_size)+ '_' + os.path.basename(pattern_file_name).split('.')[0] + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + + torch_rowptr, torch_colidx, torch_edge_list, num_node, num_edges, num_jobs = read_graph(False) + d = run.cpu.compile_and_run(code, num_edges, torch_edge_list, num_node, torch_rowptr, num_edges, torch_colidx) + print(d) \ No newline at end of file diff --git a/cset/ast.py b/cset/ast.py new file mode 100644 index 0000000..00748e4 --- /dev/null +++ b/cset/ast.py @@ -0,0 +1,154 @@ +from core.asg import * +import cset +# from cset.ast2ir import * + +class BinarySearch(): + def __init__(self, target_set, negative=False): + self.target_set = target_set + self.negative = negative + def __call__(self, item): + return SetOp('binary_search', item, self.target_set, self.negative) + +class SmallerThan(): + def __init__(self, val): + self.val = val + def __call__(self, item): + return SetOp('smaller', item, self.val) + +class Edgefilter(): + def __init__(self, rowptr, threshold): + self.rowptr = rowptr + self.threshold = threshold + def __call__(self, item): + degree = self.rowptr[item[0]+1] - self.rowptr[item[0]] + return SetOp('smaller', self.threshold, degree) + +class InlineCode(): + def __init__(self, target_set): + self.target_set = target_set + def __call__(self, item): + return SetOp('inline_code', item, self.target_set) + +class FunctionCall(): + def __init__(self, target_set): + self.target_set = target_set + def __call__(self, item): + return SetOp('function_call', item, self.target_set) + +def PartialEdge(item): + return SetOp('smaller', item[1], item[0]) + +class Set(ASTNode): + capacity = 10000 + nelem_id = 0 + + def __init__(self, storage): + super().__init__() + if isinstance(storage, Tensor): + self.storage = storage + else: + raise TypeError("init val of set must be a tensor") + + self.name = f'set_{self.storage.name}' + self.nelem = Var(f'nelem{Set.nelem_id}', dtype='int', is_arg=False) + Set.nelem_id+=1 + + self.dtype = storage.dtype + self.is_arg = False + + def _tensor_size(self): + return self.storage._size() + def _gen_ir(self): + return cset.ast2ir.gen_ir(self) + + def apply(self, func, init=None, k_capacity=10000): + if callable(func): + op = SetOp('apply', self, func, init, **{'capacity': k_capacity}) + return op + else: + raise TypeError('must apply a callable function') + + def filter(self, cond, k_capacity=10000): + if callable(cond): + op = SetOp('filter', self, cond, **{'capacity': k_capacity}) + return op + else: + raise TypeError('must apply a callable condition') + + def intersection(self, other, cond, k_capacity=10000): + if callable(cond): + op = SetOp('intersection', self, cond(other), **{'capacity': k_capacity}) + return op + else: + raise TypeError('must apply a callable condition') + + def difference(self, other, cond, k_capacity=10000): + if callable(cond): + op = SetOp('difference', self, cond(other), **{'capacity': k_capacity}) + return op + else: + raise TypeError('must apply a callable condition') + + def increment(self, val): + return SetOp('increment', self, val) + + def retval(self, val): + return SetOp('retval', self, val) + + +class SetOp(Set): + ids = {'apply': 0, 'filter':0, 'intersection':0, 'difference':0, \ + 'binary_search':0, 'merge_search': 0, 'smaller':0, \ + 'add':0, 'setval':0, 'increment':0, 'retval':0, 'inline_code':0, 'function_call':0} + + def __init__(self, op_type, *operators, **config): + + self.operators = list(operators) + self.config = config + self.op_type = op_type + + tensor_name = f'{op_type}{SetOp.ids[op_type]}' + SetOp.ids[op_type]+=1 + + if op_type == 'apply' or op_type == 'filter' or op_type == 'intersection' or op_type == 'difference': + input_set = self.operators[0] + item_size = input_set._tensor_size()[1:] + if (len(item_size) > 0): + item = Tensor(f'item_{input_set.name}', item_size, input_set.dtype, is_arg=False) + else: + item = Var(f'item_{input_set.name}', input_set.dtype, False) + self.operators.append(item) + input_func = self.operators[1] + func_ast = input_func(item) + self.operators[1] =func_ast + + if op_type == 'apply': + input_init = self.operators[2] + self.operators[2] = input_init() if input_init!=None else None + super().__init__(Tensor(tensor_name, [config['capacity']] * (len(func_ast._tensor_size())+1), dtype = func_ast.dtype, is_arg=False)) + else: + super().__init__(Tensor(tensor_name, [config['capacity']] + item_size, dtype = input_set.dtype, is_arg=False)) + + elif op_type == 'binary_search' or op_type == 'smaller': + for i in range(0, len(self.operators)): + if isinstance(self.operators[i], (int, float)): + self.operators[i] = Const(self.operators[i], type(self.operators[i])) + super().__init__(Var(tensor_name, 'int', False)) + + elif op_type == 'inline_code' or op_type == 'function_call': + for i in range(0, len(self.operators)): + if isinstance(self.operators[i], (int, float)): + self.operators[i] = Const(self.operators[i], type(self.operators[i])) + super().__init__(Var(tensor_name, 'int', False)) + + elif op_type == 'increment': + self.operators[1] = Const(self.operators[1], 'int') + super().__init__(Var(tensor_name, 'int', False)) + + elif op_type == 'setval' or op_type == 'retval': + super().__init__(Var(tensor_name, 'int', False)) + + + + + diff --git a/cset/ast2ir.py b/cset/ast2ir.py new file mode 100644 index 0000000..c880e7b --- /dev/null +++ b/cset/ast2ir.py @@ -0,0 +1,264 @@ +import sys + +from cset.ast import * +from cset.ir import * +from core.asg2ir import * +import helpers +import codegen + +def get_first_unbind(index: (Indexing, Ndarray, Slice)): + if type(index) == Indexing: + x = get_first_unbind(index.dobject) + if x != None: + return x + else: + if type(index.idx) == Literal and index.idx.val == -1: + return index + else: + y = get_first_unbind(index.idx) + return y + return None + + +def bind(index: (Indexing, Ndarray, Slice), idx, attr = {}): + x = get_first_unbind(index) + if x == None: + res = Indexing(index, idx) + res.attr.update(attr) + return res + else: + old = copy.copy(x.idx) + old_attr = copy.copy(x.attr) + x.idx = idx + x.attr.update(attr) + new_index = copy.deepcopy(index) + x.idx = old + x.attr = old_attr + return new_index + +def _gen_and_detach_ir(ret): + ret._gen_ir() + + def action(node, res): + if isinstance(node, Tensor): + res.extend(node.compute) + node.compute.clear() + elif isinstance(node, Set): + res.extend(node.compute) + node.compute.clear() + + t = helpers.ASGTraversal(action) + ret_compute = t(ret) + return ret_compute + +def gen_ir(node): + if type(node) == Set: + node.nelem._gen_ir() + node.storage._gen_ir() + helpers.get_ir_of_size(node.storage._size()) + node.eval = node.storage.eval + if len(node._tensor_size())>0: + node.compute = [Assignment(node.nelem.eval, node._tensor_size()[0].eval)] + + elif type(node) == SetOp: + if node.op_type == 'apply': + input_set = node.operators[0] + input_func_ast = node.operators[1] + input_init_ast = node.operators[2] + item = node.operators[3] + + input_set._gen_ir() + if input_init_ast!=None: + input_init_ast._gen_ir() + node.storage._gen_ir() + node.nelem._gen_ir() + node.eval = node.storage.eval + + outer_loop = Loop(0, input_set.nelem.eval, 1, []) + item.eval = bind(input_set.eval, outer_loop.iterate) + + func_compute = _gen_and_detach_ir(input_func_ast) + outer_loop.body.extend(func_compute) + + node.compute.extend([outer_loop]) + + #Clear declaration of the result Set&Tensor + node.storage.decl.clear() + + elif node.op_type== 'filter': + input_set = node.operators[0] + input_cond_ast = node.operators[1] + item = node.operators[2] + input_set._gen_ir() + node.storage._gen_ir() + node.nelem._gen_ir() + node.eval = node.storage.eval + res_size_ir = node.nelem.eval + + outer_loop = FilterLoop(0, input_set.nelem.eval, 1, [], None, []) + item.eval = bind(input_set.eval, outer_loop.iterate) + + cond_compute = _gen_and_detach_ir(input_cond_ast) + outer_loop.body.extend(cond_compute) + outer_loop.cond = input_cond_ast.eval + + lhs = bind(node.eval, res_size_ir) + rhs = item.eval + res_init = Assignment(res_size_ir, 0) + res_plus = Assignment(res_size_ir, 1, '+') + if len(input_set._tensor_size())>1: + pre_loop = None + for i in range(1, len(input_set._tensor_size())): + loop = Loop(0, input_set._tensor_size()[i].eval, 1, []) + if pre_loop!=None: + pre_loop.body.append(loop) + pre_loop=loop + lhs = bind(lhs, pre_loop.iterate) + rhs = bind(rhs, pre_loop.iterate) + pre_loop.body.append(Assignment(lhs, rhs)) + outer_loop.cond_body.extend([pre_loop, res_plus]) + else: + outer_loop.cond_body.extend([Assignment(lhs, rhs), res_plus]) + + node.compute = [res_init, outer_loop] + + elif node.op_type == 'binary_search': + item = node.operators[0] + item._gen_ir() + input_set = node.operators[1] + input_set._gen_ir() + negative = node.operators[2] + + node.eval = Scalar(node.dtype) + node.decl = [Decl(node.eval)] + if negative.val: + node.compute = [Assignment(node.eval, Not(BinarySearch(bind(input_set.eval, 0), 0, input_set.nelem.eval, item.eval)))] + else: + node.compute = [Assignment(node.eval, BinarySearch(bind(input_set.eval, 0), 0, input_set.nelem.eval, item.eval))] + + elif node.op_type == 'merge_search': + input_set = node.operators[0] + input_set._gen_ir() + item = node.operators[1] + item._gen_ir() + + elif node.op_type == 'smaller': + val = node.operators[1] + item = node.operators[0] + val._gen_ir() + item._gen_ir() + + node.eval = Scalar(node.dtype) + node.decl = [Decl(node.eval)] + node.compute = [Assignment(node.eval ,Expr(Expr(val.eval, item.eval, '-'), 0, 'bigger'))] + # node.compute = [Assignment(node.eval ,0)] + + elif node.op_type == 'increment': + input_set = node.operators[0] + val = node.operators[1] + assert(type(input_set.storage)==Var) + input_set._gen_ir() + val._gen_ir() + + node.eval = input_set.storage.eval + node.compute = [Assignment(node.eval, val.eval, '+')] + + elif node.op_type == 'retval': + input_set = node.operators[0] + input_set._gen_ir() + ret_val = node.operators[1] + ret_val._gen_ir() + node.eval = ret_val.eval + # node.compute=[] + + elif node.op_type == 'intersection' or node.op_type == 'difference': + input_set1 = node.operators[0] + input_func_ast = node.operators[1] + item = node.operators[2] + input_set1._gen_ir() + item._gen_ir() + + input_set2 = input_func_ast.operators[1] + input_set2._gen_ir() + + node.storage._gen_ir() + node.eval = node.storage.eval + node.nelem._gen_ir() + + if input_func_ast.op_type == 'function_call': + if node.op_type == 'intersection': + func_template = "res_size = SetIntersection(first_arr, first_size, second_arr, second_size, res_arr);" + else: + func_template = "res_size = SetDifference(first_arr, first_size, second_arr, second_size, res_arr);" + + keywords = {'first_arr' : bind(input_set1.eval, Literal(0, 'int')), + 'first_size': input_set1.nelem.eval, + 'second_arr' : bind(input_set2.eval, Literal(0, 'int')), + 'second_size': input_set2.nelem.eval, + 'res_arr': bind(node.eval,Literal(0, 'int')), + 'res_size': node.nelem.eval} + node.compute.extend([Code(func_template, keywords)]) + + elif input_func_ast.op_type == 'inline_code': + outer_loop = Loop(0, input_set1.nelem.eval, 1, []) + pi_ir = outer_loop.iterate + pj_ir = Scalar('int') + pos_ir = node.nelem.eval + + if node.op_type == 'intersection': + merge_template = \ + "if(first_smaller_second) continue; \n\ + else if (first_larger_second) { \n\ + while(pj_smaller_secondsize && first_larger_second){ \n\ + pj_increment; \n\ + } \n\ + } \n\ + if(pj_equal_secondsize) break; \n\ + if(first_equal_second) { \n\ + assignment\n\ + pos_increment; \n\ + continue; \n\ + }" + else: + merge_template = \ + "if(first_smaller_second) { } \n\ + else if (first_larger_second) { \n\ + while(pj_smaller_secondsize && first_larger_second){ \n\ + pj_increment; \n\ + } \n\ + } \n\ + if(pj_equal_secondsize) { \n\ + assignment\n\ + pos_increment; \n\ + continue; \n\ + } \n\ + if(first_equal_second) { \n\ + pj_increment; \n\ + } \n\ + else{ \n\ + assignment\n\ + pos_increment; \n\ + }" + + keywords = {'first_smaller_second' : Expr(bind(input_set1.eval, pi_ir), bind(input_set2.eval, pj_ir), '<'), + 'first_larger_second': Expr(bind(input_set1.eval, pi_ir), bind(input_set2.eval, pj_ir), '>'), + 'first_equal_second' : Expr(bind(input_set1.eval, pi_ir), bind(input_set2.eval, pj_ir), '=='), + 'pj_smaller_secondsize': Expr(pj_ir, input_set2.nelem.eval, '<'), + 'pj_equal_secondsize': Expr(pj_ir, input_set2.nelem.eval, '=='), + 'pj_increment': Expr(pj_ir, 1, '+='), + 'pos_increment': Expr(pos_ir, 1, '+='), + 'assignment': Assignment(bind(node.eval, pos_ir), bind(input_set1.eval, pi_ir)) + } + + node.decl.extend([Decl(pj_ir)]) + outer_loop.body.append(Code(merge_template, keywords)) + node.compute.extend([Assignment(pj_ir, 0), Assignment(pos_ir, 0), outer_loop]) + + for d in node.decl: + d.astnode = node + + if type(node) == SetOp: + for s in node.compute: + s.astnode = node + + return node diff --git a/cset/ir.py b/cset/ir.py new file mode 100644 index 0000000..9a50352 --- /dev/null +++ b/cset/ir.py @@ -0,0 +1,35 @@ +from core.ir import * + +class FilterLoop(IR): + filter_id = 0 + def __init__(self, start, end, step, + body = [], + cond = None, + cond_body = []): + self.fid = FilterLoop.filter_id + FilterLoop.filter_id += 1 + + self.start = start + self.end = end + self.step = step + self.iterate = Scalar('int', f'_fl{self.fid}') + + self.body = body + self.cond = cond + self.cond_body = cond_body + +class BinarySearch(IR): + search_id = 0 + def __init__(self, dobject, start, end, item): + self.dobject = dobject + self.start = start + self.end = end + self.item = item + # self.res = res + BinarySearch.search_id += 1 + +class Not(IR): + def __init__(self, dobject): + self.dobject = dobject + +# class \ No newline at end of file diff --git a/cset/opt/codemotion.py b/cset/opt/codemotion.py new file mode 100644 index 0000000..b6cc3a0 --- /dev/null +++ b/cset/opt/codemotion.py @@ -0,0 +1,339 @@ +from cset.ast2ir import * +from codegen.cpu import * + +# def move_ir(intermediate_sets, apply_nodes, ir_list, level, remove_record): +# if level>=len(apply_nodes): +# return +# intermediate_ops = intermediate_sets[level-1] if level>0 else [] +# remove_record.append([]) +# ir_set = set() +# for ir in ir_list: +# if ir.astnode in intermediate_ops: +# for sub_ir in get_ir(ir.astnode): +# if sub_ir in ir_list and sub_ir not in ir_set: +# ir_set.add(sub_ir) +# remove_record[level].append(sub_ir) +# if type(ir)==Loop: +# assert ir.astnode==apply_nodes[level] +# move_ir(intermediate_sets, apply_nodes, ir.body, level+1, remove_record) + +# def move_ir2(ir_list, remove_record, level): +# if level>=len(remove_record): +# return + +# remove_record_this_level = remove_record[level] +# for ir in remove_record_this_level: +# ir_list.remove(ir) + +# loop_ir = None +# for ir in ir_list: +# if type(ir)==Loop: +# loop_ir = ir +# move_ir2(ir.body, remove_record, level+1) + +# remove_record_next_level = remove_record[level+1] if level < len(remove_record)-1 else [] +# for ir in remove_record_next_level: +# ir_list.insert(ir_list.index(loop_ir), ir) + +def PrintCCode(ir): + code = '' + for d in ir: + if d: + code += to_string(d) + print(code) + return ir + +def revalid(ast): + def action(node, res): + node.valid = True + t = helpers.Traversal(action) + ir = t(ast) + +def get_ir(ast): + def action(node, res): + # if node.valid == True: + if type(node) == Var or type(node) == Tensor: + res.extend(node.decl) + elif type(node) == TensorOp: + res.extend(node.decl) + res.extend(node.compute) + elif type(node) == Set: + res.extend(node.decl) + elif type(node) == SetOp: + res.extend(node.decl) + res.extend(node.compute) + + t = helpers.Traversal(action) + ret_ir = t(ast) + ret_decl = [] + ret_compute = [] + + for ir in ret_ir: + if type(ir) == Decl: + ret_decl.extend([ir]) + else: + ret_compute.extend([ir]) + return ret_decl, ret_compute + +def get_ops(ast): + if type(ast)==SetOp and ast.op_type=='apply': + partial_res = ast.operators[0] + return partial_res + +def is_same_operation(ast1, ast2): + if type(ast1)==Set and type(ast2)==Set and ast1==ast2: + return True + if type(ast1) != type(ast2): + return False + + if ast1.operators[5].operators[0] == ast2.operators[5].operators[0]: + if is_same_operation(ast1.operators[0], ast2.operators[0]): + return True + return False + +def extract_intermediate_sets(ast, level, intermediate_sets, ast_loops): + if type(ast) != SetOp or ast.op_type!='apply': + return + input_setop = ast.operators[0] # Last Set operation at top + if type(input_setop)==SetOp and input_setop.op_type=='filter': + input_setop = input_setop.operators[0] + + input_func = ast.operators[6] + + intermediate_sets.extend([[]]) + ast_loops.append(ast) + extract_intermediate_sets(input_func, level+1, intermediate_sets, ast_loops) + + if level>=2: + for setops in [input_setop] + intermediate_sets[level]: + subexpr1 = setops.operators[0] + find = False + for subexpr2 in intermediate_sets[level-1]: + if is_same_operation(subexpr1, subexpr2): + find = True + if find == False: + intermediate_sets[level-1].append(subexpr1) + + +def move_ir_on_ast(cur_node, pre_node, level, intermediate_sets, apply_nodes): + if type(cur_node) != SetOp or cur_node.op_type!='apply': + return + + move_ir_on_ast(cur_node.operators[6], cur_node, level+1, intermediate_sets, apply_nodes) + + intermediate_ops = intermediate_sets[level] if level>0 else [] + intermediate_irs = [] + for item in intermediate_ops: + ir_decl, ir_compute = get_ir(item) + intermediate_irs.append(ir_compute) + + assert type(cur_node.compute[0])==Loop + pre_body = pre_node.compute[0].body if pre_node else [] + cur_body = cur_node.compute[0].body + + pre_loop_ir = None + for item in pre_body: + if type(item)==Loop: + pre_loop_ir = item + + loop_ir = None + for intermediate_ir in intermediate_irs: + remove_list = [] + for item in cur_body: + if item in intermediate_ir: + remove_list.append(item) + for item in remove_list: + pre_body.insert(pre_body.index(pre_loop_ir), item) + cur_body.remove(item) + + + +def has_item(node, item): + assert type(node)==Set + # assert type(node.storage)==Indexing + colidx = node.storage.operators[0] + colidx_slice = node.storage.operators[1] + start = colidx_slice.val.start + end = colidx_slice.val.stop + assert(start.operators[0]==end.operators[0]) + rowptr = start.operators[0] + v = start.operators[1] + if item==v: + return True + else: + return False + +def extract_subtree(setops, item): + if type(setops)==Set: + if not has_item(setops, item): + return setops + else: + return None + + left_tree = setops.operators[0] + right_set = setops.operators[5].operators[0] + res = extract_subtree(left_tree, item) + if res==left_tree and not has_item(right_set, item): + return setops + else: + return left_tree + +def get_vertex_name(node): + colidx = node.storage.operators[0] + colidx_slice = node.storage.operators[1] + start = colidx_slice.val.start + end = colidx_slice.val.stop + assert(start.operators[0]==end.operators[0]) + rowptr = start.operators[0] + v = start.operators[1] + return v.name + +def is_same_operation2(ast1, ast2, level): + if type(ast1)==Set and type(ast2)==Set and get_vertex_name(ast1)==get_vertex_name(ast2): + return True + if type(ast1) != type(ast2): + return False + + if get_vertex_name(ast1.operators[5].operators[0]) == get_vertex_name(ast2.operators[5].operators[0]): + if is_same_operation2(ast1.operators[0], ast2.operators[0], level): + return True + return False + +def extract_intermediate_sets2(ast, level, intermediate_sets, ast_loops): + if type(ast) != SetOp or ast.op_type!='apply': + return + input_setop = ast.operators[0] # Last Set operation at top + if type(input_setop)==SetOp and input_setop.op_type=='filter': + input_setop = input_setop.operators[0] + + input_func = ast.operators[6] + + intermediate_sets.extend([[]]) + ast_loops.append(ast) + extract_intermediate_sets2(input_func, level+1, intermediate_sets, ast_loops) + + if level>=2: + pre_apply_node = ast_loops[level-1] + item = pre_apply_node.operators[5] + + for setops in [input_setop] + intermediate_sets[level]: + subexpr1 = extract_subtree(setops, item) + assert(subexpr1==setops.operators[0]) + find = False + + for subexpr2 in intermediate_sets[level-1]: + if is_same_operation2(subexpr1, subexpr2, level): + find = True + if find == False: + intermediate_sets[level-1].append(subexpr1) + +def rebind(index: (Indexing, Ndarray, Slice), idx): + return Indexing(index.dobject, idx) + +def replace_input(node, input): + assert(type(node)==SetOp) + assert(node.op_type=='intersection' or node.op_type=='difference') + + node_loop_ir = None + for ir in node.compute: + if type(ir)==Loop: + node_loop_ir = ir + assert(type(node_loop_ir.body[0]==Code)) + node_code = node_loop_ir.body[0] + keywords = node_code.keywords + + + input_loop_ir = None + for ir in input.compute: + if type(ir)==Loop: + input_loop_ir = ir + assert(type(input_loop_ir.body[0]==Code)) + input_pos_ir = input_loop_ir.body[0].keywords['pos_increment'].left + + # print(to_string(node_loop_ir.end)) + # print(to_string(input_pos_ir)) + + # print(to_string(keywords['first_smaller_second'].left)) + # print(to_string(input.eval)) + node_loop_ir.end = input_pos_ir + keywords['first_smaller_second'].left = rebind(input.eval, node_loop_ir.iterate) + keywords['first_larger_second'].left = rebind(input.eval, node_loop_ir.iterate) + keywords['first_equal_second'].left = rebind(input.eval, node_loop_ir.iterate) + keywords['assignment'].rhs = rebind(input.eval, node_loop_ir.iterate) + + +def move_ir_on_ast2(cur_node, pre_node, level, intermediate_sets, apply_nodes): + if type(cur_node) != SetOp or cur_node.op_type!='apply': + return + + move_ir_on_ast2(cur_node.operators[6], cur_node, level+1, intermediate_sets, apply_nodes) + + intermediate_ops = intermediate_sets[level] if level>0 else [] + intermediate_irs = [] + delete_irs = [] + for item in intermediate_ops: + delete_irs_next_level = [] + for tree_next_level in [cur_node.operators[6].operators[0].operators[0]] + intermediate_sets[level+1]: + left_subtree = tree_next_level.operators[0] + if left_subtree!=item: + replace_input(tree_next_level, item) + if is_same_operation2(item, left_subtree, level): + delete_ir_decl, delete_ir_compute = get_ir(left_subtree) + delete_irs_next_level.extend(delete_ir_compute) + + ir_decl, ir_compute = get_ir(item) + intermediate_irs.append(ir_compute) + delete_irs.append(delete_irs_next_level) + + def _get_loop_body(node): + if not node: + return [] + for i in node.compute: + if type(i)==Loop: + return i.body + return [] + + pre_body = _get_loop_body(pre_node)#pre_node.compute[0].body if pre_node else [] + cur_body = _get_loop_body(cur_node)#cur_node.compute[0].body + + pre_loop_ir = None + for item in pre_body: + if type(item)==Loop: + pre_loop_ir = item + + loop_ir = None + for delete_ir in delete_irs: + delete_list = [] + for item in cur_body: + if item in delete_ir: + delete_list.append(item) + for item in delete_list: + # pre_body.insert(pre_body.index(pre_loop_ir), item) + cur_body.remove(item) + + for intermediate_ir in intermediate_irs: + for item in intermediate_ir: + pre_body.insert(pre_body.index(pre_loop_ir), item) + +def code_motion(ast): + ast = ast.operators[0] + assert(type(ast)==SetOp and ast.op_type=='apply') + + intermediate_sets = [] + apply_nodes = [] + remove_record = [] + extract_intermediate_sets2(ast, 0, intermediate_sets, apply_nodes) + + move_ir_on_ast2(ast, None, 0, intermediate_sets, apply_nodes) + + # move_ir(intermediate_sets, apply_nodes, ir, 0, remove_record) + # move_ir2(ir, remove_record, 0) + # for k in remove_record: + # print(len(k)) + + + + + + + diff --git a/cset/opt/fusion.py b/cset/opt/fusion.py new file mode 100644 index 0000000..ffcf18a --- /dev/null +++ b/cset/opt/fusion.py @@ -0,0 +1,156 @@ +from cset.ast2ir import * +from codegen.cpu import * + +fused_intersection_template = \ + "if(first_smaller_second) continue; \n\ + else if (first_larger_second) { \n\ + while(pj_smaller_secondsize && first_larger_second){ \n\ + pj_increment; \n\ + } \n\ + } \n\ + if(pj_equal_secondsize) break; \n\ + if(first_equal_second) { \n\ + assignment\n\ + pos_increment; \n\ + continue; \n\ + }" + + +fused_difference_template = \ + "if(first_smaller_second) { } \n\ + else if (first_larger_second) { \n\ + while(pj_smaller_secondsize && first_larger_second){ \n\ + pj_increment; \n\ + } \n\ + } \n\ + if(pj_equal_secondsize) { \n\ + setop_assignment\n\ + filter_cond \n\ + if(filter_meet){ \n\ + filter_assignment \n\ + filter_increment \n\ + continue; \n\ + } \n\ + else{\n\ + break; \n\ + }\n\ + } \n\ + if(first_equal_second) { \n\ + pj_increment; \n\ + } \n\ + else{ \n\ + setop_assignment\n\ + filter_cond \n\ + if(filter_meet){ \n\ + filter_assignment \n\ + filter_increment \n\ + } \n\ + else{\n\ + break; \n\ + }\n\ + }" + +def PrintCCode2(ir): + code = '' + for d in ir: + if d: + code += to_string(d) + print(code) + return ir + +def fuse_irs(filter_op, setop, pre_ast, top_ast): + filter_compute = filter_op.compute + filter_decl = filter_op.decl + + setop_compute = setop.compute + setop_decl = setop.decl + + setop_loop_ir = None + for ir in setop_compute: + if type(ir)==Loop: + setop_loop_ir = ir + assert(type(setop_loop_ir.body[0]==Code)) + setop_code = setop_loop_ir.body[0] + setop_keywords = setop_code.keywords + + filter_loop_ir = None + for ir in filter_compute: + if type(ir)==FilterLoop: + filter_loop_ir = ir + + filter_loop_body = filter_loop_ir.body + filter_loop_cond = filter_loop_ir.cond + filter_loop_cond_body = filter_loop_ir.cond_body + filter_cond = filter_loop_body[0] + filter_meet = filter_loop_cond + filter_assignment = filter_loop_cond_body[0] + filter_increment = filter_loop_cond_body[1] + + setop_assignment = setop_keywords['assignment'] + del setop_keywords['assignment'] + + def _replace_with_tmp(setop_assignment, filter_cond, filter_assignment, tmp_var): + setop_assignment.lhs = tmp_var + filter_cond.rhs.left.right = tmp_var + filter_assignment.rhs = tmp_var + + tmp_var = Scalar('int') + _replace_with_tmp(setop_assignment, filter_cond, filter_assignment, tmp_var) + + + setop_keywords['setop_assignment'] = setop_assignment + setop_keywords['filter_cond'] = filter_cond + setop_keywords['filter_meet'] = filter_meet + setop_keywords['filter_assignment'] = filter_assignment + setop_keywords['filter_increment'] = filter_increment + + setop_code.code = fused_difference_template + setop_code.keywords = setop_keywords + + # PrintCCode2([setop_assignment]) + # PrintCCode2([setop_code]) + + # filter_op.compute.clear() + # setop.decl.extend(filter_decl) + # setop.decl.append(tmp_var) + # filter_op.decl.clear() + + #remove ir + remove_list = [] + + for ir in pre_ast.compute: + if type(ir)==Loop: + pre_ast_loop_ir = ir + # print(level) + # PrintCCode2(pre_ast_loop_ir.body) + for ir in pre_ast_loop_ir.body: + if ir in filter_op.compute: + remove_list.append(ir) + + pre_ast_loop_ir.body.insert(0, Assignment(filter_increment.lhs, 0)) + for ir in remove_list: + pre_ast_loop_ir.body.remove(ir) + + top_ast.decl.append(Decl(tmp_var)) + + + +def _op_fusion(ast, pre_ast, level, top_ast): + + if type(ast) != SetOp or ast.op_type!='apply': + return + + if level>=1 and ast.operators[0].op_type=='filter': + filter_op = ast.operators[0] + setop = ast.operators[0].operators[0] + fuse_irs(filter_op, setop, pre_ast, top_ast) + + + _op_fusion(ast.operators[6], ast, level+1, top_ast) + + +def op_fusion(ast): + ast = ast.operators[0] + _op_fusion(ast, None, 0, ast) + # input_set = _traverse_ast(ast, 0) + diff --git a/cset/opt/parallelize.py b/cset/opt/parallelize.py new file mode 100644 index 0000000..34de528 --- /dev/null +++ b/cset/opt/parallelize.py @@ -0,0 +1,210 @@ +import copy +from cset.ast2ir import * +from codegen.cpu import * + +num_thread = 16 +thread_id = Scalar('int', 'thread_id') + +def IRString(ir): + code = '' + for d in ir: + if d: + code += to_string(d) + return code + +def PrintCCode(ir): + code = '' + for d in ir: + if d: + code += to_string(d) + print(code) + return ir + +def bind_thread(ir, scalar_set, ndarray_set): + visited = set() + + def _bind_thread(ir): + if type(ir) == list or type(ir) == tuple: + for i in range(0, len(ir)): + ir[i] = _bind_thread(ir[i]) + return ir + elif type(ir) == Loop: + ir.start = _bind_thread(ir.start) + ir.end = _bind_thread(ir.end) + ir.step = _bind_thread(ir.step) + ir.body = _bind_thread(ir.body) + return ir + elif type(ir) == FilterLoop: + ir.start = _bind_thread(ir.start) + ir.end = _bind_thread(ir.end) + ir.step = _bind_thread(ir.step) + ir.body = _bind_thread(ir.body) + ir.cond = _bind_thread(ir.cond) + ir.cond_body = _bind_thread(ir.cond_body) + return ir + elif type(ir) == Code: + for key in ir.keywords: + ir.keywords[key] = _bind_thread(ir.keywords[key]) + return ir + elif type(ir) == Expr: + ir.left = _bind_thread(ir.left) + ir.right = _bind_thread(ir.right) + return ir + elif type(ir) == Assignment: + ir.lhs = _bind_thread(ir.lhs) + ir.rhs = _bind_thread(ir.rhs) + return ir + elif type(ir) == Indexing: + if ir.idx !=thread_id: + ir.dobject = _bind_thread(ir.dobject) + ir.idx = _bind_thread(ir.idx) + return ir + elif type(ir) == Slice: + ir.start = _bind_thread(ir.start) + ir.stop = _bind_thread(ir.stop) + ir.step = _bind_thread(ir.step) + return ir + elif type(ir) == Math: + ir.val = _bind_thread(ir.val) + return ir + elif type(ir) == Scalar: + if ir.name() in scalar_set: + return Indexing(Ndarray(ir.dtype, [num_thread], ir.name()), thread_id) + else: + return ir + elif type(ir) == Ndarray: + if ir.name() in ndarray_set: + return Indexing(ir, thread_id) + else: + return ir + else: + return ir + _bind_thread(ir) + +def replace_decl(ast, scalar_set, ndarray_set): + def _replace_decl(decls): + remove_list = [] + add_list = [] + for ir in decls: + assert(type(ir)==Decl) + if type(ir.dobject)== Scalar and ir.dobject.name() in scalar_set: + remove_list.append(ir) + add_list.append(Decl(Ndarray(ir.dobject.dtype, [num_thread], ir.dobject.name()))) + elif type(ir.dobject)== Ndarray and ir.dobject.name() in ndarray_set: + remove_list.append(ir) + add_list.append(Decl(Ndarray(ir.dobject.dtype, [num_thread] + ir.dobject.size, ir.dobject.name()))) + else: + pass + for ir in remove_list: + decls.remove(ir) + + for ir in add_list: + decls.append(ir) + + def action(node, res): + if len(node.decl) != 0: + _replace_decl(node.decl) + + t = helpers.ASGTraversal(action) + t(ast) + +def get_dobject_name(ir): + if type(ir.dobject)!=Ndarray: + return get_dobject_name(ir.dobject) + else: + return ir.dobject.name() + +def get_all_lhs(ir): + scalar_set = set() + ndarray_set = set() + + def _get_all_lhs(ir): + if type(ir) == list or type(ir) == tuple: + for l in ir: + _get_all_lhs(l) + elif type(ir) == Loop: + _get_all_lhs(ir.body) + elif type(ir) == FilterLoop: + _get_all_lhs(ir.body) + _get_all_lhs(ir.cond_body) + elif type(ir) == Code: + if 'res_arr' in ir.keywords: + ndarray_set.add(get_dobject_name(ir.keywords['res_arr'])) + if 'res_size' in ir.keywords: + scalar_set.add(ir.keywords['res_size'].name()) + for item in ir.keywords.values(): + _get_all_lhs(item) + elif type(ir) == Expr: + _get_all_lhs(ir.left) + _get_all_lhs(ir.right) + elif type(ir) == Assignment: + if type(ir.lhs)==Scalar: + scalar_set.add(ir.lhs.name()) + elif type(ir.lhs)==Indexing: + ndarray_set.add(get_dobject_name(ir.lhs)) + elif type(ir) == Slice: + return + elif type(ir) == Math: + return + else: + return + + _get_all_lhs(ir) + return scalar_set, ndarray_set + +def set_loop_levels(irs): + for ir in irs: + if type(ir)==Loop: + ir.attr['ptype']= 'naive' + ir.attr['plevel'] = 0 + ir.attr['nprocs'] = [(num_thread, ir)] + ir.body.insert(0, Assignment(thread_id, Code('omp_get_thread_num();', {}))) + ir.body.insert(0, Decl(thread_id)) + + + +def reset_count(ast): + def _reset_count(irs): + count_ir = None + remove_list = [] + add_list = [] + for ir in irs: + if type(ir)== Assignment and type(ir.lhs)==Scalar and ir.lhs.name()=='count': + count_ir = ir + if count_ir !=None: + irs.remove(count_ir) + return count_ir + + def action(node, res): + if len(node.compute) != 0: + count_ir = _reset_count(node.compute) + + t = helpers.ASGTraversal(action) + t(ast) + + sum_ir = Scalar('int', 'sum') + sum_loop = Loop(0, num_thread, 1, []) + sum_loop.body.extend([Assignment(sum_ir, bind(Ndarray('int', [num_thread], 'count'), sum_loop.iterate), '+')]) + ast.decl.extend([Decl(sum_ir)]) + ast.compute.append(sum_loop) + ast.compute.append(Code('printf("count:%d\\n", sum);', {})) + + +def parallelize(ast): + ast = ast.operators[0] + scalar_set, ndarray_set = get_all_lhs(ast.compute) + bind_thread(ast.compute, scalar_set, ndarray_set) + replace_decl(ast, scalar_set, ndarray_set) + set_loop_levels(ast.compute) + reset_count(ast) + + + + + # print(len(scalar_set)) + # print(len(ndarray_set)) + # for k in scalar_set: + # print(k) + + # for k in ndarray_set: + # print(k) \ No newline at end of file diff --git a/cset/query/self-defined/p1.lg b/cset/query/self-defined/p1.lg new file mode 100644 index 0000000..526ac7b --- /dev/null +++ b/cset/query/self-defined/p1.lg @@ -0,0 +1,12 @@ +# t 1 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 0 1 +e 0 2 1 +e 1 3 1 +e 3 2 1 +e 3 4 1 +e 4 2 1 diff --git a/cset/query/self-defined/p2.lg b/cset/query/self-defined/p2.lg new file mode 100644 index 0000000..b0c6309 --- /dev/null +++ b/cset/query/self-defined/p2.lg @@ -0,0 +1,7 @@ +# t 1 +v 0 1 +v 1 1 +v 2 2 +e 1 0 1 +e 0 2 1 +e 1 2 1 \ No newline at end of file diff --git a/cset/query/self-defined/p3.lg b/cset/query/self-defined/p3.lg new file mode 100644 index 0000000..b0c6309 --- /dev/null +++ b/cset/query/self-defined/p3.lg @@ -0,0 +1,7 @@ +# t 1 +v 0 1 +v 1 1 +v 2 2 +e 1 0 1 +e 0 2 1 +e 1 2 1 \ No newline at end of file diff --git a/cset/query/size-3/0.txt b/cset/query/size-3/0.txt new file mode 100644 index 0000000..91039b6 --- /dev/null +++ b/cset/query/size-3/0.txt @@ -0,0 +1,6 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-3/1.txt b/cset/query/size-3/1.txt new file mode 100644 index 0000000..2f04e1c --- /dev/null +++ b/cset/query/size-3/1.txt @@ -0,0 +1,7 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +e 1 2 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-4/0.txt b/cset/query/size-4/0.txt new file mode 100644 index 0000000..9b7183c --- /dev/null +++ b/cset/query/size-4/0.txt @@ -0,0 +1,8 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-4/1.txt b/cset/query/size-4/1.txt new file mode 100644 index 0000000..7b5ca98 --- /dev/null +++ b/cset/query/size-4/1.txt @@ -0,0 +1,8 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +e 1 2 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-4/2.txt b/cset/query/size-4/2.txt new file mode 100644 index 0000000..a44561b --- /dev/null +++ b/cset/query/size-4/2.txt @@ -0,0 +1,9 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +e 1 2 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-4/3.txt b/cset/query/size-4/3.txt new file mode 100644 index 0000000..fa0a7cb --- /dev/null +++ b/cset/query/size-4/3.txt @@ -0,0 +1,9 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +e 1 3 1 +e 1 2 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-4/4.txt b/cset/query/size-4/4.txt new file mode 100644 index 0000000..7fc51e3 --- /dev/null +++ b/cset/query/size-4/4.txt @@ -0,0 +1,10 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +e 1 3 1 +e 1 2 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-4/5.txt b/cset/query/size-4/5.txt new file mode 100644 index 0000000..600f97f --- /dev/null +++ b/cset/query/size-4/5.txt @@ -0,0 +1,11 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/0.txt b/cset/query/size-5/0.txt new file mode 100644 index 0000000..bdf07c9 --- /dev/null +++ b/cset/query/size-5/0.txt @@ -0,0 +1,10 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/1.txt b/cset/query/size-5/1.txt new file mode 100644 index 0000000..1979246 --- /dev/null +++ b/cset/query/size-5/1.txt @@ -0,0 +1,10 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-5/10.txt b/cset/query/size-5/10.txt new file mode 100644 index 0000000..15727c1 --- /dev/null +++ b/cset/query/size-5/10.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/11.txt b/cset/query/size-5/11.txt new file mode 100644 index 0000000..744645d --- /dev/null +++ b/cset/query/size-5/11.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/12.txt b/cset/query/size-5/12.txt new file mode 100644 index 0000000..cbebbee --- /dev/null +++ b/cset/query/size-5/12.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 0 +v 1 1 +v 2 2 +v 3 3 +v 4 4 +e 2 3 1 +e 1 4 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/13.txt b/cset/query/size-5/13.txt new file mode 100644 index 0000000..6404599 --- /dev/null +++ b/cset/query/size-5/13.txt @@ -0,0 +1,11 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-5/14.txt b/cset/query/size-5/14.txt new file mode 100644 index 0000000..409d2b5 --- /dev/null +++ b/cset/query/size-5/14.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-5/15.txt b/cset/query/size-5/15.txt new file mode 100644 index 0000000..aca332a --- /dev/null +++ b/cset/query/size-5/15.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/16.txt b/cset/query/size-5/16.txt new file mode 100644 index 0000000..b038e45 --- /dev/null +++ b/cset/query/size-5/16.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-5/17.txt b/cset/query/size-5/17.txt new file mode 100644 index 0000000..75169e1 --- /dev/null +++ b/cset/query/size-5/17.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/18.txt b/cset/query/size-5/18.txt new file mode 100644 index 0000000..15d01b7 --- /dev/null +++ b/cset/query/size-5/18.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/19.txt b/cset/query/size-5/19.txt new file mode 100644 index 0000000..2d511cb --- /dev/null +++ b/cset/query/size-5/19.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/2.txt b/cset/query/size-5/2.txt new file mode 100644 index 0000000..5093aad --- /dev/null +++ b/cset/query/size-5/2.txt @@ -0,0 +1,11 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/20.txt b/cset/query/size-5/20.txt new file mode 100644 index 0000000..260c221 --- /dev/null +++ b/cset/query/size-5/20.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 2 +v 2 3 +v 3 4 +v 4 5 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/3.txt b/cset/query/size-5/3.txt new file mode 100644 index 0000000..05e3c0a --- /dev/null +++ b/cset/query/size-5/3.txt @@ -0,0 +1,10 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-5/4.txt b/cset/query/size-5/4.txt new file mode 100644 index 0000000..e71c003 --- /dev/null +++ b/cset/query/size-5/4.txt @@ -0,0 +1,11 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/5.txt b/cset/query/size-5/5.txt new file mode 100644 index 0000000..cb5d2e4 --- /dev/null +++ b/cset/query/size-5/5.txt @@ -0,0 +1,11 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-5/6.txt b/cset/query/size-5/6.txt new file mode 100644 index 0000000..da415b0 --- /dev/null +++ b/cset/query/size-5/6.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/7.txt b/cset/query/size-5/7.txt new file mode 100644 index 0000000..e6f5522 --- /dev/null +++ b/cset/query/size-5/7.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-5/8.txt b/cset/query/size-5/8.txt new file mode 100644 index 0000000..c64aec1 --- /dev/null +++ b/cset/query/size-5/8.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-5/9.txt b/cset/query/size-5/9.txt new file mode 100644 index 0000000..3987529 --- /dev/null +++ b/cset/query/size-5/9.txt @@ -0,0 +1,11 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-6/0.txt b/cset/query/size-6/0.txt new file mode 100644 index 0000000..6b0d17a --- /dev/null +++ b/cset/query/size-6/0.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/1.txt b/cset/query/size-6/1.txt new file mode 100644 index 0000000..9e3ede2 --- /dev/null +++ b/cset/query/size-6/1.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/10.txt b/cset/query/size-6/10.txt new file mode 100644 index 0000000..d2a4548 --- /dev/null +++ b/cset/query/size-6/10.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/100.txt b/cset/query/size-6/100.txt new file mode 100644 index 0000000..084a692 --- /dev/null +++ b/cset/query/size-6/100.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/101.txt b/cset/query/size-6/101.txt new file mode 100644 index 0000000..f03c604 --- /dev/null +++ b/cset/query/size-6/101.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/102.txt b/cset/query/size-6/102.txt new file mode 100644 index 0000000..ec7ca20 --- /dev/null +++ b/cset/query/size-6/102.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/103.txt b/cset/query/size-6/103.txt new file mode 100644 index 0000000..64ddef8 --- /dev/null +++ b/cset/query/size-6/103.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/104.txt b/cset/query/size-6/104.txt new file mode 100644 index 0000000..44917c8 --- /dev/null +++ b/cset/query/size-6/104.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/105.txt b/cset/query/size-6/105.txt new file mode 100644 index 0000000..ce05454 --- /dev/null +++ b/cset/query/size-6/105.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/106.txt b/cset/query/size-6/106.txt new file mode 100644 index 0000000..51bcd31 --- /dev/null +++ b/cset/query/size-6/106.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/107.txt b/cset/query/size-6/107.txt new file mode 100644 index 0000000..1926ed1 --- /dev/null +++ b/cset/query/size-6/107.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/108.txt b/cset/query/size-6/108.txt new file mode 100644 index 0000000..674d5cd --- /dev/null +++ b/cset/query/size-6/108.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/109.txt b/cset/query/size-6/109.txt new file mode 100644 index 0000000..1c33693 --- /dev/null +++ b/cset/query/size-6/109.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/11.txt b/cset/query/size-6/11.txt new file mode 100644 index 0000000..ab66b6f --- /dev/null +++ b/cset/query/size-6/11.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/110.txt b/cset/query/size-6/110.txt new file mode 100644 index 0000000..9fb9f20 --- /dev/null +++ b/cset/query/size-6/110.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/111.txt b/cset/query/size-6/111.txt new file mode 100644 index 0000000..d7694b8 --- /dev/null +++ b/cset/query/size-6/111.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/12.txt b/cset/query/size-6/12.txt new file mode 100644 index 0000000..709f3cc --- /dev/null +++ b/cset/query/size-6/12.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/13.txt b/cset/query/size-6/13.txt new file mode 100644 index 0000000..8bcaee0 --- /dev/null +++ b/cset/query/size-6/13.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/14.txt b/cset/query/size-6/14.txt new file mode 100644 index 0000000..b7e3a03 --- /dev/null +++ b/cset/query/size-6/14.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-6/15.txt b/cset/query/size-6/15.txt new file mode 100644 index 0000000..1b545eb --- /dev/null +++ b/cset/query/size-6/15.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/16.txt b/cset/query/size-6/16.txt new file mode 100644 index 0000000..2ebac6c --- /dev/null +++ b/cset/query/size-6/16.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/17.txt b/cset/query/size-6/17.txt new file mode 100644 index 0000000..e7b5142 --- /dev/null +++ b/cset/query/size-6/17.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/18.txt b/cset/query/size-6/18.txt new file mode 100644 index 0000000..7c9d2cc --- /dev/null +++ b/cset/query/size-6/18.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/19.txt b/cset/query/size-6/19.txt new file mode 100644 index 0000000..56d5cab --- /dev/null +++ b/cset/query/size-6/19.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/2.txt b/cset/query/size-6/2.txt new file mode 100644 index 0000000..31a9262 --- /dev/null +++ b/cset/query/size-6/2.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/20.txt b/cset/query/size-6/20.txt new file mode 100644 index 0000000..dd76fc9 --- /dev/null +++ b/cset/query/size-6/20.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/21.txt b/cset/query/size-6/21.txt new file mode 100644 index 0000000..1d120a8 --- /dev/null +++ b/cset/query/size-6/21.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-6/22.txt b/cset/query/size-6/22.txt new file mode 100644 index 0000000..3016d1e --- /dev/null +++ b/cset/query/size-6/22.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/23.txt b/cset/query/size-6/23.txt new file mode 100644 index 0000000..b2ce949 --- /dev/null +++ b/cset/query/size-6/23.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/24.txt b/cset/query/size-6/24.txt new file mode 100644 index 0000000..ff4d4ce --- /dev/null +++ b/cset/query/size-6/24.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/25.txt b/cset/query/size-6/25.txt new file mode 100644 index 0000000..9f15b93 --- /dev/null +++ b/cset/query/size-6/25.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/26.txt b/cset/query/size-6/26.txt new file mode 100644 index 0000000..5fedd55 --- /dev/null +++ b/cset/query/size-6/26.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/27.txt b/cset/query/size-6/27.txt new file mode 100644 index 0000000..56e3e01 --- /dev/null +++ b/cset/query/size-6/27.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/28.txt b/cset/query/size-6/28.txt new file mode 100644 index 0000000..2eb7b2c --- /dev/null +++ b/cset/query/size-6/28.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/29.txt b/cset/query/size-6/29.txt new file mode 100644 index 0000000..9bc1afb --- /dev/null +++ b/cset/query/size-6/29.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/3.txt b/cset/query/size-6/3.txt new file mode 100644 index 0000000..e041b69 --- /dev/null +++ b/cset/query/size-6/3.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-6/30.txt b/cset/query/size-6/30.txt new file mode 100644 index 0000000..2c3a303 --- /dev/null +++ b/cset/query/size-6/30.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-6/31.txt b/cset/query/size-6/31.txt new file mode 100644 index 0000000..b96ac7f --- /dev/null +++ b/cset/query/size-6/31.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-6/32.txt b/cset/query/size-6/32.txt new file mode 100644 index 0000000..baf422c --- /dev/null +++ b/cset/query/size-6/32.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-6/33.txt b/cset/query/size-6/33.txt new file mode 100644 index 0000000..5b849bc --- /dev/null +++ b/cset/query/size-6/33.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/34.txt b/cset/query/size-6/34.txt new file mode 100644 index 0000000..5035ffa --- /dev/null +++ b/cset/query/size-6/34.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/35.txt b/cset/query/size-6/35.txt new file mode 100644 index 0000000..6aafad5 --- /dev/null +++ b/cset/query/size-6/35.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/36.txt b/cset/query/size-6/36.txt new file mode 100644 index 0000000..af17ad2 --- /dev/null +++ b/cset/query/size-6/36.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-6/37.txt b/cset/query/size-6/37.txt new file mode 100644 index 0000000..d5507e3 --- /dev/null +++ b/cset/query/size-6/37.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/38.txt b/cset/query/size-6/38.txt new file mode 100644 index 0000000..fac8dd1 --- /dev/null +++ b/cset/query/size-6/38.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/39.txt b/cset/query/size-6/39.txt new file mode 100644 index 0000000..fb3d4e7 --- /dev/null +++ b/cset/query/size-6/39.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/4.txt b/cset/query/size-6/4.txt new file mode 100644 index 0000000..7c2f866 --- /dev/null +++ b/cset/query/size-6/4.txt @@ -0,0 +1,12 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-6/40.txt b/cset/query/size-6/40.txt new file mode 100644 index 0000000..b07f70c --- /dev/null +++ b/cset/query/size-6/40.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-6/41.txt b/cset/query/size-6/41.txt new file mode 100644 index 0000000..b9f74f5 --- /dev/null +++ b/cset/query/size-6/41.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/42.txt b/cset/query/size-6/42.txt new file mode 100644 index 0000000..7f19ed1 --- /dev/null +++ b/cset/query/size-6/42.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/43.txt b/cset/query/size-6/43.txt new file mode 100644 index 0000000..fe721d5 --- /dev/null +++ b/cset/query/size-6/43.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/44.txt b/cset/query/size-6/44.txt new file mode 100644 index 0000000..b70b652 --- /dev/null +++ b/cset/query/size-6/44.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/45.txt b/cset/query/size-6/45.txt new file mode 100644 index 0000000..39ee75b --- /dev/null +++ b/cset/query/size-6/45.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/46.txt b/cset/query/size-6/46.txt new file mode 100644 index 0000000..9f13e1e --- /dev/null +++ b/cset/query/size-6/46.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/47.txt b/cset/query/size-6/47.txt new file mode 100644 index 0000000..a39dae6 --- /dev/null +++ b/cset/query/size-6/47.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/48.txt b/cset/query/size-6/48.txt new file mode 100644 index 0000000..664dbf7 --- /dev/null +++ b/cset/query/size-6/48.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/49.txt b/cset/query/size-6/49.txt new file mode 100644 index 0000000..9a90ba5 --- /dev/null +++ b/cset/query/size-6/49.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/5.txt b/cset/query/size-6/5.txt new file mode 100644 index 0000000..e1d46bc --- /dev/null +++ b/cset/query/size-6/5.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/50.txt b/cset/query/size-6/50.txt new file mode 100644 index 0000000..506a640 --- /dev/null +++ b/cset/query/size-6/50.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/51.txt b/cset/query/size-6/51.txt new file mode 100644 index 0000000..f04e306 --- /dev/null +++ b/cset/query/size-6/51.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-6/52.txt b/cset/query/size-6/52.txt new file mode 100644 index 0000000..272d992 --- /dev/null +++ b/cset/query/size-6/52.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/53.txt b/cset/query/size-6/53.txt new file mode 100644 index 0000000..8e1aad3 --- /dev/null +++ b/cset/query/size-6/53.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/54.txt b/cset/query/size-6/54.txt new file mode 100644 index 0000000..99c2321 --- /dev/null +++ b/cset/query/size-6/54.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/55.txt b/cset/query/size-6/55.txt new file mode 100644 index 0000000..ee574f0 --- /dev/null +++ b/cset/query/size-6/55.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/56.txt b/cset/query/size-6/56.txt new file mode 100644 index 0000000..2f8a596 --- /dev/null +++ b/cset/query/size-6/56.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/57.txt b/cset/query/size-6/57.txt new file mode 100644 index 0000000..7ecd3df --- /dev/null +++ b/cset/query/size-6/57.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-6/58.txt b/cset/query/size-6/58.txt new file mode 100644 index 0000000..f898a2b --- /dev/null +++ b/cset/query/size-6/58.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-6/59.txt b/cset/query/size-6/59.txt new file mode 100644 index 0000000..d0cf153 --- /dev/null +++ b/cset/query/size-6/59.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/6.txt b/cset/query/size-6/6.txt new file mode 100644 index 0000000..59698aa --- /dev/null +++ b/cset/query/size-6/6.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/60.txt b/cset/query/size-6/60.txt new file mode 100644 index 0000000..fb75f48 --- /dev/null +++ b/cset/query/size-6/60.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/61.txt b/cset/query/size-6/61.txt new file mode 100644 index 0000000..fdd0d9a --- /dev/null +++ b/cset/query/size-6/61.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/62.txt b/cset/query/size-6/62.txt new file mode 100644 index 0000000..d7599b2 --- /dev/null +++ b/cset/query/size-6/62.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/63.txt b/cset/query/size-6/63.txt new file mode 100644 index 0000000..5c96b39 --- /dev/null +++ b/cset/query/size-6/63.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/64.txt b/cset/query/size-6/64.txt new file mode 100644 index 0000000..d3988b5 --- /dev/null +++ b/cset/query/size-6/64.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/65.txt b/cset/query/size-6/65.txt new file mode 100644 index 0000000..9ac1f76 --- /dev/null +++ b/cset/query/size-6/65.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/66.txt b/cset/query/size-6/66.txt new file mode 100644 index 0000000..b02f83a --- /dev/null +++ b/cset/query/size-6/66.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/67.txt b/cset/query/size-6/67.txt new file mode 100644 index 0000000..eb76fc3 --- /dev/null +++ b/cset/query/size-6/67.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/68.txt b/cset/query/size-6/68.txt new file mode 100644 index 0000000..69f2e46 --- /dev/null +++ b/cset/query/size-6/68.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/69.txt b/cset/query/size-6/69.txt new file mode 100644 index 0000000..e73f0ab --- /dev/null +++ b/cset/query/size-6/69.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/7.txt b/cset/query/size-6/7.txt new file mode 100644 index 0000000..6cf619f --- /dev/null +++ b/cset/query/size-6/7.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/70.txt b/cset/query/size-6/70.txt new file mode 100644 index 0000000..e7278d9 --- /dev/null +++ b/cset/query/size-6/70.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/71.txt b/cset/query/size-6/71.txt new file mode 100644 index 0000000..b3f6021 --- /dev/null +++ b/cset/query/size-6/71.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/72.txt b/cset/query/size-6/72.txt new file mode 100644 index 0000000..9f6cc9d --- /dev/null +++ b/cset/query/size-6/72.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/73.txt b/cset/query/size-6/73.txt new file mode 100644 index 0000000..d5dc7d0 --- /dev/null +++ b/cset/query/size-6/73.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/74.txt b/cset/query/size-6/74.txt new file mode 100644 index 0000000..1cd97f2 --- /dev/null +++ b/cset/query/size-6/74.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/75.txt b/cset/query/size-6/75.txt new file mode 100644 index 0000000..f348da7 --- /dev/null +++ b/cset/query/size-6/75.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/76.txt b/cset/query/size-6/76.txt new file mode 100644 index 0000000..b67bce7 --- /dev/null +++ b/cset/query/size-6/76.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/77.txt b/cset/query/size-6/77.txt new file mode 100644 index 0000000..d1125e3 --- /dev/null +++ b/cset/query/size-6/77.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-6/78.txt b/cset/query/size-6/78.txt new file mode 100644 index 0000000..aae28ea --- /dev/null +++ b/cset/query/size-6/78.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/79.txt b/cset/query/size-6/79.txt new file mode 100644 index 0000000..0f2246d --- /dev/null +++ b/cset/query/size-6/79.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/8.txt b/cset/query/size-6/8.txt new file mode 100644 index 0000000..c047473 --- /dev/null +++ b/cset/query/size-6/8.txt @@ -0,0 +1,13 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/80.txt b/cset/query/size-6/80.txt new file mode 100644 index 0000000..4ea03f8 --- /dev/null +++ b/cset/query/size-6/80.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/81.txt b/cset/query/size-6/81.txt new file mode 100644 index 0000000..76151b4 --- /dev/null +++ b/cset/query/size-6/81.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/82.txt b/cset/query/size-6/82.txt new file mode 100644 index 0000000..84e8084 --- /dev/null +++ b/cset/query/size-6/82.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/83.txt b/cset/query/size-6/83.txt new file mode 100644 index 0000000..e940d1b --- /dev/null +++ b/cset/query/size-6/83.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/84.txt b/cset/query/size-6/84.txt new file mode 100644 index 0000000..0203157 --- /dev/null +++ b/cset/query/size-6/84.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/85.txt b/cset/query/size-6/85.txt new file mode 100644 index 0000000..0587e72 --- /dev/null +++ b/cset/query/size-6/85.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/86.txt b/cset/query/size-6/86.txt new file mode 100644 index 0000000..a457bfc --- /dev/null +++ b/cset/query/size-6/86.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-6/87.txt b/cset/query/size-6/87.txt new file mode 100644 index 0000000..840ba5c --- /dev/null +++ b/cset/query/size-6/87.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-6/88.txt b/cset/query/size-6/88.txt new file mode 100644 index 0000000..3e90a9a --- /dev/null +++ b/cset/query/size-6/88.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/89.txt b/cset/query/size-6/89.txt new file mode 100644 index 0000000..4f46bd4 --- /dev/null +++ b/cset/query/size-6/89.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/9.txt b/cset/query/size-6/9.txt new file mode 100644 index 0000000..fec0498 --- /dev/null +++ b/cset/query/size-6/9.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/90.txt b/cset/query/size-6/90.txt new file mode 100644 index 0000000..e3033d5 --- /dev/null +++ b/cset/query/size-6/90.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/91.txt b/cset/query/size-6/91.txt new file mode 100644 index 0000000..895e83e --- /dev/null +++ b/cset/query/size-6/91.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-6/92.txt b/cset/query/size-6/92.txt new file mode 100644 index 0000000..be69ce0 --- /dev/null +++ b/cset/query/size-6/92.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/93.txt b/cset/query/size-6/93.txt new file mode 100644 index 0000000..0118ae8 --- /dev/null +++ b/cset/query/size-6/93.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/94.txt b/cset/query/size-6/94.txt new file mode 100644 index 0000000..8ec934a --- /dev/null +++ b/cset/query/size-6/94.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/95.txt b/cset/query/size-6/95.txt new file mode 100644 index 0000000..61883f1 --- /dev/null +++ b/cset/query/size-6/95.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/96.txt b/cset/query/size-6/96.txt new file mode 100644 index 0000000..a922141 --- /dev/null +++ b/cset/query/size-6/96.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/97.txt b/cset/query/size-6/97.txt new file mode 100644 index 0000000..528f2d3 --- /dev/null +++ b/cset/query/size-6/97.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-6/98.txt b/cset/query/size-6/98.txt new file mode 100644 index 0000000..31dbf15 --- /dev/null +++ b/cset/query/size-6/98.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-6/99.txt b/cset/query/size-6/99.txt new file mode 100644 index 0000000..1500846 --- /dev/null +++ b/cset/query/size-6/99.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/0.txt b/cset/query/size-7/0.txt new file mode 100644 index 0000000..8165071 --- /dev/null +++ b/cset/query/size-7/0.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/1.txt b/cset/query/size-7/1.txt new file mode 100644 index 0000000..d687508 --- /dev/null +++ b/cset/query/size-7/1.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/10.txt b/cset/query/size-7/10.txt new file mode 100644 index 0000000..0bf45b9 --- /dev/null +++ b/cset/query/size-7/10.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/100.txt b/cset/query/size-7/100.txt new file mode 100644 index 0000000..3eeeef7 --- /dev/null +++ b/cset/query/size-7/100.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/101.txt b/cset/query/size-7/101.txt new file mode 100644 index 0000000..fb58bbb --- /dev/null +++ b/cset/query/size-7/101.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 3 1 diff --git a/cset/query/size-7/102.txt b/cset/query/size-7/102.txt new file mode 100644 index 0000000..3daf84a --- /dev/null +++ b/cset/query/size-7/102.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/103.txt b/cset/query/size-7/103.txt new file mode 100644 index 0000000..a0eaad1 --- /dev/null +++ b/cset/query/size-7/103.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/104.txt b/cset/query/size-7/104.txt new file mode 100644 index 0000000..4b55c7a --- /dev/null +++ b/cset/query/size-7/104.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 diff --git a/cset/query/size-7/105.txt b/cset/query/size-7/105.txt new file mode 100644 index 0000000..d72f82f --- /dev/null +++ b/cset/query/size-7/105.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/106.txt b/cset/query/size-7/106.txt new file mode 100644 index 0000000..f0b952b --- /dev/null +++ b/cset/query/size-7/106.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/107.txt b/cset/query/size-7/107.txt new file mode 100644 index 0000000..85afd0b --- /dev/null +++ b/cset/query/size-7/107.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/108.txt b/cset/query/size-7/108.txt new file mode 100644 index 0000000..145468f --- /dev/null +++ b/cset/query/size-7/108.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/109.txt b/cset/query/size-7/109.txt new file mode 100644 index 0000000..8d1ce85 --- /dev/null +++ b/cset/query/size-7/109.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/11.txt b/cset/query/size-7/11.txt new file mode 100644 index 0000000..b3efabf --- /dev/null +++ b/cset/query/size-7/11.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/110.txt b/cset/query/size-7/110.txt new file mode 100644 index 0000000..ca497a9 --- /dev/null +++ b/cset/query/size-7/110.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/111.txt b/cset/query/size-7/111.txt new file mode 100644 index 0000000..17ca686 --- /dev/null +++ b/cset/query/size-7/111.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/112.txt b/cset/query/size-7/112.txt new file mode 100644 index 0000000..52d38a7 --- /dev/null +++ b/cset/query/size-7/112.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/113.txt b/cset/query/size-7/113.txt new file mode 100644 index 0000000..7292efb --- /dev/null +++ b/cset/query/size-7/113.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/114.txt b/cset/query/size-7/114.txt new file mode 100644 index 0000000..1ffbcd9 --- /dev/null +++ b/cset/query/size-7/114.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/115.txt b/cset/query/size-7/115.txt new file mode 100644 index 0000000..b272226 --- /dev/null +++ b/cset/query/size-7/115.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/116.txt b/cset/query/size-7/116.txt new file mode 100644 index 0000000..d6c36cf --- /dev/null +++ b/cset/query/size-7/116.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/117.txt b/cset/query/size-7/117.txt new file mode 100644 index 0000000..a30ce80 --- /dev/null +++ b/cset/query/size-7/117.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/118.txt b/cset/query/size-7/118.txt new file mode 100644 index 0000000..0fedf8d --- /dev/null +++ b/cset/query/size-7/118.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/119.txt b/cset/query/size-7/119.txt new file mode 100644 index 0000000..25c9d4f --- /dev/null +++ b/cset/query/size-7/119.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/12.txt b/cset/query/size-7/12.txt new file mode 100644 index 0000000..20b3c52 --- /dev/null +++ b/cset/query/size-7/12.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/120.txt b/cset/query/size-7/120.txt new file mode 100644 index 0000000..1cb06a9 --- /dev/null +++ b/cset/query/size-7/120.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/121.txt b/cset/query/size-7/121.txt new file mode 100644 index 0000000..b446875 --- /dev/null +++ b/cset/query/size-7/121.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/122.txt b/cset/query/size-7/122.txt new file mode 100644 index 0000000..75e2bfa --- /dev/null +++ b/cset/query/size-7/122.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/123.txt b/cset/query/size-7/123.txt new file mode 100644 index 0000000..3e793be --- /dev/null +++ b/cset/query/size-7/123.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/124.txt b/cset/query/size-7/124.txt new file mode 100644 index 0000000..b4b1d4b --- /dev/null +++ b/cset/query/size-7/124.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/125.txt b/cset/query/size-7/125.txt new file mode 100644 index 0000000..d2db4dd --- /dev/null +++ b/cset/query/size-7/125.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/126.txt b/cset/query/size-7/126.txt new file mode 100644 index 0000000..de1ee15 --- /dev/null +++ b/cset/query/size-7/126.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/127.txt b/cset/query/size-7/127.txt new file mode 100644 index 0000000..37ebe0b --- /dev/null +++ b/cset/query/size-7/127.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/128.txt b/cset/query/size-7/128.txt new file mode 100644 index 0000000..cbee3b3 --- /dev/null +++ b/cset/query/size-7/128.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/129.txt b/cset/query/size-7/129.txt new file mode 100644 index 0000000..104d2a7 --- /dev/null +++ b/cset/query/size-7/129.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/13.txt b/cset/query/size-7/13.txt new file mode 100644 index 0000000..9abceac --- /dev/null +++ b/cset/query/size-7/13.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/130.txt b/cset/query/size-7/130.txt new file mode 100644 index 0000000..9f5f0ca --- /dev/null +++ b/cset/query/size-7/130.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/131.txt b/cset/query/size-7/131.txt new file mode 100644 index 0000000..fc6a78b --- /dev/null +++ b/cset/query/size-7/131.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/132.txt b/cset/query/size-7/132.txt new file mode 100644 index 0000000..77105bd --- /dev/null +++ b/cset/query/size-7/132.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/133.txt b/cset/query/size-7/133.txt new file mode 100644 index 0000000..c707e71 --- /dev/null +++ b/cset/query/size-7/133.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/134.txt b/cset/query/size-7/134.txt new file mode 100644 index 0000000..a846bdf --- /dev/null +++ b/cset/query/size-7/134.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/135.txt b/cset/query/size-7/135.txt new file mode 100644 index 0000000..dce6476 --- /dev/null +++ b/cset/query/size-7/135.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/136.txt b/cset/query/size-7/136.txt new file mode 100644 index 0000000..e8ef8f4 --- /dev/null +++ b/cset/query/size-7/136.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/137.txt b/cset/query/size-7/137.txt new file mode 100644 index 0000000..278013d --- /dev/null +++ b/cset/query/size-7/137.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/138.txt b/cset/query/size-7/138.txt new file mode 100644 index 0000000..2357516 --- /dev/null +++ b/cset/query/size-7/138.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/139.txt b/cset/query/size-7/139.txt new file mode 100644 index 0000000..313920a --- /dev/null +++ b/cset/query/size-7/139.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/14.txt b/cset/query/size-7/14.txt new file mode 100644 index 0000000..01cbd6c --- /dev/null +++ b/cset/query/size-7/14.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/140.txt b/cset/query/size-7/140.txt new file mode 100644 index 0000000..8db148c --- /dev/null +++ b/cset/query/size-7/140.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/141.txt b/cset/query/size-7/141.txt new file mode 100644 index 0000000..350a5dc --- /dev/null +++ b/cset/query/size-7/141.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/142.txt b/cset/query/size-7/142.txt new file mode 100644 index 0000000..9273715 --- /dev/null +++ b/cset/query/size-7/142.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/143.txt b/cset/query/size-7/143.txt new file mode 100644 index 0000000..a5a4e53 --- /dev/null +++ b/cset/query/size-7/143.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/144.txt b/cset/query/size-7/144.txt new file mode 100644 index 0000000..c1f57da --- /dev/null +++ b/cset/query/size-7/144.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/145.txt b/cset/query/size-7/145.txt new file mode 100644 index 0000000..5c5a2e8 --- /dev/null +++ b/cset/query/size-7/145.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/146.txt b/cset/query/size-7/146.txt new file mode 100644 index 0000000..c3c5d8e --- /dev/null +++ b/cset/query/size-7/146.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/147.txt b/cset/query/size-7/147.txt new file mode 100644 index 0000000..4de0c6a --- /dev/null +++ b/cset/query/size-7/147.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/148.txt b/cset/query/size-7/148.txt new file mode 100644 index 0000000..af7a014 --- /dev/null +++ b/cset/query/size-7/148.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/149.txt b/cset/query/size-7/149.txt new file mode 100644 index 0000000..f6fefcd --- /dev/null +++ b/cset/query/size-7/149.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/15.txt b/cset/query/size-7/15.txt new file mode 100644 index 0000000..dedd82d --- /dev/null +++ b/cset/query/size-7/15.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/150.txt b/cset/query/size-7/150.txt new file mode 100644 index 0000000..ff54c30 --- /dev/null +++ b/cset/query/size-7/150.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/151.txt b/cset/query/size-7/151.txt new file mode 100644 index 0000000..8c77931 --- /dev/null +++ b/cset/query/size-7/151.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/152.txt b/cset/query/size-7/152.txt new file mode 100644 index 0000000..6ae9a0a --- /dev/null +++ b/cset/query/size-7/152.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/153.txt b/cset/query/size-7/153.txt new file mode 100644 index 0000000..2bc7e42 --- /dev/null +++ b/cset/query/size-7/153.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/154.txt b/cset/query/size-7/154.txt new file mode 100644 index 0000000..64bbf75 --- /dev/null +++ b/cset/query/size-7/154.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/155.txt b/cset/query/size-7/155.txt new file mode 100644 index 0000000..3fc59e8 --- /dev/null +++ b/cset/query/size-7/155.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/156.txt b/cset/query/size-7/156.txt new file mode 100644 index 0000000..3150c25 --- /dev/null +++ b/cset/query/size-7/156.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/157.txt b/cset/query/size-7/157.txt new file mode 100644 index 0000000..9984bb6 --- /dev/null +++ b/cset/query/size-7/157.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/158.txt b/cset/query/size-7/158.txt new file mode 100644 index 0000000..b5f3eea --- /dev/null +++ b/cset/query/size-7/158.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/159.txt b/cset/query/size-7/159.txt new file mode 100644 index 0000000..7784d4b --- /dev/null +++ b/cset/query/size-7/159.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/16.txt b/cset/query/size-7/16.txt new file mode 100644 index 0000000..c9e8025 --- /dev/null +++ b/cset/query/size-7/16.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/160.txt b/cset/query/size-7/160.txt new file mode 100644 index 0000000..bf0d194 --- /dev/null +++ b/cset/query/size-7/160.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/161.txt b/cset/query/size-7/161.txt new file mode 100644 index 0000000..9ff2716 --- /dev/null +++ b/cset/query/size-7/161.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/162.txt b/cset/query/size-7/162.txt new file mode 100644 index 0000000..8ce4fc7 --- /dev/null +++ b/cset/query/size-7/162.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/163.txt b/cset/query/size-7/163.txt new file mode 100644 index 0000000..fa5ef4d --- /dev/null +++ b/cset/query/size-7/163.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/164.txt b/cset/query/size-7/164.txt new file mode 100644 index 0000000..e1373bb --- /dev/null +++ b/cset/query/size-7/164.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/165.txt b/cset/query/size-7/165.txt new file mode 100644 index 0000000..a0bb1cc --- /dev/null +++ b/cset/query/size-7/165.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/166.txt b/cset/query/size-7/166.txt new file mode 100644 index 0000000..2c02f89 --- /dev/null +++ b/cset/query/size-7/166.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/167.txt b/cset/query/size-7/167.txt new file mode 100644 index 0000000..bbb79bd --- /dev/null +++ b/cset/query/size-7/167.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/168.txt b/cset/query/size-7/168.txt new file mode 100644 index 0000000..27f2480 --- /dev/null +++ b/cset/query/size-7/168.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/169.txt b/cset/query/size-7/169.txt new file mode 100644 index 0000000..6f96eae --- /dev/null +++ b/cset/query/size-7/169.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/17.txt b/cset/query/size-7/17.txt new file mode 100644 index 0000000..1034daa --- /dev/null +++ b/cset/query/size-7/17.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/170.txt b/cset/query/size-7/170.txt new file mode 100644 index 0000000..393ebbb --- /dev/null +++ b/cset/query/size-7/170.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/171.txt b/cset/query/size-7/171.txt new file mode 100644 index 0000000..7c0891d --- /dev/null +++ b/cset/query/size-7/171.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/172.txt b/cset/query/size-7/172.txt new file mode 100644 index 0000000..a3fe6ec --- /dev/null +++ b/cset/query/size-7/172.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/173.txt b/cset/query/size-7/173.txt new file mode 100644 index 0000000..7e881c3 --- /dev/null +++ b/cset/query/size-7/173.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/174.txt b/cset/query/size-7/174.txt new file mode 100644 index 0000000..2c4b4fd --- /dev/null +++ b/cset/query/size-7/174.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/175.txt b/cset/query/size-7/175.txt new file mode 100644 index 0000000..05c1446 --- /dev/null +++ b/cset/query/size-7/175.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/176.txt b/cset/query/size-7/176.txt new file mode 100644 index 0000000..7f37608 --- /dev/null +++ b/cset/query/size-7/176.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/177.txt b/cset/query/size-7/177.txt new file mode 100644 index 0000000..0618b4f --- /dev/null +++ b/cset/query/size-7/177.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/178.txt b/cset/query/size-7/178.txt new file mode 100644 index 0000000..96f3315 --- /dev/null +++ b/cset/query/size-7/178.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/179.txt b/cset/query/size-7/179.txt new file mode 100644 index 0000000..045f531 --- /dev/null +++ b/cset/query/size-7/179.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/18.txt b/cset/query/size-7/18.txt new file mode 100644 index 0000000..ca9d29a --- /dev/null +++ b/cset/query/size-7/18.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/180.txt b/cset/query/size-7/180.txt new file mode 100644 index 0000000..f5cf22e --- /dev/null +++ b/cset/query/size-7/180.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/181.txt b/cset/query/size-7/181.txt new file mode 100644 index 0000000..0f0c8fd --- /dev/null +++ b/cset/query/size-7/181.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/182.txt b/cset/query/size-7/182.txt new file mode 100644 index 0000000..73619ed --- /dev/null +++ b/cset/query/size-7/182.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/183.txt b/cset/query/size-7/183.txt new file mode 100644 index 0000000..189b482 --- /dev/null +++ b/cset/query/size-7/183.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/184.txt b/cset/query/size-7/184.txt new file mode 100644 index 0000000..2c39106 --- /dev/null +++ b/cset/query/size-7/184.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/185.txt b/cset/query/size-7/185.txt new file mode 100644 index 0000000..052d8be --- /dev/null +++ b/cset/query/size-7/185.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/186.txt b/cset/query/size-7/186.txt new file mode 100644 index 0000000..2c68795 --- /dev/null +++ b/cset/query/size-7/186.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/187.txt b/cset/query/size-7/187.txt new file mode 100644 index 0000000..4bdbcfb --- /dev/null +++ b/cset/query/size-7/187.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/188.txt b/cset/query/size-7/188.txt new file mode 100644 index 0000000..7e9ac57 --- /dev/null +++ b/cset/query/size-7/188.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/189.txt b/cset/query/size-7/189.txt new file mode 100644 index 0000000..18fc049 --- /dev/null +++ b/cset/query/size-7/189.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/19.txt b/cset/query/size-7/19.txt new file mode 100644 index 0000000..9aa48a4 --- /dev/null +++ b/cset/query/size-7/19.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/190.txt b/cset/query/size-7/190.txt new file mode 100644 index 0000000..5255d0f --- /dev/null +++ b/cset/query/size-7/190.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/191.txt b/cset/query/size-7/191.txt new file mode 100644 index 0000000..aebbdf4 --- /dev/null +++ b/cset/query/size-7/191.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/192.txt b/cset/query/size-7/192.txt new file mode 100644 index 0000000..212ba56 --- /dev/null +++ b/cset/query/size-7/192.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/193.txt b/cset/query/size-7/193.txt new file mode 100644 index 0000000..b176f77 --- /dev/null +++ b/cset/query/size-7/193.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/194.txt b/cset/query/size-7/194.txt new file mode 100644 index 0000000..ace9d87 --- /dev/null +++ b/cset/query/size-7/194.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/195.txt b/cset/query/size-7/195.txt new file mode 100644 index 0000000..f9cd721 --- /dev/null +++ b/cset/query/size-7/195.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/196.txt b/cset/query/size-7/196.txt new file mode 100644 index 0000000..d5677f9 --- /dev/null +++ b/cset/query/size-7/196.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/197.txt b/cset/query/size-7/197.txt new file mode 100644 index 0000000..7bb9ace --- /dev/null +++ b/cset/query/size-7/197.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/198.txt b/cset/query/size-7/198.txt new file mode 100644 index 0000000..b2dd345 --- /dev/null +++ b/cset/query/size-7/198.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/199.txt b/cset/query/size-7/199.txt new file mode 100644 index 0000000..9460651 --- /dev/null +++ b/cset/query/size-7/199.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/2.txt b/cset/query/size-7/2.txt new file mode 100644 index 0000000..1fc420d --- /dev/null +++ b/cset/query/size-7/2.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/20.txt b/cset/query/size-7/20.txt new file mode 100644 index 0000000..557192e --- /dev/null +++ b/cset/query/size-7/20.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/200.txt b/cset/query/size-7/200.txt new file mode 100644 index 0000000..7991968 --- /dev/null +++ b/cset/query/size-7/200.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/201.txt b/cset/query/size-7/201.txt new file mode 100644 index 0000000..ed79337 --- /dev/null +++ b/cset/query/size-7/201.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/202.txt b/cset/query/size-7/202.txt new file mode 100644 index 0000000..07d9c56 --- /dev/null +++ b/cset/query/size-7/202.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/203.txt b/cset/query/size-7/203.txt new file mode 100644 index 0000000..313d57c --- /dev/null +++ b/cset/query/size-7/203.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/204.txt b/cset/query/size-7/204.txt new file mode 100644 index 0000000..38d91a5 --- /dev/null +++ b/cset/query/size-7/204.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/205.txt b/cset/query/size-7/205.txt new file mode 100644 index 0000000..e43fe2f --- /dev/null +++ b/cset/query/size-7/205.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/206.txt b/cset/query/size-7/206.txt new file mode 100644 index 0000000..97cdcbf --- /dev/null +++ b/cset/query/size-7/206.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/207.txt b/cset/query/size-7/207.txt new file mode 100644 index 0000000..fb03b1d --- /dev/null +++ b/cset/query/size-7/207.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/208.txt b/cset/query/size-7/208.txt new file mode 100644 index 0000000..020a848 --- /dev/null +++ b/cset/query/size-7/208.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/209.txt b/cset/query/size-7/209.txt new file mode 100644 index 0000000..0828203 --- /dev/null +++ b/cset/query/size-7/209.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/21.txt b/cset/query/size-7/21.txt new file mode 100644 index 0000000..6ca44f6 --- /dev/null +++ b/cset/query/size-7/21.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/210.txt b/cset/query/size-7/210.txt new file mode 100644 index 0000000..3fb0b81 --- /dev/null +++ b/cset/query/size-7/210.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/211.txt b/cset/query/size-7/211.txt new file mode 100644 index 0000000..0e38e9d --- /dev/null +++ b/cset/query/size-7/211.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/212.txt b/cset/query/size-7/212.txt new file mode 100644 index 0000000..4965842 --- /dev/null +++ b/cset/query/size-7/212.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/213.txt b/cset/query/size-7/213.txt new file mode 100644 index 0000000..8c315b0 --- /dev/null +++ b/cset/query/size-7/213.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/214.txt b/cset/query/size-7/214.txt new file mode 100644 index 0000000..982a247 --- /dev/null +++ b/cset/query/size-7/214.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/215.txt b/cset/query/size-7/215.txt new file mode 100644 index 0000000..23df7f1 --- /dev/null +++ b/cset/query/size-7/215.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/216.txt b/cset/query/size-7/216.txt new file mode 100644 index 0000000..19d3c25 --- /dev/null +++ b/cset/query/size-7/216.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/217.txt b/cset/query/size-7/217.txt new file mode 100644 index 0000000..60ec25a --- /dev/null +++ b/cset/query/size-7/217.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/218.txt b/cset/query/size-7/218.txt new file mode 100644 index 0000000..708bdce --- /dev/null +++ b/cset/query/size-7/218.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/219.txt b/cset/query/size-7/219.txt new file mode 100644 index 0000000..6990146 --- /dev/null +++ b/cset/query/size-7/219.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/22.txt b/cset/query/size-7/22.txt new file mode 100644 index 0000000..c8beed7 --- /dev/null +++ b/cset/query/size-7/22.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/220.txt b/cset/query/size-7/220.txt new file mode 100644 index 0000000..4e68a23 --- /dev/null +++ b/cset/query/size-7/220.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/221.txt b/cset/query/size-7/221.txt new file mode 100644 index 0000000..13bda56 --- /dev/null +++ b/cset/query/size-7/221.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/222.txt b/cset/query/size-7/222.txt new file mode 100644 index 0000000..eb30542 --- /dev/null +++ b/cset/query/size-7/222.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/223.txt b/cset/query/size-7/223.txt new file mode 100644 index 0000000..01102da --- /dev/null +++ b/cset/query/size-7/223.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/224.txt b/cset/query/size-7/224.txt new file mode 100644 index 0000000..bd569de --- /dev/null +++ b/cset/query/size-7/224.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/225.txt b/cset/query/size-7/225.txt new file mode 100644 index 0000000..a4b0cf5 --- /dev/null +++ b/cset/query/size-7/225.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/226.txt b/cset/query/size-7/226.txt new file mode 100644 index 0000000..aa9ffc6 --- /dev/null +++ b/cset/query/size-7/226.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/227.txt b/cset/query/size-7/227.txt new file mode 100644 index 0000000..9a20676 --- /dev/null +++ b/cset/query/size-7/227.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/228.txt b/cset/query/size-7/228.txt new file mode 100644 index 0000000..84f402c --- /dev/null +++ b/cset/query/size-7/228.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/229.txt b/cset/query/size-7/229.txt new file mode 100644 index 0000000..c8606ff --- /dev/null +++ b/cset/query/size-7/229.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 6 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/23.txt b/cset/query/size-7/23.txt new file mode 100644 index 0000000..c7d3fee --- /dev/null +++ b/cset/query/size-7/23.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/230.txt b/cset/query/size-7/230.txt new file mode 100644 index 0000000..56beab5 --- /dev/null +++ b/cset/query/size-7/230.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/231.txt b/cset/query/size-7/231.txt new file mode 100644 index 0000000..0e04402 --- /dev/null +++ b/cset/query/size-7/231.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/232.txt b/cset/query/size-7/232.txt new file mode 100644 index 0000000..25541ed --- /dev/null +++ b/cset/query/size-7/232.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/233.txt b/cset/query/size-7/233.txt new file mode 100644 index 0000000..1fbcb46 --- /dev/null +++ b/cset/query/size-7/233.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/234.txt b/cset/query/size-7/234.txt new file mode 100644 index 0000000..9d40c07 --- /dev/null +++ b/cset/query/size-7/234.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/235.txt b/cset/query/size-7/235.txt new file mode 100644 index 0000000..27a33e8 --- /dev/null +++ b/cset/query/size-7/235.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 2 1 diff --git a/cset/query/size-7/236.txt b/cset/query/size-7/236.txt new file mode 100644 index 0000000..996d3ef --- /dev/null +++ b/cset/query/size-7/236.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/237.txt b/cset/query/size-7/237.txt new file mode 100644 index 0000000..e48311e --- /dev/null +++ b/cset/query/size-7/237.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 diff --git a/cset/query/size-7/238.txt b/cset/query/size-7/238.txt new file mode 100644 index 0000000..356f6de --- /dev/null +++ b/cset/query/size-7/238.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/239.txt b/cset/query/size-7/239.txt new file mode 100644 index 0000000..4754595 --- /dev/null +++ b/cset/query/size-7/239.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/24.txt b/cset/query/size-7/24.txt new file mode 100644 index 0000000..b9cf33a --- /dev/null +++ b/cset/query/size-7/24.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/240.txt b/cset/query/size-7/240.txt new file mode 100644 index 0000000..8422b43 --- /dev/null +++ b/cset/query/size-7/240.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/241.txt b/cset/query/size-7/241.txt new file mode 100644 index 0000000..39f537d --- /dev/null +++ b/cset/query/size-7/241.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/242.txt b/cset/query/size-7/242.txt new file mode 100644 index 0000000..ae6483c --- /dev/null +++ b/cset/query/size-7/242.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/243.txt b/cset/query/size-7/243.txt new file mode 100644 index 0000000..497a820 --- /dev/null +++ b/cset/query/size-7/243.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/244.txt b/cset/query/size-7/244.txt new file mode 100644 index 0000000..8a453ca --- /dev/null +++ b/cset/query/size-7/244.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/245.txt b/cset/query/size-7/245.txt new file mode 100644 index 0000000..4482002 --- /dev/null +++ b/cset/query/size-7/245.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/246.txt b/cset/query/size-7/246.txt new file mode 100644 index 0000000..dda0430 --- /dev/null +++ b/cset/query/size-7/246.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/247.txt b/cset/query/size-7/247.txt new file mode 100644 index 0000000..91bb528 --- /dev/null +++ b/cset/query/size-7/247.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/248.txt b/cset/query/size-7/248.txt new file mode 100644 index 0000000..5333c5f --- /dev/null +++ b/cset/query/size-7/248.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/249.txt b/cset/query/size-7/249.txt new file mode 100644 index 0000000..90a91c5 --- /dev/null +++ b/cset/query/size-7/249.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/25.txt b/cset/query/size-7/25.txt new file mode 100644 index 0000000..85d4805 --- /dev/null +++ b/cset/query/size-7/25.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/250.txt b/cset/query/size-7/250.txt new file mode 100644 index 0000000..59be048 --- /dev/null +++ b/cset/query/size-7/250.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/251.txt b/cset/query/size-7/251.txt new file mode 100644 index 0000000..cacc60b --- /dev/null +++ b/cset/query/size-7/251.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/252.txt b/cset/query/size-7/252.txt new file mode 100644 index 0000000..51acb36 --- /dev/null +++ b/cset/query/size-7/252.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/253.txt b/cset/query/size-7/253.txt new file mode 100644 index 0000000..26012c2 --- /dev/null +++ b/cset/query/size-7/253.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/254.txt b/cset/query/size-7/254.txt new file mode 100644 index 0000000..6e8b358 --- /dev/null +++ b/cset/query/size-7/254.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/255.txt b/cset/query/size-7/255.txt new file mode 100644 index 0000000..183aa88 --- /dev/null +++ b/cset/query/size-7/255.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/256.txt b/cset/query/size-7/256.txt new file mode 100644 index 0000000..2acf37d --- /dev/null +++ b/cset/query/size-7/256.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/257.txt b/cset/query/size-7/257.txt new file mode 100644 index 0000000..13da5b2 --- /dev/null +++ b/cset/query/size-7/257.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/258.txt b/cset/query/size-7/258.txt new file mode 100644 index 0000000..bd7c804 --- /dev/null +++ b/cset/query/size-7/258.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/259.txt b/cset/query/size-7/259.txt new file mode 100644 index 0000000..3c900c2 --- /dev/null +++ b/cset/query/size-7/259.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/26.txt b/cset/query/size-7/26.txt new file mode 100644 index 0000000..d5af7a7 --- /dev/null +++ b/cset/query/size-7/26.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/260.txt b/cset/query/size-7/260.txt new file mode 100644 index 0000000..6fbd0fe --- /dev/null +++ b/cset/query/size-7/260.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/261.txt b/cset/query/size-7/261.txt new file mode 100644 index 0000000..574c455 --- /dev/null +++ b/cset/query/size-7/261.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/262.txt b/cset/query/size-7/262.txt new file mode 100644 index 0000000..e4678f8 --- /dev/null +++ b/cset/query/size-7/262.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/263.txt b/cset/query/size-7/263.txt new file mode 100644 index 0000000..0373654 --- /dev/null +++ b/cset/query/size-7/263.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/264.txt b/cset/query/size-7/264.txt new file mode 100644 index 0000000..f7966b3 --- /dev/null +++ b/cset/query/size-7/264.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/265.txt b/cset/query/size-7/265.txt new file mode 100644 index 0000000..49b61f7 --- /dev/null +++ b/cset/query/size-7/265.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/266.txt b/cset/query/size-7/266.txt new file mode 100644 index 0000000..810fa5e --- /dev/null +++ b/cset/query/size-7/266.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/267.txt b/cset/query/size-7/267.txt new file mode 100644 index 0000000..5055e9a --- /dev/null +++ b/cset/query/size-7/267.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/268.txt b/cset/query/size-7/268.txt new file mode 100644 index 0000000..ceb7a67 --- /dev/null +++ b/cset/query/size-7/268.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/269.txt b/cset/query/size-7/269.txt new file mode 100644 index 0000000..574314a --- /dev/null +++ b/cset/query/size-7/269.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/27.txt b/cset/query/size-7/27.txt new file mode 100644 index 0000000..f900eeb --- /dev/null +++ b/cset/query/size-7/27.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/270.txt b/cset/query/size-7/270.txt new file mode 100644 index 0000000..7407ae8 --- /dev/null +++ b/cset/query/size-7/270.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/271.txt b/cset/query/size-7/271.txt new file mode 100644 index 0000000..ab5809a --- /dev/null +++ b/cset/query/size-7/271.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/272.txt b/cset/query/size-7/272.txt new file mode 100644 index 0000000..cef2aff --- /dev/null +++ b/cset/query/size-7/272.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/273.txt b/cset/query/size-7/273.txt new file mode 100644 index 0000000..1dd8852 --- /dev/null +++ b/cset/query/size-7/273.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/274.txt b/cset/query/size-7/274.txt new file mode 100644 index 0000000..eb2ac4b --- /dev/null +++ b/cset/query/size-7/274.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/275.txt b/cset/query/size-7/275.txt new file mode 100644 index 0000000..4df8c0f --- /dev/null +++ b/cset/query/size-7/275.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/276.txt b/cset/query/size-7/276.txt new file mode 100644 index 0000000..d866074 --- /dev/null +++ b/cset/query/size-7/276.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/277.txt b/cset/query/size-7/277.txt new file mode 100644 index 0000000..30b1aed --- /dev/null +++ b/cset/query/size-7/277.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/278.txt b/cset/query/size-7/278.txt new file mode 100644 index 0000000..233a234 --- /dev/null +++ b/cset/query/size-7/278.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/279.txt b/cset/query/size-7/279.txt new file mode 100644 index 0000000..e43f966 --- /dev/null +++ b/cset/query/size-7/279.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/28.txt b/cset/query/size-7/28.txt new file mode 100644 index 0000000..9a6a814 --- /dev/null +++ b/cset/query/size-7/28.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/280.txt b/cset/query/size-7/280.txt new file mode 100644 index 0000000..91637d4 --- /dev/null +++ b/cset/query/size-7/280.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/281.txt b/cset/query/size-7/281.txt new file mode 100644 index 0000000..d8bd74a --- /dev/null +++ b/cset/query/size-7/281.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/282.txt b/cset/query/size-7/282.txt new file mode 100644 index 0000000..3efb1db --- /dev/null +++ b/cset/query/size-7/282.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/283.txt b/cset/query/size-7/283.txt new file mode 100644 index 0000000..d63ccd5 --- /dev/null +++ b/cset/query/size-7/283.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/284.txt b/cset/query/size-7/284.txt new file mode 100644 index 0000000..e67306a --- /dev/null +++ b/cset/query/size-7/284.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/285.txt b/cset/query/size-7/285.txt new file mode 100644 index 0000000..db8219d --- /dev/null +++ b/cset/query/size-7/285.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/286.txt b/cset/query/size-7/286.txt new file mode 100644 index 0000000..9a5d941 --- /dev/null +++ b/cset/query/size-7/286.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/287.txt b/cset/query/size-7/287.txt new file mode 100644 index 0000000..491f8ba --- /dev/null +++ b/cset/query/size-7/287.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/288.txt b/cset/query/size-7/288.txt new file mode 100644 index 0000000..39e0181 --- /dev/null +++ b/cset/query/size-7/288.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/289.txt b/cset/query/size-7/289.txt new file mode 100644 index 0000000..d1ba249 --- /dev/null +++ b/cset/query/size-7/289.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/29.txt b/cset/query/size-7/29.txt new file mode 100644 index 0000000..4f391c5 --- /dev/null +++ b/cset/query/size-7/29.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/290.txt b/cset/query/size-7/290.txt new file mode 100644 index 0000000..e44ba9b --- /dev/null +++ b/cset/query/size-7/290.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/291.txt b/cset/query/size-7/291.txt new file mode 100644 index 0000000..f5f4cfe --- /dev/null +++ b/cset/query/size-7/291.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/292.txt b/cset/query/size-7/292.txt new file mode 100644 index 0000000..05152e0 --- /dev/null +++ b/cset/query/size-7/292.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/293.txt b/cset/query/size-7/293.txt new file mode 100644 index 0000000..0f0bf38 --- /dev/null +++ b/cset/query/size-7/293.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/294.txt b/cset/query/size-7/294.txt new file mode 100644 index 0000000..74f2120 --- /dev/null +++ b/cset/query/size-7/294.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/295.txt b/cset/query/size-7/295.txt new file mode 100644 index 0000000..ebf2984 --- /dev/null +++ b/cset/query/size-7/295.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/296.txt b/cset/query/size-7/296.txt new file mode 100644 index 0000000..93218d7 --- /dev/null +++ b/cset/query/size-7/296.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/297.txt b/cset/query/size-7/297.txt new file mode 100644 index 0000000..b9dfc17 --- /dev/null +++ b/cset/query/size-7/297.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/298.txt b/cset/query/size-7/298.txt new file mode 100644 index 0000000..4d9b8ef --- /dev/null +++ b/cset/query/size-7/298.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/299.txt b/cset/query/size-7/299.txt new file mode 100644 index 0000000..fa39f5f --- /dev/null +++ b/cset/query/size-7/299.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/3.txt b/cset/query/size-7/3.txt new file mode 100644 index 0000000..9310c3b --- /dev/null +++ b/cset/query/size-7/3.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/30.txt b/cset/query/size-7/30.txt new file mode 100644 index 0000000..21a9146 --- /dev/null +++ b/cset/query/size-7/30.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/300.txt b/cset/query/size-7/300.txt new file mode 100644 index 0000000..cd925d9 --- /dev/null +++ b/cset/query/size-7/300.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/301.txt b/cset/query/size-7/301.txt new file mode 100644 index 0000000..86438ec --- /dev/null +++ b/cset/query/size-7/301.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/302.txt b/cset/query/size-7/302.txt new file mode 100644 index 0000000..7cf117f --- /dev/null +++ b/cset/query/size-7/302.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/303.txt b/cset/query/size-7/303.txt new file mode 100644 index 0000000..0877e51 --- /dev/null +++ b/cset/query/size-7/303.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/304.txt b/cset/query/size-7/304.txt new file mode 100644 index 0000000..362de97 --- /dev/null +++ b/cset/query/size-7/304.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/305.txt b/cset/query/size-7/305.txt new file mode 100644 index 0000000..0db4d60 --- /dev/null +++ b/cset/query/size-7/305.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/306.txt b/cset/query/size-7/306.txt new file mode 100644 index 0000000..c0546fd --- /dev/null +++ b/cset/query/size-7/306.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/307.txt b/cset/query/size-7/307.txt new file mode 100644 index 0000000..49423a3 --- /dev/null +++ b/cset/query/size-7/307.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/308.txt b/cset/query/size-7/308.txt new file mode 100644 index 0000000..0ef2671 --- /dev/null +++ b/cset/query/size-7/308.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/309.txt b/cset/query/size-7/309.txt new file mode 100644 index 0000000..3bd1643 --- /dev/null +++ b/cset/query/size-7/309.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 1 1 diff --git a/cset/query/size-7/31.txt b/cset/query/size-7/31.txt new file mode 100644 index 0000000..9d1760c --- /dev/null +++ b/cset/query/size-7/31.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/310.txt b/cset/query/size-7/310.txt new file mode 100644 index 0000000..f5f1374 --- /dev/null +++ b/cset/query/size-7/310.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 2 1 diff --git a/cset/query/size-7/311.txt b/cset/query/size-7/311.txt new file mode 100644 index 0000000..1bb6c93 --- /dev/null +++ b/cset/query/size-7/311.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/312.txt b/cset/query/size-7/312.txt new file mode 100644 index 0000000..4925bbd --- /dev/null +++ b/cset/query/size-7/312.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/313.txt b/cset/query/size-7/313.txt new file mode 100644 index 0000000..32e7169 --- /dev/null +++ b/cset/query/size-7/313.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/314.txt b/cset/query/size-7/314.txt new file mode 100644 index 0000000..9d4be7d --- /dev/null +++ b/cset/query/size-7/314.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/315.txt b/cset/query/size-7/315.txt new file mode 100644 index 0000000..a9129c5 --- /dev/null +++ b/cset/query/size-7/315.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/316.txt b/cset/query/size-7/316.txt new file mode 100644 index 0000000..68413f3 --- /dev/null +++ b/cset/query/size-7/316.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/317.txt b/cset/query/size-7/317.txt new file mode 100644 index 0000000..0beb77a --- /dev/null +++ b/cset/query/size-7/317.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/318.txt b/cset/query/size-7/318.txt new file mode 100644 index 0000000..005226f --- /dev/null +++ b/cset/query/size-7/318.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/319.txt b/cset/query/size-7/319.txt new file mode 100644 index 0000000..521ff60 --- /dev/null +++ b/cset/query/size-7/319.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/32.txt b/cset/query/size-7/32.txt new file mode 100644 index 0000000..d75fd4e --- /dev/null +++ b/cset/query/size-7/32.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/320.txt b/cset/query/size-7/320.txt new file mode 100644 index 0000000..f008648 --- /dev/null +++ b/cset/query/size-7/320.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/321.txt b/cset/query/size-7/321.txt new file mode 100644 index 0000000..84a3b92 --- /dev/null +++ b/cset/query/size-7/321.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/322.txt b/cset/query/size-7/322.txt new file mode 100644 index 0000000..95946b6 --- /dev/null +++ b/cset/query/size-7/322.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/323.txt b/cset/query/size-7/323.txt new file mode 100644 index 0000000..5802f6d --- /dev/null +++ b/cset/query/size-7/323.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/324.txt b/cset/query/size-7/324.txt new file mode 100644 index 0000000..5176749 --- /dev/null +++ b/cset/query/size-7/324.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/325.txt b/cset/query/size-7/325.txt new file mode 100644 index 0000000..1b2cdc0 --- /dev/null +++ b/cset/query/size-7/325.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/326.txt b/cset/query/size-7/326.txt new file mode 100644 index 0000000..92cc2d6 --- /dev/null +++ b/cset/query/size-7/326.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/327.txt b/cset/query/size-7/327.txt new file mode 100644 index 0000000..218ab23 --- /dev/null +++ b/cset/query/size-7/327.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/328.txt b/cset/query/size-7/328.txt new file mode 100644 index 0000000..c7b5fcd --- /dev/null +++ b/cset/query/size-7/328.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/329.txt b/cset/query/size-7/329.txt new file mode 100644 index 0000000..1c5977e --- /dev/null +++ b/cset/query/size-7/329.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/33.txt b/cset/query/size-7/33.txt new file mode 100644 index 0000000..84a8bd2 --- /dev/null +++ b/cset/query/size-7/33.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/330.txt b/cset/query/size-7/330.txt new file mode 100644 index 0000000..6854f00 --- /dev/null +++ b/cset/query/size-7/330.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/331.txt b/cset/query/size-7/331.txt new file mode 100644 index 0000000..23b191e --- /dev/null +++ b/cset/query/size-7/331.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/332.txt b/cset/query/size-7/332.txt new file mode 100644 index 0000000..6559ca2 --- /dev/null +++ b/cset/query/size-7/332.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/333.txt b/cset/query/size-7/333.txt new file mode 100644 index 0000000..1a88275 --- /dev/null +++ b/cset/query/size-7/333.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/334.txt b/cset/query/size-7/334.txt new file mode 100644 index 0000000..efdd86c --- /dev/null +++ b/cset/query/size-7/334.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/335.txt b/cset/query/size-7/335.txt new file mode 100644 index 0000000..910b4a0 --- /dev/null +++ b/cset/query/size-7/335.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/336.txt b/cset/query/size-7/336.txt new file mode 100644 index 0000000..17119b7 --- /dev/null +++ b/cset/query/size-7/336.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/337.txt b/cset/query/size-7/337.txt new file mode 100644 index 0000000..cd432d6 --- /dev/null +++ b/cset/query/size-7/337.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/338.txt b/cset/query/size-7/338.txt new file mode 100644 index 0000000..a822e0c --- /dev/null +++ b/cset/query/size-7/338.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/339.txt b/cset/query/size-7/339.txt new file mode 100644 index 0000000..b172217 --- /dev/null +++ b/cset/query/size-7/339.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/34.txt b/cset/query/size-7/34.txt new file mode 100644 index 0000000..bc48b66 --- /dev/null +++ b/cset/query/size-7/34.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/340.txt b/cset/query/size-7/340.txt new file mode 100644 index 0000000..d086182 --- /dev/null +++ b/cset/query/size-7/340.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/341.txt b/cset/query/size-7/341.txt new file mode 100644 index 0000000..4eeea88 --- /dev/null +++ b/cset/query/size-7/341.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/342.txt b/cset/query/size-7/342.txt new file mode 100644 index 0000000..3e8bbf3 --- /dev/null +++ b/cset/query/size-7/342.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/343.txt b/cset/query/size-7/343.txt new file mode 100644 index 0000000..35a6c54 --- /dev/null +++ b/cset/query/size-7/343.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/344.txt b/cset/query/size-7/344.txt new file mode 100644 index 0000000..87f8090 --- /dev/null +++ b/cset/query/size-7/344.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/345.txt b/cset/query/size-7/345.txt new file mode 100644 index 0000000..40779b8 --- /dev/null +++ b/cset/query/size-7/345.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/346.txt b/cset/query/size-7/346.txt new file mode 100644 index 0000000..3a26b07 --- /dev/null +++ b/cset/query/size-7/346.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/347.txt b/cset/query/size-7/347.txt new file mode 100644 index 0000000..412d16f --- /dev/null +++ b/cset/query/size-7/347.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/348.txt b/cset/query/size-7/348.txt new file mode 100644 index 0000000..bb68666 --- /dev/null +++ b/cset/query/size-7/348.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/349.txt b/cset/query/size-7/349.txt new file mode 100644 index 0000000..04f3a91 --- /dev/null +++ b/cset/query/size-7/349.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/35.txt b/cset/query/size-7/35.txt new file mode 100644 index 0000000..25daca4 --- /dev/null +++ b/cset/query/size-7/35.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/350.txt b/cset/query/size-7/350.txt new file mode 100644 index 0000000..182ae2a --- /dev/null +++ b/cset/query/size-7/350.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/351.txt b/cset/query/size-7/351.txt new file mode 100644 index 0000000..999963c --- /dev/null +++ b/cset/query/size-7/351.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/352.txt b/cset/query/size-7/352.txt new file mode 100644 index 0000000..aad422b --- /dev/null +++ b/cset/query/size-7/352.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/353.txt b/cset/query/size-7/353.txt new file mode 100644 index 0000000..48ab39e --- /dev/null +++ b/cset/query/size-7/353.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/354.txt b/cset/query/size-7/354.txt new file mode 100644 index 0000000..70e4777 --- /dev/null +++ b/cset/query/size-7/354.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/355.txt b/cset/query/size-7/355.txt new file mode 100644 index 0000000..43b835e --- /dev/null +++ b/cset/query/size-7/355.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/356.txt b/cset/query/size-7/356.txt new file mode 100644 index 0000000..554b5c9 --- /dev/null +++ b/cset/query/size-7/356.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/357.txt b/cset/query/size-7/357.txt new file mode 100644 index 0000000..c168f68 --- /dev/null +++ b/cset/query/size-7/357.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/358.txt b/cset/query/size-7/358.txt new file mode 100644 index 0000000..b1cd4b5 --- /dev/null +++ b/cset/query/size-7/358.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/359.txt b/cset/query/size-7/359.txt new file mode 100644 index 0000000..f678dd8 --- /dev/null +++ b/cset/query/size-7/359.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/36.txt b/cset/query/size-7/36.txt new file mode 100644 index 0000000..75d37d6 --- /dev/null +++ b/cset/query/size-7/36.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/360.txt b/cset/query/size-7/360.txt new file mode 100644 index 0000000..9e4a935 --- /dev/null +++ b/cset/query/size-7/360.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/361.txt b/cset/query/size-7/361.txt new file mode 100644 index 0000000..5c8cfb9 --- /dev/null +++ b/cset/query/size-7/361.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/362.txt b/cset/query/size-7/362.txt new file mode 100644 index 0000000..bff0d92 --- /dev/null +++ b/cset/query/size-7/362.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/363.txt b/cset/query/size-7/363.txt new file mode 100644 index 0000000..cb3c856 --- /dev/null +++ b/cset/query/size-7/363.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/364.txt b/cset/query/size-7/364.txt new file mode 100644 index 0000000..a961b55 --- /dev/null +++ b/cset/query/size-7/364.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/365.txt b/cset/query/size-7/365.txt new file mode 100644 index 0000000..383f4a3 --- /dev/null +++ b/cset/query/size-7/365.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/366.txt b/cset/query/size-7/366.txt new file mode 100644 index 0000000..be7645d --- /dev/null +++ b/cset/query/size-7/366.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/367.txt b/cset/query/size-7/367.txt new file mode 100644 index 0000000..a7483b2 --- /dev/null +++ b/cset/query/size-7/367.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/368.txt b/cset/query/size-7/368.txt new file mode 100644 index 0000000..66d30c7 --- /dev/null +++ b/cset/query/size-7/368.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/369.txt b/cset/query/size-7/369.txt new file mode 100644 index 0000000..9b1ef80 --- /dev/null +++ b/cset/query/size-7/369.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/37.txt b/cset/query/size-7/37.txt new file mode 100644 index 0000000..ffe198f --- /dev/null +++ b/cset/query/size-7/37.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/370.txt b/cset/query/size-7/370.txt new file mode 100644 index 0000000..4c283a6 --- /dev/null +++ b/cset/query/size-7/370.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/371.txt b/cset/query/size-7/371.txt new file mode 100644 index 0000000..0ecb239 --- /dev/null +++ b/cset/query/size-7/371.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/372.txt b/cset/query/size-7/372.txt new file mode 100644 index 0000000..bfc7c4c --- /dev/null +++ b/cset/query/size-7/372.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/373.txt b/cset/query/size-7/373.txt new file mode 100644 index 0000000..df16cd2 --- /dev/null +++ b/cset/query/size-7/373.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/374.txt b/cset/query/size-7/374.txt new file mode 100644 index 0000000..c0cad67 --- /dev/null +++ b/cset/query/size-7/374.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/375.txt b/cset/query/size-7/375.txt new file mode 100644 index 0000000..357fb06 --- /dev/null +++ b/cset/query/size-7/375.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/376.txt b/cset/query/size-7/376.txt new file mode 100644 index 0000000..7615eb7 --- /dev/null +++ b/cset/query/size-7/376.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/377.txt b/cset/query/size-7/377.txt new file mode 100644 index 0000000..f41ee8a --- /dev/null +++ b/cset/query/size-7/377.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/378.txt b/cset/query/size-7/378.txt new file mode 100644 index 0000000..4032623 --- /dev/null +++ b/cset/query/size-7/378.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/379.txt b/cset/query/size-7/379.txt new file mode 100644 index 0000000..496196e --- /dev/null +++ b/cset/query/size-7/379.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 diff --git a/cset/query/size-7/38.txt b/cset/query/size-7/38.txt new file mode 100644 index 0000000..f71bd70 --- /dev/null +++ b/cset/query/size-7/38.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/380.txt b/cset/query/size-7/380.txt new file mode 100644 index 0000000..86e04f2 --- /dev/null +++ b/cset/query/size-7/380.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/381.txt b/cset/query/size-7/381.txt new file mode 100644 index 0000000..1483ee3 --- /dev/null +++ b/cset/query/size-7/381.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/382.txt b/cset/query/size-7/382.txt new file mode 100644 index 0000000..25a7d49 --- /dev/null +++ b/cset/query/size-7/382.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/383.txt b/cset/query/size-7/383.txt new file mode 100644 index 0000000..be03abf --- /dev/null +++ b/cset/query/size-7/383.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/384.txt b/cset/query/size-7/384.txt new file mode 100644 index 0000000..317fb79 --- /dev/null +++ b/cset/query/size-7/384.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/385.txt b/cset/query/size-7/385.txt new file mode 100644 index 0000000..5913f91 --- /dev/null +++ b/cset/query/size-7/385.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/386.txt b/cset/query/size-7/386.txt new file mode 100644 index 0000000..959ed73 --- /dev/null +++ b/cset/query/size-7/386.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/387.txt b/cset/query/size-7/387.txt new file mode 100644 index 0000000..0ac9a2f --- /dev/null +++ b/cset/query/size-7/387.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/388.txt b/cset/query/size-7/388.txt new file mode 100644 index 0000000..ce15aff --- /dev/null +++ b/cset/query/size-7/388.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/389.txt b/cset/query/size-7/389.txt new file mode 100644 index 0000000..a1cd313 --- /dev/null +++ b/cset/query/size-7/389.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/39.txt b/cset/query/size-7/39.txt new file mode 100644 index 0000000..80bf5ce --- /dev/null +++ b/cset/query/size-7/39.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/390.txt b/cset/query/size-7/390.txt new file mode 100644 index 0000000..f392042 --- /dev/null +++ b/cset/query/size-7/390.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/391.txt b/cset/query/size-7/391.txt new file mode 100644 index 0000000..3b36959 --- /dev/null +++ b/cset/query/size-7/391.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/392.txt b/cset/query/size-7/392.txt new file mode 100644 index 0000000..6687663 --- /dev/null +++ b/cset/query/size-7/392.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/393.txt b/cset/query/size-7/393.txt new file mode 100644 index 0000000..21e7bcf --- /dev/null +++ b/cset/query/size-7/393.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/394.txt b/cset/query/size-7/394.txt new file mode 100644 index 0000000..c7e4dd1 --- /dev/null +++ b/cset/query/size-7/394.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/395.txt b/cset/query/size-7/395.txt new file mode 100644 index 0000000..15b73fe --- /dev/null +++ b/cset/query/size-7/395.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/396.txt b/cset/query/size-7/396.txt new file mode 100644 index 0000000..30f93a4 --- /dev/null +++ b/cset/query/size-7/396.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/397.txt b/cset/query/size-7/397.txt new file mode 100644 index 0000000..e14c69d --- /dev/null +++ b/cset/query/size-7/397.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/398.txt b/cset/query/size-7/398.txt new file mode 100644 index 0000000..9964f37 --- /dev/null +++ b/cset/query/size-7/398.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/399.txt b/cset/query/size-7/399.txt new file mode 100644 index 0000000..f77009f --- /dev/null +++ b/cset/query/size-7/399.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/4.txt b/cset/query/size-7/4.txt new file mode 100644 index 0000000..e973c95 --- /dev/null +++ b/cset/query/size-7/4.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/40.txt b/cset/query/size-7/40.txt new file mode 100644 index 0000000..343a9f8 --- /dev/null +++ b/cset/query/size-7/40.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/400.txt b/cset/query/size-7/400.txt new file mode 100644 index 0000000..d306049 --- /dev/null +++ b/cset/query/size-7/400.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/401.txt b/cset/query/size-7/401.txt new file mode 100644 index 0000000..96c54cf --- /dev/null +++ b/cset/query/size-7/401.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/402.txt b/cset/query/size-7/402.txt new file mode 100644 index 0000000..354a9a4 --- /dev/null +++ b/cset/query/size-7/402.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/403.txt b/cset/query/size-7/403.txt new file mode 100644 index 0000000..19fc2b4 --- /dev/null +++ b/cset/query/size-7/403.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/404.txt b/cset/query/size-7/404.txt new file mode 100644 index 0000000..3accd88 --- /dev/null +++ b/cset/query/size-7/404.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/405.txt b/cset/query/size-7/405.txt new file mode 100644 index 0000000..61bcf11 --- /dev/null +++ b/cset/query/size-7/405.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/406.txt b/cset/query/size-7/406.txt new file mode 100644 index 0000000..3b5018f --- /dev/null +++ b/cset/query/size-7/406.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/407.txt b/cset/query/size-7/407.txt new file mode 100644 index 0000000..ecaca7f --- /dev/null +++ b/cset/query/size-7/407.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/408.txt b/cset/query/size-7/408.txt new file mode 100644 index 0000000..34e1fbc --- /dev/null +++ b/cset/query/size-7/408.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/409.txt b/cset/query/size-7/409.txt new file mode 100644 index 0000000..084923d --- /dev/null +++ b/cset/query/size-7/409.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/41.txt b/cset/query/size-7/41.txt new file mode 100644 index 0000000..9130224 --- /dev/null +++ b/cset/query/size-7/41.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/410.txt b/cset/query/size-7/410.txt new file mode 100644 index 0000000..6aa4f39 --- /dev/null +++ b/cset/query/size-7/410.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/411.txt b/cset/query/size-7/411.txt new file mode 100644 index 0000000..dd26213 --- /dev/null +++ b/cset/query/size-7/411.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/412.txt b/cset/query/size-7/412.txt new file mode 100644 index 0000000..9487393 --- /dev/null +++ b/cset/query/size-7/412.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/413.txt b/cset/query/size-7/413.txt new file mode 100644 index 0000000..c392519 --- /dev/null +++ b/cset/query/size-7/413.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/414.txt b/cset/query/size-7/414.txt new file mode 100644 index 0000000..072f5c8 --- /dev/null +++ b/cset/query/size-7/414.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/415.txt b/cset/query/size-7/415.txt new file mode 100644 index 0000000..f392136 --- /dev/null +++ b/cset/query/size-7/415.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/416.txt b/cset/query/size-7/416.txt new file mode 100644 index 0000000..bb847fc --- /dev/null +++ b/cset/query/size-7/416.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/417.txt b/cset/query/size-7/417.txt new file mode 100644 index 0000000..c421a4c --- /dev/null +++ b/cset/query/size-7/417.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/418.txt b/cset/query/size-7/418.txt new file mode 100644 index 0000000..e9fa14b --- /dev/null +++ b/cset/query/size-7/418.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/419.txt b/cset/query/size-7/419.txt new file mode 100644 index 0000000..ebe85ce --- /dev/null +++ b/cset/query/size-7/419.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/42.txt b/cset/query/size-7/42.txt new file mode 100644 index 0000000..641683b --- /dev/null +++ b/cset/query/size-7/42.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/420.txt b/cset/query/size-7/420.txt new file mode 100644 index 0000000..a1af49a --- /dev/null +++ b/cset/query/size-7/420.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/421.txt b/cset/query/size-7/421.txt new file mode 100644 index 0000000..d3ade5a --- /dev/null +++ b/cset/query/size-7/421.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/422.txt b/cset/query/size-7/422.txt new file mode 100644 index 0000000..501dbb2 --- /dev/null +++ b/cset/query/size-7/422.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/423.txt b/cset/query/size-7/423.txt new file mode 100644 index 0000000..9072b68 --- /dev/null +++ b/cset/query/size-7/423.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/424.txt b/cset/query/size-7/424.txt new file mode 100644 index 0000000..1fe6e5e --- /dev/null +++ b/cset/query/size-7/424.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/425.txt b/cset/query/size-7/425.txt new file mode 100644 index 0000000..c5dba99 --- /dev/null +++ b/cset/query/size-7/425.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/426.txt b/cset/query/size-7/426.txt new file mode 100644 index 0000000..c7c1aa3 --- /dev/null +++ b/cset/query/size-7/426.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/427.txt b/cset/query/size-7/427.txt new file mode 100644 index 0000000..eda6628 --- /dev/null +++ b/cset/query/size-7/427.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/428.txt b/cset/query/size-7/428.txt new file mode 100644 index 0000000..213692b --- /dev/null +++ b/cset/query/size-7/428.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/429.txt b/cset/query/size-7/429.txt new file mode 100644 index 0000000..ea2f034 --- /dev/null +++ b/cset/query/size-7/429.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/43.txt b/cset/query/size-7/43.txt new file mode 100644 index 0000000..11c8f44 --- /dev/null +++ b/cset/query/size-7/43.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/430.txt b/cset/query/size-7/430.txt new file mode 100644 index 0000000..0a4ddbd --- /dev/null +++ b/cset/query/size-7/430.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/431.txt b/cset/query/size-7/431.txt new file mode 100644 index 0000000..c15d7d0 --- /dev/null +++ b/cset/query/size-7/431.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/432.txt b/cset/query/size-7/432.txt new file mode 100644 index 0000000..fb25af4 --- /dev/null +++ b/cset/query/size-7/432.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/433.txt b/cset/query/size-7/433.txt new file mode 100644 index 0000000..1c5d6c3 --- /dev/null +++ b/cset/query/size-7/433.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/434.txt b/cset/query/size-7/434.txt new file mode 100644 index 0000000..699a617 --- /dev/null +++ b/cset/query/size-7/434.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/435.txt b/cset/query/size-7/435.txt new file mode 100644 index 0000000..ff68350 --- /dev/null +++ b/cset/query/size-7/435.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/436.txt b/cset/query/size-7/436.txt new file mode 100644 index 0000000..5050de0 --- /dev/null +++ b/cset/query/size-7/436.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/437.txt b/cset/query/size-7/437.txt new file mode 100644 index 0000000..d46d141 --- /dev/null +++ b/cset/query/size-7/437.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/438.txt b/cset/query/size-7/438.txt new file mode 100644 index 0000000..095e34b --- /dev/null +++ b/cset/query/size-7/438.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/439.txt b/cset/query/size-7/439.txt new file mode 100644 index 0000000..90b9216 --- /dev/null +++ b/cset/query/size-7/439.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/44.txt b/cset/query/size-7/44.txt new file mode 100644 index 0000000..01c0edf --- /dev/null +++ b/cset/query/size-7/44.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/440.txt b/cset/query/size-7/440.txt new file mode 100644 index 0000000..0cf3cce --- /dev/null +++ b/cset/query/size-7/440.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/441.txt b/cset/query/size-7/441.txt new file mode 100644 index 0000000..48bf7c7 --- /dev/null +++ b/cset/query/size-7/441.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/442.txt b/cset/query/size-7/442.txt new file mode 100644 index 0000000..1e26abb --- /dev/null +++ b/cset/query/size-7/442.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/443.txt b/cset/query/size-7/443.txt new file mode 100644 index 0000000..89e8ae4 --- /dev/null +++ b/cset/query/size-7/443.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/444.txt b/cset/query/size-7/444.txt new file mode 100644 index 0000000..1f01157 --- /dev/null +++ b/cset/query/size-7/444.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/445.txt b/cset/query/size-7/445.txt new file mode 100644 index 0000000..56e8325 --- /dev/null +++ b/cset/query/size-7/445.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/446.txt b/cset/query/size-7/446.txt new file mode 100644 index 0000000..0809804 --- /dev/null +++ b/cset/query/size-7/446.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/447.txt b/cset/query/size-7/447.txt new file mode 100644 index 0000000..9896a87 --- /dev/null +++ b/cset/query/size-7/447.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/448.txt b/cset/query/size-7/448.txt new file mode 100644 index 0000000..a9d2262 --- /dev/null +++ b/cset/query/size-7/448.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/449.txt b/cset/query/size-7/449.txt new file mode 100644 index 0000000..cc6cc86 --- /dev/null +++ b/cset/query/size-7/449.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/45.txt b/cset/query/size-7/45.txt new file mode 100644 index 0000000..85948f2 --- /dev/null +++ b/cset/query/size-7/45.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/450.txt b/cset/query/size-7/450.txt new file mode 100644 index 0000000..eb35444 --- /dev/null +++ b/cset/query/size-7/450.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/451.txt b/cset/query/size-7/451.txt new file mode 100644 index 0000000..384d7a2 --- /dev/null +++ b/cset/query/size-7/451.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/452.txt b/cset/query/size-7/452.txt new file mode 100644 index 0000000..fb9263e --- /dev/null +++ b/cset/query/size-7/452.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/453.txt b/cset/query/size-7/453.txt new file mode 100644 index 0000000..ad23424 --- /dev/null +++ b/cset/query/size-7/453.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/454.txt b/cset/query/size-7/454.txt new file mode 100644 index 0000000..dbb05b1 --- /dev/null +++ b/cset/query/size-7/454.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/455.txt b/cset/query/size-7/455.txt new file mode 100644 index 0000000..50cd342 --- /dev/null +++ b/cset/query/size-7/455.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/456.txt b/cset/query/size-7/456.txt new file mode 100644 index 0000000..a742b97 --- /dev/null +++ b/cset/query/size-7/456.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/457.txt b/cset/query/size-7/457.txt new file mode 100644 index 0000000..199abc3 --- /dev/null +++ b/cset/query/size-7/457.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/458.txt b/cset/query/size-7/458.txt new file mode 100644 index 0000000..8c5e2b6 --- /dev/null +++ b/cset/query/size-7/458.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/459.txt b/cset/query/size-7/459.txt new file mode 100644 index 0000000..2b0c689 --- /dev/null +++ b/cset/query/size-7/459.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/46.txt b/cset/query/size-7/46.txt new file mode 100644 index 0000000..f7524ee --- /dev/null +++ b/cset/query/size-7/46.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/460.txt b/cset/query/size-7/460.txt new file mode 100644 index 0000000..0233e4e --- /dev/null +++ b/cset/query/size-7/460.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/461.txt b/cset/query/size-7/461.txt new file mode 100644 index 0000000..619384b --- /dev/null +++ b/cset/query/size-7/461.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/462.txt b/cset/query/size-7/462.txt new file mode 100644 index 0000000..ffdcb47 --- /dev/null +++ b/cset/query/size-7/462.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/463.txt b/cset/query/size-7/463.txt new file mode 100644 index 0000000..efb6afd --- /dev/null +++ b/cset/query/size-7/463.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/464.txt b/cset/query/size-7/464.txt new file mode 100644 index 0000000..c071745 --- /dev/null +++ b/cset/query/size-7/464.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/465.txt b/cset/query/size-7/465.txt new file mode 100644 index 0000000..9f987cb --- /dev/null +++ b/cset/query/size-7/465.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/466.txt b/cset/query/size-7/466.txt new file mode 100644 index 0000000..3fe13a8 --- /dev/null +++ b/cset/query/size-7/466.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/467.txt b/cset/query/size-7/467.txt new file mode 100644 index 0000000..ece2fa2 --- /dev/null +++ b/cset/query/size-7/467.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/468.txt b/cset/query/size-7/468.txt new file mode 100644 index 0000000..ea92852 --- /dev/null +++ b/cset/query/size-7/468.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/469.txt b/cset/query/size-7/469.txt new file mode 100644 index 0000000..0510ea7 --- /dev/null +++ b/cset/query/size-7/469.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/47.txt b/cset/query/size-7/47.txt new file mode 100644 index 0000000..58eaf31 --- /dev/null +++ b/cset/query/size-7/47.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/470.txt b/cset/query/size-7/470.txt new file mode 100644 index 0000000..bee4c5c --- /dev/null +++ b/cset/query/size-7/470.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/471.txt b/cset/query/size-7/471.txt new file mode 100644 index 0000000..97fb158 --- /dev/null +++ b/cset/query/size-7/471.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/472.txt b/cset/query/size-7/472.txt new file mode 100644 index 0000000..aceddbe --- /dev/null +++ b/cset/query/size-7/472.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/473.txt b/cset/query/size-7/473.txt new file mode 100644 index 0000000..7add47f --- /dev/null +++ b/cset/query/size-7/473.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/474.txt b/cset/query/size-7/474.txt new file mode 100644 index 0000000..e8cbe37 --- /dev/null +++ b/cset/query/size-7/474.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/475.txt b/cset/query/size-7/475.txt new file mode 100644 index 0000000..c68c8ff --- /dev/null +++ b/cset/query/size-7/475.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/476.txt b/cset/query/size-7/476.txt new file mode 100644 index 0000000..c5c4e8b --- /dev/null +++ b/cset/query/size-7/476.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/477.txt b/cset/query/size-7/477.txt new file mode 100644 index 0000000..8cc4114 --- /dev/null +++ b/cset/query/size-7/477.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/478.txt b/cset/query/size-7/478.txt new file mode 100644 index 0000000..4860514 --- /dev/null +++ b/cset/query/size-7/478.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/479.txt b/cset/query/size-7/479.txt new file mode 100644 index 0000000..3bc0be2 --- /dev/null +++ b/cset/query/size-7/479.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/48.txt b/cset/query/size-7/48.txt new file mode 100644 index 0000000..2c22d24 --- /dev/null +++ b/cset/query/size-7/48.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/480.txt b/cset/query/size-7/480.txt new file mode 100644 index 0000000..6293074 --- /dev/null +++ b/cset/query/size-7/480.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/481.txt b/cset/query/size-7/481.txt new file mode 100644 index 0000000..4b59251 --- /dev/null +++ b/cset/query/size-7/481.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/482.txt b/cset/query/size-7/482.txt new file mode 100644 index 0000000..a4fac87 --- /dev/null +++ b/cset/query/size-7/482.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/483.txt b/cset/query/size-7/483.txt new file mode 100644 index 0000000..7de5259 --- /dev/null +++ b/cset/query/size-7/483.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/484.txt b/cset/query/size-7/484.txt new file mode 100644 index 0000000..439c000 --- /dev/null +++ b/cset/query/size-7/484.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/485.txt b/cset/query/size-7/485.txt new file mode 100644 index 0000000..85c31d7 --- /dev/null +++ b/cset/query/size-7/485.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/486.txt b/cset/query/size-7/486.txt new file mode 100644 index 0000000..e8964f8 --- /dev/null +++ b/cset/query/size-7/486.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/487.txt b/cset/query/size-7/487.txt new file mode 100644 index 0000000..9ca7ca7 --- /dev/null +++ b/cset/query/size-7/487.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/488.txt b/cset/query/size-7/488.txt new file mode 100644 index 0000000..3d221bc --- /dev/null +++ b/cset/query/size-7/488.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/489.txt b/cset/query/size-7/489.txt new file mode 100644 index 0000000..d1d45f9 --- /dev/null +++ b/cset/query/size-7/489.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/49.txt b/cset/query/size-7/49.txt new file mode 100644 index 0000000..d819425 --- /dev/null +++ b/cset/query/size-7/49.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/490.txt b/cset/query/size-7/490.txt new file mode 100644 index 0000000..6e3773b --- /dev/null +++ b/cset/query/size-7/490.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 diff --git a/cset/query/size-7/491.txt b/cset/query/size-7/491.txt new file mode 100644 index 0000000..b9a708a --- /dev/null +++ b/cset/query/size-7/491.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/492.txt b/cset/query/size-7/492.txt new file mode 100644 index 0000000..9306576 --- /dev/null +++ b/cset/query/size-7/492.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/493.txt b/cset/query/size-7/493.txt new file mode 100644 index 0000000..b5e92aa --- /dev/null +++ b/cset/query/size-7/493.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/494.txt b/cset/query/size-7/494.txt new file mode 100644 index 0000000..f917e9c --- /dev/null +++ b/cset/query/size-7/494.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/495.txt b/cset/query/size-7/495.txt new file mode 100644 index 0000000..91b24e3 --- /dev/null +++ b/cset/query/size-7/495.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/496.txt b/cset/query/size-7/496.txt new file mode 100644 index 0000000..7c1d927 --- /dev/null +++ b/cset/query/size-7/496.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/497.txt b/cset/query/size-7/497.txt new file mode 100644 index 0000000..bbeef4e --- /dev/null +++ b/cset/query/size-7/497.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/498.txt b/cset/query/size-7/498.txt new file mode 100644 index 0000000..c51cdd6 --- /dev/null +++ b/cset/query/size-7/498.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/499.txt b/cset/query/size-7/499.txt new file mode 100644 index 0000000..17b33ae --- /dev/null +++ b/cset/query/size-7/499.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/5.txt b/cset/query/size-7/5.txt new file mode 100644 index 0000000..05e8e36 --- /dev/null +++ b/cset/query/size-7/5.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/50.txt b/cset/query/size-7/50.txt new file mode 100644 index 0000000..d6b7561 --- /dev/null +++ b/cset/query/size-7/50.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/500.txt b/cset/query/size-7/500.txt new file mode 100644 index 0000000..17a66d5 --- /dev/null +++ b/cset/query/size-7/500.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/501.txt b/cset/query/size-7/501.txt new file mode 100644 index 0000000..dedeee9 --- /dev/null +++ b/cset/query/size-7/501.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/502.txt b/cset/query/size-7/502.txt new file mode 100644 index 0000000..3d005bb --- /dev/null +++ b/cset/query/size-7/502.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/503.txt b/cset/query/size-7/503.txt new file mode 100644 index 0000000..f0afd1e --- /dev/null +++ b/cset/query/size-7/503.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/504.txt b/cset/query/size-7/504.txt new file mode 100644 index 0000000..840d504 --- /dev/null +++ b/cset/query/size-7/504.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/505.txt b/cset/query/size-7/505.txt new file mode 100644 index 0000000..1d504fb --- /dev/null +++ b/cset/query/size-7/505.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/506.txt b/cset/query/size-7/506.txt new file mode 100644 index 0000000..a79fb91 --- /dev/null +++ b/cset/query/size-7/506.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/507.txt b/cset/query/size-7/507.txt new file mode 100644 index 0000000..e4d3979 --- /dev/null +++ b/cset/query/size-7/507.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/508.txt b/cset/query/size-7/508.txt new file mode 100644 index 0000000..19b0d8e --- /dev/null +++ b/cset/query/size-7/508.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/509.txt b/cset/query/size-7/509.txt new file mode 100644 index 0000000..c22a84e --- /dev/null +++ b/cset/query/size-7/509.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/51.txt b/cset/query/size-7/51.txt new file mode 100644 index 0000000..7c3fefe --- /dev/null +++ b/cset/query/size-7/51.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/510.txt b/cset/query/size-7/510.txt new file mode 100644 index 0000000..e1ce1f7 --- /dev/null +++ b/cset/query/size-7/510.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/511.txt b/cset/query/size-7/511.txt new file mode 100644 index 0000000..69d821e --- /dev/null +++ b/cset/query/size-7/511.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/512.txt b/cset/query/size-7/512.txt new file mode 100644 index 0000000..4203a2e --- /dev/null +++ b/cset/query/size-7/512.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/513.txt b/cset/query/size-7/513.txt new file mode 100644 index 0000000..c0860a3 --- /dev/null +++ b/cset/query/size-7/513.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/514.txt b/cset/query/size-7/514.txt new file mode 100644 index 0000000..0e6cf7c --- /dev/null +++ b/cset/query/size-7/514.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/515.txt b/cset/query/size-7/515.txt new file mode 100644 index 0000000..abb7db5 --- /dev/null +++ b/cset/query/size-7/515.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/516.txt b/cset/query/size-7/516.txt new file mode 100644 index 0000000..3bc3935 --- /dev/null +++ b/cset/query/size-7/516.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/517.txt b/cset/query/size-7/517.txt new file mode 100644 index 0000000..6819731 --- /dev/null +++ b/cset/query/size-7/517.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/518.txt b/cset/query/size-7/518.txt new file mode 100644 index 0000000..ec41301 --- /dev/null +++ b/cset/query/size-7/518.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/519.txt b/cset/query/size-7/519.txt new file mode 100644 index 0000000..7713df5 --- /dev/null +++ b/cset/query/size-7/519.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/52.txt b/cset/query/size-7/52.txt new file mode 100644 index 0000000..ea105ef --- /dev/null +++ b/cset/query/size-7/52.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/520.txt b/cset/query/size-7/520.txt new file mode 100644 index 0000000..eb8cea3 --- /dev/null +++ b/cset/query/size-7/520.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/521.txt b/cset/query/size-7/521.txt new file mode 100644 index 0000000..1cedadd --- /dev/null +++ b/cset/query/size-7/521.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/522.txt b/cset/query/size-7/522.txt new file mode 100644 index 0000000..34492bf --- /dev/null +++ b/cset/query/size-7/522.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/523.txt b/cset/query/size-7/523.txt new file mode 100644 index 0000000..c382086 --- /dev/null +++ b/cset/query/size-7/523.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/524.txt b/cset/query/size-7/524.txt new file mode 100644 index 0000000..41a4913 --- /dev/null +++ b/cset/query/size-7/524.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/525.txt b/cset/query/size-7/525.txt new file mode 100644 index 0000000..61801c7 --- /dev/null +++ b/cset/query/size-7/525.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/526.txt b/cset/query/size-7/526.txt new file mode 100644 index 0000000..bfa55d2 --- /dev/null +++ b/cset/query/size-7/526.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/527.txt b/cset/query/size-7/527.txt new file mode 100644 index 0000000..05ac002 --- /dev/null +++ b/cset/query/size-7/527.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/528.txt b/cset/query/size-7/528.txt new file mode 100644 index 0000000..6094f6f --- /dev/null +++ b/cset/query/size-7/528.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/529.txt b/cset/query/size-7/529.txt new file mode 100644 index 0000000..4325b75 --- /dev/null +++ b/cset/query/size-7/529.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/53.txt b/cset/query/size-7/53.txt new file mode 100644 index 0000000..a13903d --- /dev/null +++ b/cset/query/size-7/53.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/530.txt b/cset/query/size-7/530.txt new file mode 100644 index 0000000..c4ff09c --- /dev/null +++ b/cset/query/size-7/530.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/531.txt b/cset/query/size-7/531.txt new file mode 100644 index 0000000..1a0f40e --- /dev/null +++ b/cset/query/size-7/531.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/532.txt b/cset/query/size-7/532.txt new file mode 100644 index 0000000..8082b2f --- /dev/null +++ b/cset/query/size-7/532.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/533.txt b/cset/query/size-7/533.txt new file mode 100644 index 0000000..d929aec --- /dev/null +++ b/cset/query/size-7/533.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/534.txt b/cset/query/size-7/534.txt new file mode 100644 index 0000000..4b704f1 --- /dev/null +++ b/cset/query/size-7/534.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/535.txt b/cset/query/size-7/535.txt new file mode 100644 index 0000000..d54efc9 --- /dev/null +++ b/cset/query/size-7/535.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/536.txt b/cset/query/size-7/536.txt new file mode 100644 index 0000000..9c5efe1 --- /dev/null +++ b/cset/query/size-7/536.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/537.txt b/cset/query/size-7/537.txt new file mode 100644 index 0000000..ede6af5 --- /dev/null +++ b/cset/query/size-7/537.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/538.txt b/cset/query/size-7/538.txt new file mode 100644 index 0000000..9bd51b7 --- /dev/null +++ b/cset/query/size-7/538.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/539.txt b/cset/query/size-7/539.txt new file mode 100644 index 0000000..8bfbea3 --- /dev/null +++ b/cset/query/size-7/539.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/54.txt b/cset/query/size-7/54.txt new file mode 100644 index 0000000..647e25b --- /dev/null +++ b/cset/query/size-7/54.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/540.txt b/cset/query/size-7/540.txt new file mode 100644 index 0000000..b6ba736 --- /dev/null +++ b/cset/query/size-7/540.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/541.txt b/cset/query/size-7/541.txt new file mode 100644 index 0000000..e9d8b20 --- /dev/null +++ b/cset/query/size-7/541.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/542.txt b/cset/query/size-7/542.txt new file mode 100644 index 0000000..a57d91e --- /dev/null +++ b/cset/query/size-7/542.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/543.txt b/cset/query/size-7/543.txt new file mode 100644 index 0000000..6e1beee --- /dev/null +++ b/cset/query/size-7/543.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/544.txt b/cset/query/size-7/544.txt new file mode 100644 index 0000000..4527bbb --- /dev/null +++ b/cset/query/size-7/544.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/545.txt b/cset/query/size-7/545.txt new file mode 100644 index 0000000..69b0fa9 --- /dev/null +++ b/cset/query/size-7/545.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/546.txt b/cset/query/size-7/546.txt new file mode 100644 index 0000000..b4d2a58 --- /dev/null +++ b/cset/query/size-7/546.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/547.txt b/cset/query/size-7/547.txt new file mode 100644 index 0000000..9a1c562 --- /dev/null +++ b/cset/query/size-7/547.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/548.txt b/cset/query/size-7/548.txt new file mode 100644 index 0000000..01b23ac --- /dev/null +++ b/cset/query/size-7/548.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/549.txt b/cset/query/size-7/549.txt new file mode 100644 index 0000000..87fd91a --- /dev/null +++ b/cset/query/size-7/549.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/55.txt b/cset/query/size-7/55.txt new file mode 100644 index 0000000..dfedeec --- /dev/null +++ b/cset/query/size-7/55.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/550.txt b/cset/query/size-7/550.txt new file mode 100644 index 0000000..b5bc8f0 --- /dev/null +++ b/cset/query/size-7/550.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/551.txt b/cset/query/size-7/551.txt new file mode 100644 index 0000000..b35569e --- /dev/null +++ b/cset/query/size-7/551.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/552.txt b/cset/query/size-7/552.txt new file mode 100644 index 0000000..5ef5555 --- /dev/null +++ b/cset/query/size-7/552.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/553.txt b/cset/query/size-7/553.txt new file mode 100644 index 0000000..117b38f --- /dev/null +++ b/cset/query/size-7/553.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/554.txt b/cset/query/size-7/554.txt new file mode 100644 index 0000000..b2ced20 --- /dev/null +++ b/cset/query/size-7/554.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/555.txt b/cset/query/size-7/555.txt new file mode 100644 index 0000000..22cd219 --- /dev/null +++ b/cset/query/size-7/555.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/556.txt b/cset/query/size-7/556.txt new file mode 100644 index 0000000..a59d4c4 --- /dev/null +++ b/cset/query/size-7/556.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/557.txt b/cset/query/size-7/557.txt new file mode 100644 index 0000000..f014f2a --- /dev/null +++ b/cset/query/size-7/557.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/558.txt b/cset/query/size-7/558.txt new file mode 100644 index 0000000..82ce141 --- /dev/null +++ b/cset/query/size-7/558.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/559.txt b/cset/query/size-7/559.txt new file mode 100644 index 0000000..1e83d46 --- /dev/null +++ b/cset/query/size-7/559.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/56.txt b/cset/query/size-7/56.txt new file mode 100644 index 0000000..2bd495d --- /dev/null +++ b/cset/query/size-7/56.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/560.txt b/cset/query/size-7/560.txt new file mode 100644 index 0000000..733ce8c --- /dev/null +++ b/cset/query/size-7/560.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/561.txt b/cset/query/size-7/561.txt new file mode 100644 index 0000000..f2f9580 --- /dev/null +++ b/cset/query/size-7/561.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/562.txt b/cset/query/size-7/562.txt new file mode 100644 index 0000000..a5cd67a --- /dev/null +++ b/cset/query/size-7/562.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/563.txt b/cset/query/size-7/563.txt new file mode 100644 index 0000000..b217e74 --- /dev/null +++ b/cset/query/size-7/563.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/564.txt b/cset/query/size-7/564.txt new file mode 100644 index 0000000..4e78f48 --- /dev/null +++ b/cset/query/size-7/564.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/565.txt b/cset/query/size-7/565.txt new file mode 100644 index 0000000..37cb89b --- /dev/null +++ b/cset/query/size-7/565.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/566.txt b/cset/query/size-7/566.txt new file mode 100644 index 0000000..c14d2fe --- /dev/null +++ b/cset/query/size-7/566.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/567.txt b/cset/query/size-7/567.txt new file mode 100644 index 0000000..d603ee2 --- /dev/null +++ b/cset/query/size-7/567.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/568.txt b/cset/query/size-7/568.txt new file mode 100644 index 0000000..cb419be --- /dev/null +++ b/cset/query/size-7/568.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/569.txt b/cset/query/size-7/569.txt new file mode 100644 index 0000000..4a23d09 --- /dev/null +++ b/cset/query/size-7/569.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/57.txt b/cset/query/size-7/57.txt new file mode 100644 index 0000000..32f48aa --- /dev/null +++ b/cset/query/size-7/57.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/570.txt b/cset/query/size-7/570.txt new file mode 100644 index 0000000..6a895ae --- /dev/null +++ b/cset/query/size-7/570.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/571.txt b/cset/query/size-7/571.txt new file mode 100644 index 0000000..6ec5af5 --- /dev/null +++ b/cset/query/size-7/571.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/572.txt b/cset/query/size-7/572.txt new file mode 100644 index 0000000..5d7bfd3 --- /dev/null +++ b/cset/query/size-7/572.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/573.txt b/cset/query/size-7/573.txt new file mode 100644 index 0000000..7b32216 --- /dev/null +++ b/cset/query/size-7/573.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/574.txt b/cset/query/size-7/574.txt new file mode 100644 index 0000000..702e2ad --- /dev/null +++ b/cset/query/size-7/574.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/575.txt b/cset/query/size-7/575.txt new file mode 100644 index 0000000..69fd08f --- /dev/null +++ b/cset/query/size-7/575.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/576.txt b/cset/query/size-7/576.txt new file mode 100644 index 0000000..d0ae528 --- /dev/null +++ b/cset/query/size-7/576.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/577.txt b/cset/query/size-7/577.txt new file mode 100644 index 0000000..c1d8d42 --- /dev/null +++ b/cset/query/size-7/577.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/578.txt b/cset/query/size-7/578.txt new file mode 100644 index 0000000..93ba3e3 --- /dev/null +++ b/cset/query/size-7/578.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/579.txt b/cset/query/size-7/579.txt new file mode 100644 index 0000000..10a0d3b --- /dev/null +++ b/cset/query/size-7/579.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/58.txt b/cset/query/size-7/58.txt new file mode 100644 index 0000000..55e3c43 --- /dev/null +++ b/cset/query/size-7/58.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/580.txt b/cset/query/size-7/580.txt new file mode 100644 index 0000000..84d363d --- /dev/null +++ b/cset/query/size-7/580.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/581.txt b/cset/query/size-7/581.txt new file mode 100644 index 0000000..6a57c67 --- /dev/null +++ b/cset/query/size-7/581.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/582.txt b/cset/query/size-7/582.txt new file mode 100644 index 0000000..d687d6c --- /dev/null +++ b/cset/query/size-7/582.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/583.txt b/cset/query/size-7/583.txt new file mode 100644 index 0000000..c61fd5f --- /dev/null +++ b/cset/query/size-7/583.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/584.txt b/cset/query/size-7/584.txt new file mode 100644 index 0000000..b08e21a --- /dev/null +++ b/cset/query/size-7/584.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/585.txt b/cset/query/size-7/585.txt new file mode 100644 index 0000000..56b5339 --- /dev/null +++ b/cset/query/size-7/585.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/586.txt b/cset/query/size-7/586.txt new file mode 100644 index 0000000..bf5e3af --- /dev/null +++ b/cset/query/size-7/586.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/587.txt b/cset/query/size-7/587.txt new file mode 100644 index 0000000..e7b9c62 --- /dev/null +++ b/cset/query/size-7/587.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/588.txt b/cset/query/size-7/588.txt new file mode 100644 index 0000000..ccb48d7 --- /dev/null +++ b/cset/query/size-7/588.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/589.txt b/cset/query/size-7/589.txt new file mode 100644 index 0000000..cf43d1d --- /dev/null +++ b/cset/query/size-7/589.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/59.txt b/cset/query/size-7/59.txt new file mode 100644 index 0000000..7716d96 --- /dev/null +++ b/cset/query/size-7/59.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/590.txt b/cset/query/size-7/590.txt new file mode 100644 index 0000000..24d4db6 --- /dev/null +++ b/cset/query/size-7/590.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/591.txt b/cset/query/size-7/591.txt new file mode 100644 index 0000000..b6e2980 --- /dev/null +++ b/cset/query/size-7/591.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/592.txt b/cset/query/size-7/592.txt new file mode 100644 index 0000000..dda4037 --- /dev/null +++ b/cset/query/size-7/592.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/593.txt b/cset/query/size-7/593.txt new file mode 100644 index 0000000..7496cfb --- /dev/null +++ b/cset/query/size-7/593.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/594.txt b/cset/query/size-7/594.txt new file mode 100644 index 0000000..b21f506 --- /dev/null +++ b/cset/query/size-7/594.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/595.txt b/cset/query/size-7/595.txt new file mode 100644 index 0000000..dda2fc9 --- /dev/null +++ b/cset/query/size-7/595.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/596.txt b/cset/query/size-7/596.txt new file mode 100644 index 0000000..c8d2ce0 --- /dev/null +++ b/cset/query/size-7/596.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/597.txt b/cset/query/size-7/597.txt new file mode 100644 index 0000000..332e036 --- /dev/null +++ b/cset/query/size-7/597.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/598.txt b/cset/query/size-7/598.txt new file mode 100644 index 0000000..853184f --- /dev/null +++ b/cset/query/size-7/598.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/599.txt b/cset/query/size-7/599.txt new file mode 100644 index 0000000..1767d2f --- /dev/null +++ b/cset/query/size-7/599.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/6.txt b/cset/query/size-7/6.txt new file mode 100644 index 0000000..d82a438 --- /dev/null +++ b/cset/query/size-7/6.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/60.txt b/cset/query/size-7/60.txt new file mode 100644 index 0000000..caa2a13 --- /dev/null +++ b/cset/query/size-7/60.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/600.txt b/cset/query/size-7/600.txt new file mode 100644 index 0000000..b855799 --- /dev/null +++ b/cset/query/size-7/600.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/601.txt b/cset/query/size-7/601.txt new file mode 100644 index 0000000..4255b10 --- /dev/null +++ b/cset/query/size-7/601.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/602.txt b/cset/query/size-7/602.txt new file mode 100644 index 0000000..3bfec5a --- /dev/null +++ b/cset/query/size-7/602.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/603.txt b/cset/query/size-7/603.txt new file mode 100644 index 0000000..acca787 --- /dev/null +++ b/cset/query/size-7/603.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/604.txt b/cset/query/size-7/604.txt new file mode 100644 index 0000000..689ea44 --- /dev/null +++ b/cset/query/size-7/604.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/605.txt b/cset/query/size-7/605.txt new file mode 100644 index 0000000..27e8738 --- /dev/null +++ b/cset/query/size-7/605.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/606.txt b/cset/query/size-7/606.txt new file mode 100644 index 0000000..c373b76 --- /dev/null +++ b/cset/query/size-7/606.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/607.txt b/cset/query/size-7/607.txt new file mode 100644 index 0000000..bec3a5a --- /dev/null +++ b/cset/query/size-7/607.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/608.txt b/cset/query/size-7/608.txt new file mode 100644 index 0000000..81dc16b --- /dev/null +++ b/cset/query/size-7/608.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/609.txt b/cset/query/size-7/609.txt new file mode 100644 index 0000000..ec4d294 --- /dev/null +++ b/cset/query/size-7/609.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/61.txt b/cset/query/size-7/61.txt new file mode 100644 index 0000000..a79f421 --- /dev/null +++ b/cset/query/size-7/61.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/610.txt b/cset/query/size-7/610.txt new file mode 100644 index 0000000..959a812 --- /dev/null +++ b/cset/query/size-7/610.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/611.txt b/cset/query/size-7/611.txt new file mode 100644 index 0000000..0a1d85f --- /dev/null +++ b/cset/query/size-7/611.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/612.txt b/cset/query/size-7/612.txt new file mode 100644 index 0000000..d6e5963 --- /dev/null +++ b/cset/query/size-7/612.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/613.txt b/cset/query/size-7/613.txt new file mode 100644 index 0000000..e15cf87 --- /dev/null +++ b/cset/query/size-7/613.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/614.txt b/cset/query/size-7/614.txt new file mode 100644 index 0000000..4373798 --- /dev/null +++ b/cset/query/size-7/614.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/615.txt b/cset/query/size-7/615.txt new file mode 100644 index 0000000..5fdff7f --- /dev/null +++ b/cset/query/size-7/615.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/616.txt b/cset/query/size-7/616.txt new file mode 100644 index 0000000..fb9b48a --- /dev/null +++ b/cset/query/size-7/616.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/617.txt b/cset/query/size-7/617.txt new file mode 100644 index 0000000..fb8cb26 --- /dev/null +++ b/cset/query/size-7/617.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/618.txt b/cset/query/size-7/618.txt new file mode 100644 index 0000000..1b02564 --- /dev/null +++ b/cset/query/size-7/618.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/619.txt b/cset/query/size-7/619.txt new file mode 100644 index 0000000..66bf355 --- /dev/null +++ b/cset/query/size-7/619.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/62.txt b/cset/query/size-7/62.txt new file mode 100644 index 0000000..a616b2b --- /dev/null +++ b/cset/query/size-7/62.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/620.txt b/cset/query/size-7/620.txt new file mode 100644 index 0000000..2434e50 --- /dev/null +++ b/cset/query/size-7/620.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/621.txt b/cset/query/size-7/621.txt new file mode 100644 index 0000000..10efc5f --- /dev/null +++ b/cset/query/size-7/621.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/622.txt b/cset/query/size-7/622.txt new file mode 100644 index 0000000..6c4cf74 --- /dev/null +++ b/cset/query/size-7/622.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/623.txt b/cset/query/size-7/623.txt new file mode 100644 index 0000000..79eb35d --- /dev/null +++ b/cset/query/size-7/623.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/624.txt b/cset/query/size-7/624.txt new file mode 100644 index 0000000..58af138 --- /dev/null +++ b/cset/query/size-7/624.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/625.txt b/cset/query/size-7/625.txt new file mode 100644 index 0000000..46d6b20 --- /dev/null +++ b/cset/query/size-7/625.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/626.txt b/cset/query/size-7/626.txt new file mode 100644 index 0000000..bc59dd4 --- /dev/null +++ b/cset/query/size-7/626.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/627.txt b/cset/query/size-7/627.txt new file mode 100644 index 0000000..a8ce707 --- /dev/null +++ b/cset/query/size-7/627.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/628.txt b/cset/query/size-7/628.txt new file mode 100644 index 0000000..01d5c60 --- /dev/null +++ b/cset/query/size-7/628.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/629.txt b/cset/query/size-7/629.txt new file mode 100644 index 0000000..6350820 --- /dev/null +++ b/cset/query/size-7/629.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/63.txt b/cset/query/size-7/63.txt new file mode 100644 index 0000000..688ff06 --- /dev/null +++ b/cset/query/size-7/63.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/630.txt b/cset/query/size-7/630.txt new file mode 100644 index 0000000..1b713a8 --- /dev/null +++ b/cset/query/size-7/630.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/631.txt b/cset/query/size-7/631.txt new file mode 100644 index 0000000..d0c7ebf --- /dev/null +++ b/cset/query/size-7/631.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 diff --git a/cset/query/size-7/632.txt b/cset/query/size-7/632.txt new file mode 100644 index 0000000..d6be525 --- /dev/null +++ b/cset/query/size-7/632.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/633.txt b/cset/query/size-7/633.txt new file mode 100644 index 0000000..fb5c490 --- /dev/null +++ b/cset/query/size-7/633.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/634.txt b/cset/query/size-7/634.txt new file mode 100644 index 0000000..a81c215 --- /dev/null +++ b/cset/query/size-7/634.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/635.txt b/cset/query/size-7/635.txt new file mode 100644 index 0000000..496022b --- /dev/null +++ b/cset/query/size-7/635.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/636.txt b/cset/query/size-7/636.txt new file mode 100644 index 0000000..14c71b3 --- /dev/null +++ b/cset/query/size-7/636.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/637.txt b/cset/query/size-7/637.txt new file mode 100644 index 0000000..bbafde3 --- /dev/null +++ b/cset/query/size-7/637.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/638.txt b/cset/query/size-7/638.txt new file mode 100644 index 0000000..a6a9825 --- /dev/null +++ b/cset/query/size-7/638.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/639.txt b/cset/query/size-7/639.txt new file mode 100644 index 0000000..2232ab5 --- /dev/null +++ b/cset/query/size-7/639.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/64.txt b/cset/query/size-7/64.txt new file mode 100644 index 0000000..0333e6b --- /dev/null +++ b/cset/query/size-7/64.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/640.txt b/cset/query/size-7/640.txt new file mode 100644 index 0000000..982547a --- /dev/null +++ b/cset/query/size-7/640.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/641.txt b/cset/query/size-7/641.txt new file mode 100644 index 0000000..58114be --- /dev/null +++ b/cset/query/size-7/641.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/642.txt b/cset/query/size-7/642.txt new file mode 100644 index 0000000..a2b3e8d --- /dev/null +++ b/cset/query/size-7/642.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/643.txt b/cset/query/size-7/643.txt new file mode 100644 index 0000000..43d8779 --- /dev/null +++ b/cset/query/size-7/643.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/644.txt b/cset/query/size-7/644.txt new file mode 100644 index 0000000..e182d42 --- /dev/null +++ b/cset/query/size-7/644.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/645.txt b/cset/query/size-7/645.txt new file mode 100644 index 0000000..98b2c35 --- /dev/null +++ b/cset/query/size-7/645.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/646.txt b/cset/query/size-7/646.txt new file mode 100644 index 0000000..6d0bd1e --- /dev/null +++ b/cset/query/size-7/646.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/647.txt b/cset/query/size-7/647.txt new file mode 100644 index 0000000..c2a6a90 --- /dev/null +++ b/cset/query/size-7/647.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/648.txt b/cset/query/size-7/648.txt new file mode 100644 index 0000000..88de1c4 --- /dev/null +++ b/cset/query/size-7/648.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/649.txt b/cset/query/size-7/649.txt new file mode 100644 index 0000000..4889f2d --- /dev/null +++ b/cset/query/size-7/649.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/65.txt b/cset/query/size-7/65.txt new file mode 100644 index 0000000..1f48cd0 --- /dev/null +++ b/cset/query/size-7/65.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/650.txt b/cset/query/size-7/650.txt new file mode 100644 index 0000000..3988b48 --- /dev/null +++ b/cset/query/size-7/650.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/651.txt b/cset/query/size-7/651.txt new file mode 100644 index 0000000..c4360a1 --- /dev/null +++ b/cset/query/size-7/651.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/652.txt b/cset/query/size-7/652.txt new file mode 100644 index 0000000..32d26b5 --- /dev/null +++ b/cset/query/size-7/652.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/653.txt b/cset/query/size-7/653.txt new file mode 100644 index 0000000..9e5024e --- /dev/null +++ b/cset/query/size-7/653.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/654.txt b/cset/query/size-7/654.txt new file mode 100644 index 0000000..f34c77c --- /dev/null +++ b/cset/query/size-7/654.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/655.txt b/cset/query/size-7/655.txt new file mode 100644 index 0000000..db52643 --- /dev/null +++ b/cset/query/size-7/655.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/656.txt b/cset/query/size-7/656.txt new file mode 100644 index 0000000..cc3f92e --- /dev/null +++ b/cset/query/size-7/656.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/657.txt b/cset/query/size-7/657.txt new file mode 100644 index 0000000..4a0c784 --- /dev/null +++ b/cset/query/size-7/657.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/658.txt b/cset/query/size-7/658.txt new file mode 100644 index 0000000..88921c6 --- /dev/null +++ b/cset/query/size-7/658.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/659.txt b/cset/query/size-7/659.txt new file mode 100644 index 0000000..73b4a7c --- /dev/null +++ b/cset/query/size-7/659.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/66.txt b/cset/query/size-7/66.txt new file mode 100644 index 0000000..fc65776 --- /dev/null +++ b/cset/query/size-7/66.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/660.txt b/cset/query/size-7/660.txt new file mode 100644 index 0000000..9e97fec --- /dev/null +++ b/cset/query/size-7/660.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/661.txt b/cset/query/size-7/661.txt new file mode 100644 index 0000000..c759f01 --- /dev/null +++ b/cset/query/size-7/661.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/662.txt b/cset/query/size-7/662.txt new file mode 100644 index 0000000..531d874 --- /dev/null +++ b/cset/query/size-7/662.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/663.txt b/cset/query/size-7/663.txt new file mode 100644 index 0000000..6d716dd --- /dev/null +++ b/cset/query/size-7/663.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/664.txt b/cset/query/size-7/664.txt new file mode 100644 index 0000000..ca296b9 --- /dev/null +++ b/cset/query/size-7/664.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/665.txt b/cset/query/size-7/665.txt new file mode 100644 index 0000000..196de69 --- /dev/null +++ b/cset/query/size-7/665.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/666.txt b/cset/query/size-7/666.txt new file mode 100644 index 0000000..cec5350 --- /dev/null +++ b/cset/query/size-7/666.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/667.txt b/cset/query/size-7/667.txt new file mode 100644 index 0000000..bd90611 --- /dev/null +++ b/cset/query/size-7/667.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/668.txt b/cset/query/size-7/668.txt new file mode 100644 index 0000000..e367ec6 --- /dev/null +++ b/cset/query/size-7/668.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/669.txt b/cset/query/size-7/669.txt new file mode 100644 index 0000000..0fd7ad3 --- /dev/null +++ b/cset/query/size-7/669.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/67.txt b/cset/query/size-7/67.txt new file mode 100644 index 0000000..4c49f06 --- /dev/null +++ b/cset/query/size-7/67.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/670.txt b/cset/query/size-7/670.txt new file mode 100644 index 0000000..01bdd24 --- /dev/null +++ b/cset/query/size-7/670.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/671.txt b/cset/query/size-7/671.txt new file mode 100644 index 0000000..26297fb --- /dev/null +++ b/cset/query/size-7/671.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/672.txt b/cset/query/size-7/672.txt new file mode 100644 index 0000000..9a41fce --- /dev/null +++ b/cset/query/size-7/672.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/673.txt b/cset/query/size-7/673.txt new file mode 100644 index 0000000..49568d2 --- /dev/null +++ b/cset/query/size-7/673.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/674.txt b/cset/query/size-7/674.txt new file mode 100644 index 0000000..8007c85 --- /dev/null +++ b/cset/query/size-7/674.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/675.txt b/cset/query/size-7/675.txt new file mode 100644 index 0000000..f03bc01 --- /dev/null +++ b/cset/query/size-7/675.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/676.txt b/cset/query/size-7/676.txt new file mode 100644 index 0000000..32f10e3 --- /dev/null +++ b/cset/query/size-7/676.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/677.txt b/cset/query/size-7/677.txt new file mode 100644 index 0000000..5cd3f00 --- /dev/null +++ b/cset/query/size-7/677.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/678.txt b/cset/query/size-7/678.txt new file mode 100644 index 0000000..cb86790 --- /dev/null +++ b/cset/query/size-7/678.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/679.txt b/cset/query/size-7/679.txt new file mode 100644 index 0000000..e7d6a4a --- /dev/null +++ b/cset/query/size-7/679.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/68.txt b/cset/query/size-7/68.txt new file mode 100644 index 0000000..70bb510 --- /dev/null +++ b/cset/query/size-7/68.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/680.txt b/cset/query/size-7/680.txt new file mode 100644 index 0000000..05f84f1 --- /dev/null +++ b/cset/query/size-7/680.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/681.txt b/cset/query/size-7/681.txt new file mode 100644 index 0000000..fd734db --- /dev/null +++ b/cset/query/size-7/681.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/682.txt b/cset/query/size-7/682.txt new file mode 100644 index 0000000..018747a --- /dev/null +++ b/cset/query/size-7/682.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/683.txt b/cset/query/size-7/683.txt new file mode 100644 index 0000000..0183980 --- /dev/null +++ b/cset/query/size-7/683.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/684.txt b/cset/query/size-7/684.txt new file mode 100644 index 0000000..b8ad97c --- /dev/null +++ b/cset/query/size-7/684.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/685.txt b/cset/query/size-7/685.txt new file mode 100644 index 0000000..6925825 --- /dev/null +++ b/cset/query/size-7/685.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/686.txt b/cset/query/size-7/686.txt new file mode 100644 index 0000000..5426ec3 --- /dev/null +++ b/cset/query/size-7/686.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/687.txt b/cset/query/size-7/687.txt new file mode 100644 index 0000000..94df7d9 --- /dev/null +++ b/cset/query/size-7/687.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/688.txt b/cset/query/size-7/688.txt new file mode 100644 index 0000000..1ec5380 --- /dev/null +++ b/cset/query/size-7/688.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/689.txt b/cset/query/size-7/689.txt new file mode 100644 index 0000000..d64775b --- /dev/null +++ b/cset/query/size-7/689.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/69.txt b/cset/query/size-7/69.txt new file mode 100644 index 0000000..16dfd17 --- /dev/null +++ b/cset/query/size-7/69.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/690.txt b/cset/query/size-7/690.txt new file mode 100644 index 0000000..875b3ff --- /dev/null +++ b/cset/query/size-7/690.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/691.txt b/cset/query/size-7/691.txt new file mode 100644 index 0000000..4cbaf5a --- /dev/null +++ b/cset/query/size-7/691.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/692.txt b/cset/query/size-7/692.txt new file mode 100644 index 0000000..a1e06ae --- /dev/null +++ b/cset/query/size-7/692.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/693.txt b/cset/query/size-7/693.txt new file mode 100644 index 0000000..40c8cc6 --- /dev/null +++ b/cset/query/size-7/693.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/694.txt b/cset/query/size-7/694.txt new file mode 100644 index 0000000..4e64d87 --- /dev/null +++ b/cset/query/size-7/694.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/695.txt b/cset/query/size-7/695.txt new file mode 100644 index 0000000..af4bb3e --- /dev/null +++ b/cset/query/size-7/695.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/696.txt b/cset/query/size-7/696.txt new file mode 100644 index 0000000..35ff185 --- /dev/null +++ b/cset/query/size-7/696.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/697.txt b/cset/query/size-7/697.txt new file mode 100644 index 0000000..615bc7a --- /dev/null +++ b/cset/query/size-7/697.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/698.txt b/cset/query/size-7/698.txt new file mode 100644 index 0000000..4946230 --- /dev/null +++ b/cset/query/size-7/698.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/699.txt b/cset/query/size-7/699.txt new file mode 100644 index 0000000..e365b0e --- /dev/null +++ b/cset/query/size-7/699.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/7.txt b/cset/query/size-7/7.txt new file mode 100644 index 0000000..c02edd3 --- /dev/null +++ b/cset/query/size-7/7.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/70.txt b/cset/query/size-7/70.txt new file mode 100644 index 0000000..30f4345 --- /dev/null +++ b/cset/query/size-7/70.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/700.txt b/cset/query/size-7/700.txt new file mode 100644 index 0000000..4bb1869 --- /dev/null +++ b/cset/query/size-7/700.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/701.txt b/cset/query/size-7/701.txt new file mode 100644 index 0000000..cd3e32b --- /dev/null +++ b/cset/query/size-7/701.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/702.txt b/cset/query/size-7/702.txt new file mode 100644 index 0000000..7c26272 --- /dev/null +++ b/cset/query/size-7/702.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/703.txt b/cset/query/size-7/703.txt new file mode 100644 index 0000000..cc0616b --- /dev/null +++ b/cset/query/size-7/703.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/704.txt b/cset/query/size-7/704.txt new file mode 100644 index 0000000..25813c4 --- /dev/null +++ b/cset/query/size-7/704.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/705.txt b/cset/query/size-7/705.txt new file mode 100644 index 0000000..86cb32e --- /dev/null +++ b/cset/query/size-7/705.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/706.txt b/cset/query/size-7/706.txt new file mode 100644 index 0000000..56b16d6 --- /dev/null +++ b/cset/query/size-7/706.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/707.txt b/cset/query/size-7/707.txt new file mode 100644 index 0000000..bb43210 --- /dev/null +++ b/cset/query/size-7/707.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/708.txt b/cset/query/size-7/708.txt new file mode 100644 index 0000000..d22f9b8 --- /dev/null +++ b/cset/query/size-7/708.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/709.txt b/cset/query/size-7/709.txt new file mode 100644 index 0000000..4344662 --- /dev/null +++ b/cset/query/size-7/709.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/71.txt b/cset/query/size-7/71.txt new file mode 100644 index 0000000..63228d7 --- /dev/null +++ b/cset/query/size-7/71.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/710.txt b/cset/query/size-7/710.txt new file mode 100644 index 0000000..e112ddc --- /dev/null +++ b/cset/query/size-7/710.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/711.txt b/cset/query/size-7/711.txt new file mode 100644 index 0000000..3a634a0 --- /dev/null +++ b/cset/query/size-7/711.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/712.txt b/cset/query/size-7/712.txt new file mode 100644 index 0000000..6cd1a61 --- /dev/null +++ b/cset/query/size-7/712.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/713.txt b/cset/query/size-7/713.txt new file mode 100644 index 0000000..4d76cf8 --- /dev/null +++ b/cset/query/size-7/713.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/714.txt b/cset/query/size-7/714.txt new file mode 100644 index 0000000..11520f6 --- /dev/null +++ b/cset/query/size-7/714.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/715.txt b/cset/query/size-7/715.txt new file mode 100644 index 0000000..b5976d3 --- /dev/null +++ b/cset/query/size-7/715.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/716.txt b/cset/query/size-7/716.txt new file mode 100644 index 0000000..0df7842 --- /dev/null +++ b/cset/query/size-7/716.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/717.txt b/cset/query/size-7/717.txt new file mode 100644 index 0000000..a7d9790 --- /dev/null +++ b/cset/query/size-7/717.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/718.txt b/cset/query/size-7/718.txt new file mode 100644 index 0000000..4cf5c8c --- /dev/null +++ b/cset/query/size-7/718.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/719.txt b/cset/query/size-7/719.txt new file mode 100644 index 0000000..4e95201 --- /dev/null +++ b/cset/query/size-7/719.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/72.txt b/cset/query/size-7/72.txt new file mode 100644 index 0000000..c44e571 --- /dev/null +++ b/cset/query/size-7/72.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/720.txt b/cset/query/size-7/720.txt new file mode 100644 index 0000000..8654544 --- /dev/null +++ b/cset/query/size-7/720.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/721.txt b/cset/query/size-7/721.txt new file mode 100644 index 0000000..b37cf72 --- /dev/null +++ b/cset/query/size-7/721.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/722.txt b/cset/query/size-7/722.txt new file mode 100644 index 0000000..a2c9c25 --- /dev/null +++ b/cset/query/size-7/722.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/723.txt b/cset/query/size-7/723.txt new file mode 100644 index 0000000..cb96ff4 --- /dev/null +++ b/cset/query/size-7/723.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/724.txt b/cset/query/size-7/724.txt new file mode 100644 index 0000000..91f42c8 --- /dev/null +++ b/cset/query/size-7/724.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/725.txt b/cset/query/size-7/725.txt new file mode 100644 index 0000000..48d50fa --- /dev/null +++ b/cset/query/size-7/725.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/726.txt b/cset/query/size-7/726.txt new file mode 100644 index 0000000..171ed1f --- /dev/null +++ b/cset/query/size-7/726.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/727.txt b/cset/query/size-7/727.txt new file mode 100644 index 0000000..d0d106b --- /dev/null +++ b/cset/query/size-7/727.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/728.txt b/cset/query/size-7/728.txt new file mode 100644 index 0000000..303603e --- /dev/null +++ b/cset/query/size-7/728.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/729.txt b/cset/query/size-7/729.txt new file mode 100644 index 0000000..bf1a3d2 --- /dev/null +++ b/cset/query/size-7/729.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/73.txt b/cset/query/size-7/73.txt new file mode 100644 index 0000000..241b465 --- /dev/null +++ b/cset/query/size-7/73.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/730.txt b/cset/query/size-7/730.txt new file mode 100644 index 0000000..f2f5735 --- /dev/null +++ b/cset/query/size-7/730.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/731.txt b/cset/query/size-7/731.txt new file mode 100644 index 0000000..9454cd5 --- /dev/null +++ b/cset/query/size-7/731.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/732.txt b/cset/query/size-7/732.txt new file mode 100644 index 0000000..65ed4d6 --- /dev/null +++ b/cset/query/size-7/732.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/733.txt b/cset/query/size-7/733.txt new file mode 100644 index 0000000..b30239f --- /dev/null +++ b/cset/query/size-7/733.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/734.txt b/cset/query/size-7/734.txt new file mode 100644 index 0000000..5951cff --- /dev/null +++ b/cset/query/size-7/734.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/735.txt b/cset/query/size-7/735.txt new file mode 100644 index 0000000..b7ed7ca --- /dev/null +++ b/cset/query/size-7/735.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/736.txt b/cset/query/size-7/736.txt new file mode 100644 index 0000000..2a7117f --- /dev/null +++ b/cset/query/size-7/736.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/737.txt b/cset/query/size-7/737.txt new file mode 100644 index 0000000..e2cc09b --- /dev/null +++ b/cset/query/size-7/737.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/738.txt b/cset/query/size-7/738.txt new file mode 100644 index 0000000..bf0f41d --- /dev/null +++ b/cset/query/size-7/738.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/739.txt b/cset/query/size-7/739.txt new file mode 100644 index 0000000..fa7fab8 --- /dev/null +++ b/cset/query/size-7/739.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/74.txt b/cset/query/size-7/74.txt new file mode 100644 index 0000000..4c72655 --- /dev/null +++ b/cset/query/size-7/74.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/740.txt b/cset/query/size-7/740.txt new file mode 100644 index 0000000..559f511 --- /dev/null +++ b/cset/query/size-7/740.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/741.txt b/cset/query/size-7/741.txt new file mode 100644 index 0000000..99fae4a --- /dev/null +++ b/cset/query/size-7/741.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/742.txt b/cset/query/size-7/742.txt new file mode 100644 index 0000000..9926bd1 --- /dev/null +++ b/cset/query/size-7/742.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/743.txt b/cset/query/size-7/743.txt new file mode 100644 index 0000000..10c437b --- /dev/null +++ b/cset/query/size-7/743.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/744.txt b/cset/query/size-7/744.txt new file mode 100644 index 0000000..77a6291 --- /dev/null +++ b/cset/query/size-7/744.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/745.txt b/cset/query/size-7/745.txt new file mode 100644 index 0000000..6c3b129 --- /dev/null +++ b/cset/query/size-7/745.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/746.txt b/cset/query/size-7/746.txt new file mode 100644 index 0000000..1315685 --- /dev/null +++ b/cset/query/size-7/746.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/747.txt b/cset/query/size-7/747.txt new file mode 100644 index 0000000..4e420e3 --- /dev/null +++ b/cset/query/size-7/747.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/748.txt b/cset/query/size-7/748.txt new file mode 100644 index 0000000..4ff1934 --- /dev/null +++ b/cset/query/size-7/748.txt @@ -0,0 +1,26 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/749.txt b/cset/query/size-7/749.txt new file mode 100644 index 0000000..fcacb98 --- /dev/null +++ b/cset/query/size-7/749.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 1 1 diff --git a/cset/query/size-7/75.txt b/cset/query/size-7/75.txt new file mode 100644 index 0000000..fe3cc76 --- /dev/null +++ b/cset/query/size-7/75.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/750.txt b/cset/query/size-7/750.txt new file mode 100644 index 0000000..2e456b0 --- /dev/null +++ b/cset/query/size-7/750.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/751.txt b/cset/query/size-7/751.txt new file mode 100644 index 0000000..ae177c6 --- /dev/null +++ b/cset/query/size-7/751.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/752.txt b/cset/query/size-7/752.txt new file mode 100644 index 0000000..7450d18 --- /dev/null +++ b/cset/query/size-7/752.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/753.txt b/cset/query/size-7/753.txt new file mode 100644 index 0000000..cec17ea --- /dev/null +++ b/cset/query/size-7/753.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/754.txt b/cset/query/size-7/754.txt new file mode 100644 index 0000000..2e003a5 --- /dev/null +++ b/cset/query/size-7/754.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 0 6 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/755.txt b/cset/query/size-7/755.txt new file mode 100644 index 0000000..142f7e8 --- /dev/null +++ b/cset/query/size-7/755.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/756.txt b/cset/query/size-7/756.txt new file mode 100644 index 0000000..d73acf8 --- /dev/null +++ b/cset/query/size-7/756.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/757.txt b/cset/query/size-7/757.txt new file mode 100644 index 0000000..8b59b1f --- /dev/null +++ b/cset/query/size-7/757.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/758.txt b/cset/query/size-7/758.txt new file mode 100644 index 0000000..6824b77 --- /dev/null +++ b/cset/query/size-7/758.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/759.txt b/cset/query/size-7/759.txt new file mode 100644 index 0000000..77f4044 --- /dev/null +++ b/cset/query/size-7/759.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/76.txt b/cset/query/size-7/76.txt new file mode 100644 index 0000000..ec3390d --- /dev/null +++ b/cset/query/size-7/76.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/760.txt b/cset/query/size-7/760.txt new file mode 100644 index 0000000..86b89c5 --- /dev/null +++ b/cset/query/size-7/760.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/761.txt b/cset/query/size-7/761.txt new file mode 100644 index 0000000..e328a1d --- /dev/null +++ b/cset/query/size-7/761.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/762.txt b/cset/query/size-7/762.txt new file mode 100644 index 0000000..59fbbec --- /dev/null +++ b/cset/query/size-7/762.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/763.txt b/cset/query/size-7/763.txt new file mode 100644 index 0000000..b692363 --- /dev/null +++ b/cset/query/size-7/763.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/764.txt b/cset/query/size-7/764.txt new file mode 100644 index 0000000..776d1fd --- /dev/null +++ b/cset/query/size-7/764.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/765.txt b/cset/query/size-7/765.txt new file mode 100644 index 0000000..817d716 --- /dev/null +++ b/cset/query/size-7/765.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/766.txt b/cset/query/size-7/766.txt new file mode 100644 index 0000000..acde64d --- /dev/null +++ b/cset/query/size-7/766.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/767.txt b/cset/query/size-7/767.txt new file mode 100644 index 0000000..2f036fc --- /dev/null +++ b/cset/query/size-7/767.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/768.txt b/cset/query/size-7/768.txt new file mode 100644 index 0000000..7e836fd --- /dev/null +++ b/cset/query/size-7/768.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/769.txt b/cset/query/size-7/769.txt new file mode 100644 index 0000000..e7c13f1 --- /dev/null +++ b/cset/query/size-7/769.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/77.txt b/cset/query/size-7/77.txt new file mode 100644 index 0000000..b64980c --- /dev/null +++ b/cset/query/size-7/77.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/770.txt b/cset/query/size-7/770.txt new file mode 100644 index 0000000..8978c3d --- /dev/null +++ b/cset/query/size-7/770.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 diff --git a/cset/query/size-7/771.txt b/cset/query/size-7/771.txt new file mode 100644 index 0000000..572e075 --- /dev/null +++ b/cset/query/size-7/771.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/772.txt b/cset/query/size-7/772.txt new file mode 100644 index 0000000..5595c02 --- /dev/null +++ b/cset/query/size-7/772.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/773.txt b/cset/query/size-7/773.txt new file mode 100644 index 0000000..80d0c01 --- /dev/null +++ b/cset/query/size-7/773.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/774.txt b/cset/query/size-7/774.txt new file mode 100644 index 0000000..aba3ddf --- /dev/null +++ b/cset/query/size-7/774.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/775.txt b/cset/query/size-7/775.txt new file mode 100644 index 0000000..72af5aa --- /dev/null +++ b/cset/query/size-7/775.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/776.txt b/cset/query/size-7/776.txt new file mode 100644 index 0000000..bf3cac3 --- /dev/null +++ b/cset/query/size-7/776.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/777.txt b/cset/query/size-7/777.txt new file mode 100644 index 0000000..1057386 --- /dev/null +++ b/cset/query/size-7/777.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/778.txt b/cset/query/size-7/778.txt new file mode 100644 index 0000000..b08692b --- /dev/null +++ b/cset/query/size-7/778.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/779.txt b/cset/query/size-7/779.txt new file mode 100644 index 0000000..cae9fbf --- /dev/null +++ b/cset/query/size-7/779.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/78.txt b/cset/query/size-7/78.txt new file mode 100644 index 0000000..4ee9507 --- /dev/null +++ b/cset/query/size-7/78.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/780.txt b/cset/query/size-7/780.txt new file mode 100644 index 0000000..02ecd15 --- /dev/null +++ b/cset/query/size-7/780.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/781.txt b/cset/query/size-7/781.txt new file mode 100644 index 0000000..49c71ef --- /dev/null +++ b/cset/query/size-7/781.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/782.txt b/cset/query/size-7/782.txt new file mode 100644 index 0000000..ca6aae2 --- /dev/null +++ b/cset/query/size-7/782.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/783.txt b/cset/query/size-7/783.txt new file mode 100644 index 0000000..cb5759b --- /dev/null +++ b/cset/query/size-7/783.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/784.txt b/cset/query/size-7/784.txt new file mode 100644 index 0000000..be3e72e --- /dev/null +++ b/cset/query/size-7/784.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/785.txt b/cset/query/size-7/785.txt new file mode 100644 index 0000000..5728e5c --- /dev/null +++ b/cset/query/size-7/785.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/786.txt b/cset/query/size-7/786.txt new file mode 100644 index 0000000..63c7528 --- /dev/null +++ b/cset/query/size-7/786.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/787.txt b/cset/query/size-7/787.txt new file mode 100644 index 0000000..f897201 --- /dev/null +++ b/cset/query/size-7/787.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/788.txt b/cset/query/size-7/788.txt new file mode 100644 index 0000000..058e54b --- /dev/null +++ b/cset/query/size-7/788.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/789.txt b/cset/query/size-7/789.txt new file mode 100644 index 0000000..7aefdd0 --- /dev/null +++ b/cset/query/size-7/789.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/79.txt b/cset/query/size-7/79.txt new file mode 100644 index 0000000..695e05a --- /dev/null +++ b/cset/query/size-7/79.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/790.txt b/cset/query/size-7/790.txt new file mode 100644 index 0000000..9c60f08 --- /dev/null +++ b/cset/query/size-7/790.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/791.txt b/cset/query/size-7/791.txt new file mode 100644 index 0000000..805cee0 --- /dev/null +++ b/cset/query/size-7/791.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/792.txt b/cset/query/size-7/792.txt new file mode 100644 index 0000000..c2e6d94 --- /dev/null +++ b/cset/query/size-7/792.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/793.txt b/cset/query/size-7/793.txt new file mode 100644 index 0000000..366663b --- /dev/null +++ b/cset/query/size-7/793.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/794.txt b/cset/query/size-7/794.txt new file mode 100644 index 0000000..606b4be --- /dev/null +++ b/cset/query/size-7/794.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/795.txt b/cset/query/size-7/795.txt new file mode 100644 index 0000000..866c371 --- /dev/null +++ b/cset/query/size-7/795.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/796.txt b/cset/query/size-7/796.txt new file mode 100644 index 0000000..b1c89cf --- /dev/null +++ b/cset/query/size-7/796.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/797.txt b/cset/query/size-7/797.txt new file mode 100644 index 0000000..2566f9f --- /dev/null +++ b/cset/query/size-7/797.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/798.txt b/cset/query/size-7/798.txt new file mode 100644 index 0000000..12a3d3a --- /dev/null +++ b/cset/query/size-7/798.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/799.txt b/cset/query/size-7/799.txt new file mode 100644 index 0000000..85512c2 --- /dev/null +++ b/cset/query/size-7/799.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/8.txt b/cset/query/size-7/8.txt new file mode 100644 index 0000000..0dfce6a --- /dev/null +++ b/cset/query/size-7/8.txt @@ -0,0 +1,14 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 diff --git a/cset/query/size-7/80.txt b/cset/query/size-7/80.txt new file mode 100644 index 0000000..8a41cdb --- /dev/null +++ b/cset/query/size-7/80.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 diff --git a/cset/query/size-7/800.txt b/cset/query/size-7/800.txt new file mode 100644 index 0000000..611ca13 --- /dev/null +++ b/cset/query/size-7/800.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/801.txt b/cset/query/size-7/801.txt new file mode 100644 index 0000000..d35ef83 --- /dev/null +++ b/cset/query/size-7/801.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/802.txt b/cset/query/size-7/802.txt new file mode 100644 index 0000000..85b8a0f --- /dev/null +++ b/cset/query/size-7/802.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/803.txt b/cset/query/size-7/803.txt new file mode 100644 index 0000000..22d368c --- /dev/null +++ b/cset/query/size-7/803.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/804.txt b/cset/query/size-7/804.txt new file mode 100644 index 0000000..ab80dda --- /dev/null +++ b/cset/query/size-7/804.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/805.txt b/cset/query/size-7/805.txt new file mode 100644 index 0000000..54835d7 --- /dev/null +++ b/cset/query/size-7/805.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/806.txt b/cset/query/size-7/806.txt new file mode 100644 index 0000000..e89e225 --- /dev/null +++ b/cset/query/size-7/806.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/807.txt b/cset/query/size-7/807.txt new file mode 100644 index 0000000..ab10f46 --- /dev/null +++ b/cset/query/size-7/807.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/808.txt b/cset/query/size-7/808.txt new file mode 100644 index 0000000..02d93ef --- /dev/null +++ b/cset/query/size-7/808.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/809.txt b/cset/query/size-7/809.txt new file mode 100644 index 0000000..3e2e9bc --- /dev/null +++ b/cset/query/size-7/809.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/81.txt b/cset/query/size-7/81.txt new file mode 100644 index 0000000..4f6cdc3 --- /dev/null +++ b/cset/query/size-7/81.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/810.txt b/cset/query/size-7/810.txt new file mode 100644 index 0000000..a8e8c3c --- /dev/null +++ b/cset/query/size-7/810.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/811.txt b/cset/query/size-7/811.txt new file mode 100644 index 0000000..2510143 --- /dev/null +++ b/cset/query/size-7/811.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/812.txt b/cset/query/size-7/812.txt new file mode 100644 index 0000000..bd7d922 --- /dev/null +++ b/cset/query/size-7/812.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/813.txt b/cset/query/size-7/813.txt new file mode 100644 index 0000000..a0481a4 --- /dev/null +++ b/cset/query/size-7/813.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/814.txt b/cset/query/size-7/814.txt new file mode 100644 index 0000000..d197acb --- /dev/null +++ b/cset/query/size-7/814.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/815.txt b/cset/query/size-7/815.txt new file mode 100644 index 0000000..f9beabf --- /dev/null +++ b/cset/query/size-7/815.txt @@ -0,0 +1,21 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 1 1 diff --git a/cset/query/size-7/816.txt b/cset/query/size-7/816.txt new file mode 100644 index 0000000..71b883c --- /dev/null +++ b/cset/query/size-7/816.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/817.txt b/cset/query/size-7/817.txt new file mode 100644 index 0000000..84ebaae --- /dev/null +++ b/cset/query/size-7/817.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/818.txt b/cset/query/size-7/818.txt new file mode 100644 index 0000000..70debb7 --- /dev/null +++ b/cset/query/size-7/818.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/819.txt b/cset/query/size-7/819.txt new file mode 100644 index 0000000..e96908d --- /dev/null +++ b/cset/query/size-7/819.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/82.txt b/cset/query/size-7/82.txt new file mode 100644 index 0000000..bc047de --- /dev/null +++ b/cset/query/size-7/82.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/820.txt b/cset/query/size-7/820.txt new file mode 100644 index 0000000..60f8cfa --- /dev/null +++ b/cset/query/size-7/820.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/821.txt b/cset/query/size-7/821.txt new file mode 100644 index 0000000..90706b0 --- /dev/null +++ b/cset/query/size-7/821.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/822.txt b/cset/query/size-7/822.txt new file mode 100644 index 0000000..503b45f --- /dev/null +++ b/cset/query/size-7/822.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/823.txt b/cset/query/size-7/823.txt new file mode 100644 index 0000000..45f4deb --- /dev/null +++ b/cset/query/size-7/823.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/824.txt b/cset/query/size-7/824.txt new file mode 100644 index 0000000..7174a8c --- /dev/null +++ b/cset/query/size-7/824.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/825.txt b/cset/query/size-7/825.txt new file mode 100644 index 0000000..50d1424 --- /dev/null +++ b/cset/query/size-7/825.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/826.txt b/cset/query/size-7/826.txt new file mode 100644 index 0000000..062a742 --- /dev/null +++ b/cset/query/size-7/826.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/827.txt b/cset/query/size-7/827.txt new file mode 100644 index 0000000..f2ee934 --- /dev/null +++ b/cset/query/size-7/827.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/828.txt b/cset/query/size-7/828.txt new file mode 100644 index 0000000..eebcd36 --- /dev/null +++ b/cset/query/size-7/828.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/829.txt b/cset/query/size-7/829.txt new file mode 100644 index 0000000..f462dc6 --- /dev/null +++ b/cset/query/size-7/829.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/83.txt b/cset/query/size-7/83.txt new file mode 100644 index 0000000..e24013b --- /dev/null +++ b/cset/query/size-7/83.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/830.txt b/cset/query/size-7/830.txt new file mode 100644 index 0000000..cc1ac4d --- /dev/null +++ b/cset/query/size-7/830.txt @@ -0,0 +1,26 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/831.txt b/cset/query/size-7/831.txt new file mode 100644 index 0000000..2bbfb20 --- /dev/null +++ b/cset/query/size-7/831.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/832.txt b/cset/query/size-7/832.txt new file mode 100644 index 0000000..0eba766 --- /dev/null +++ b/cset/query/size-7/832.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/833.txt b/cset/query/size-7/833.txt new file mode 100644 index 0000000..b409cf1 --- /dev/null +++ b/cset/query/size-7/833.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/834.txt b/cset/query/size-7/834.txt new file mode 100644 index 0000000..2016a35 --- /dev/null +++ b/cset/query/size-7/834.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/835.txt b/cset/query/size-7/835.txt new file mode 100644 index 0000000..7353ae5 --- /dev/null +++ b/cset/query/size-7/835.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/836.txt b/cset/query/size-7/836.txt new file mode 100644 index 0000000..e6a34d4 --- /dev/null +++ b/cset/query/size-7/836.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/837.txt b/cset/query/size-7/837.txt new file mode 100644 index 0000000..554fcf5 --- /dev/null +++ b/cset/query/size-7/837.txt @@ -0,0 +1,22 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/838.txt b/cset/query/size-7/838.txt new file mode 100644 index 0000000..78174b7 --- /dev/null +++ b/cset/query/size-7/838.txt @@ -0,0 +1,23 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/839.txt b/cset/query/size-7/839.txt new file mode 100644 index 0000000..6250414 --- /dev/null +++ b/cset/query/size-7/839.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/84.txt b/cset/query/size-7/84.txt new file mode 100644 index 0000000..e564782 --- /dev/null +++ b/cset/query/size-7/84.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/840.txt b/cset/query/size-7/840.txt new file mode 100644 index 0000000..6777c4a --- /dev/null +++ b/cset/query/size-7/840.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/841.txt b/cset/query/size-7/841.txt new file mode 100644 index 0000000..9680e30 --- /dev/null +++ b/cset/query/size-7/841.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/842.txt b/cset/query/size-7/842.txt new file mode 100644 index 0000000..154f09d --- /dev/null +++ b/cset/query/size-7/842.txt @@ -0,0 +1,24 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/843.txt b/cset/query/size-7/843.txt new file mode 100644 index 0000000..a02e0a6 --- /dev/null +++ b/cset/query/size-7/843.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/844.txt b/cset/query/size-7/844.txt new file mode 100644 index 0000000..9ed31e4 --- /dev/null +++ b/cset/query/size-7/844.txt @@ -0,0 +1,26 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/845.txt b/cset/query/size-7/845.txt new file mode 100644 index 0000000..331f8c6 --- /dev/null +++ b/cset/query/size-7/845.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/846.txt b/cset/query/size-7/846.txt new file mode 100644 index 0000000..385c552 --- /dev/null +++ b/cset/query/size-7/846.txt @@ -0,0 +1,25 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/847.txt b/cset/query/size-7/847.txt new file mode 100644 index 0000000..86053c0 --- /dev/null +++ b/cset/query/size-7/847.txt @@ -0,0 +1,26 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/848.txt b/cset/query/size-7/848.txt new file mode 100644 index 0000000..98bbbe6 --- /dev/null +++ b/cset/query/size-7/848.txt @@ -0,0 +1,27 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/849.txt b/cset/query/size-7/849.txt new file mode 100644 index 0000000..9699b59 --- /dev/null +++ b/cset/query/size-7/849.txt @@ -0,0 +1,26 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/85.txt b/cset/query/size-7/85.txt new file mode 100644 index 0000000..2ace69a --- /dev/null +++ b/cset/query/size-7/85.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/850.txt b/cset/query/size-7/850.txt new file mode 100644 index 0000000..fa3bd9c --- /dev/null +++ b/cset/query/size-7/850.txt @@ -0,0 +1,27 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/851.txt b/cset/query/size-7/851.txt new file mode 100644 index 0000000..aaf0259 --- /dev/null +++ b/cset/query/size-7/851.txt @@ -0,0 +1,28 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 4 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/852.txt b/cset/query/size-7/852.txt new file mode 100644 index 0000000..2f52c78 --- /dev/null +++ b/cset/query/size-7/852.txt @@ -0,0 +1,29 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 5 6 1 +e 4 6 1 +e 4 5 1 +e 3 6 1 +e 3 5 1 +e 3 4 1 +e 2 6 1 +e 2 5 1 +e 2 4 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/86.txt b/cset/query/size-7/86.txt new file mode 100644 index 0000000..26a579b --- /dev/null +++ b/cset/query/size-7/86.txt @@ -0,0 +1,19 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 diff --git a/cset/query/size-7/87.txt b/cset/query/size-7/87.txt new file mode 100644 index 0000000..a4f687f --- /dev/null +++ b/cset/query/size-7/87.txt @@ -0,0 +1,20 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 3 1 +e 1 6 1 +e 1 5 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/88.txt b/cset/query/size-7/88.txt new file mode 100644 index 0000000..3ec02a9 --- /dev/null +++ b/cset/query/size-7/88.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/89.txt b/cset/query/size-7/89.txt new file mode 100644 index 0000000..4b18fb1 --- /dev/null +++ b/cset/query/size-7/89.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/9.txt b/cset/query/size-7/9.txt new file mode 100644 index 0000000..81d2e06 --- /dev/null +++ b/cset/query/size-7/9.txt @@ -0,0 +1,15 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/90.txt b/cset/query/size-7/90.txt new file mode 100644 index 0000000..77999a5 --- /dev/null +++ b/cset/query/size-7/90.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/91.txt b/cset/query/size-7/91.txt new file mode 100644 index 0000000..83979ba --- /dev/null +++ b/cset/query/size-7/91.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/92.txt b/cset/query/size-7/92.txt new file mode 100644 index 0000000..3f29a5a --- /dev/null +++ b/cset/query/size-7/92.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/93.txt b/cset/query/size-7/93.txt new file mode 100644 index 0000000..72bc7f9 --- /dev/null +++ b/cset/query/size-7/93.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 1 1 diff --git a/cset/query/size-7/94.txt b/cset/query/size-7/94.txt new file mode 100644 index 0000000..7e33cc2 --- /dev/null +++ b/cset/query/size-7/94.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/95.txt b/cset/query/size-7/95.txt new file mode 100644 index 0000000..0a4fb9a --- /dev/null +++ b/cset/query/size-7/95.txt @@ -0,0 +1,16 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 diff --git a/cset/query/size-7/96.txt b/cset/query/size-7/96.txt new file mode 100644 index 0000000..906f283 --- /dev/null +++ b/cset/query/size-7/96.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/query/size-7/97.txt b/cset/query/size-7/97.txt new file mode 100644 index 0000000..dbc0562 --- /dev/null +++ b/cset/query/size-7/97.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 3 1 +e 0 2 1 +e 0 1 1 diff --git a/cset/query/size-7/98.txt b/cset/query/size-7/98.txt new file mode 100644 index 0000000..ca528a6 --- /dev/null +++ b/cset/query/size-7/98.txt @@ -0,0 +1,17 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 diff --git a/cset/query/size-7/99.txt b/cset/query/size-7/99.txt new file mode 100644 index 0000000..5526e5a --- /dev/null +++ b/cset/query/size-7/99.txt @@ -0,0 +1,18 @@ +# t 0 +v 0 1 +v 1 1 +v 2 1 +v 3 1 +v 4 1 +v 5 1 +v 6 1 +e 2 4 1 +e 2 3 1 +e 1 4 1 +e 1 3 1 +e 1 2 1 +e 0 6 1 +e 0 5 1 +e 0 4 1 +e 0 3 1 +e 0 1 1 diff --git a/cset/run/cpp_template.cpp b/cset/run/cpp_template.cpp new file mode 100644 index 0000000..3fd971d --- /dev/null +++ b/cset/run/cpp_template.cpp @@ -0,0 +1,76 @@ +#include + +inline size_t SetIntersection(int& first_arr, size_t first_size, int& second_arr, size_t second_size, int& res_arr) +{ + int* first = &first_arr; + int* second = &second_arr; + int* res = &res_arr; + size_t pi = 0, pj = 0, pos = 0; + while (pi != first_size && pj != second_size) { + if (first[pi] < second[pj]) + pi++; + else if (first[pi] > second[pj]) + pj++; + else { + res[pos++] = first[pi]; + pi++; + pj++; + } + } + return pos; +} + +inline size_t SetDifference(int& first_arr, size_t first_size, int& second_arr, size_t second_size, int& res_arr){ + int* first = &first_arr; + int* second = &second_arr; + int* res = &res_arr; + size_t pi = 0, pj = 0, pos = 0; + while (pi != first_size && pj!=second_size){ + int left = first[pi]; + int right = second[pj]; + if(left<=right) pi++; + if(right<=left) pj++; + + if (left < right) { + res[pos++] = left; + } + } + while(pi=start && low < end && nums[low]==target) return true; + else return false; +} + +RTYPE FNAME(ARGS) +{ + CODE +} + +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { + m.def("run", &FNAME); +} \ No newline at end of file diff --git a/ext/__pycache__/__init__.cpython-311.pyc b/ext/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 2f669a6..0000000 Binary files a/ext/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/ext/__pycache__/set.cpython-311.pyc b/ext/__pycache__/set.cpython-311.pyc deleted file mode 100644 index ff2a72c..0000000 Binary files a/ext/__pycache__/set.cpython-311.pyc and /dev/null differ diff --git a/ext/set.py b/ext/set.py deleted file mode 100644 index ed28052..0000000 --- a/ext/set.py +++ /dev/null @@ -1,29 +0,0 @@ -from core.ast import * -class Set(ASTNode): - def __init__(self, storage): - super().__init__() - if isinstance(storage, Tensor): - self.storage = storage - else: - raise TypeError("init val of set must be a tensor") - - self.name = f'set_{self.storage.name}' - - t = Const(1, 'int') - for s in self.storage._size(): - t = t * s - self.nelem = Var(f'{self.name}_nelem', 'int', t) - - def num_elem(self): - return self.nelem - - def intersect(self, other): - assert type(other) == Set - return SetOp('intersect', self, other) - - -class SetOp(Set): - Types = ['intersect', 'difference'] - - def __init__(self, operators): - pass \ No newline at end of file diff --git a/helpers.py b/helpers.py new file mode 100644 index 0000000..480e8b4 --- /dev/null +++ b/helpers.py @@ -0,0 +1,278 @@ +from apps import compression +from core.asg import * +from core.ir import * +from cset.ast import * + +class ASGTraversal: + + def __init__(self, action): + self.action = action + + def _post_traverse(self, node, visited, res): + import batch + if not isinstance(node, ASTNode): + return + if node in visited: + return + else: + visited.add(node) + + if type(node) == Var: + self.action(node, res) + elif type(node) == Const: + if node.dtype == 'slice': + self._post_traverse(node.val.start, visited, res) + self._post_traverse(node.val.stop, visited, res) + self._post_traverse(node.val.step, visited, res) + elif type(node) == Tensor: + for s in node.fix_size: + self._post_traverse(s, visited, res) + for s in node.ref_size: + self._post_traverse(s, visited, res) + self.action(node, res) + elif type(node) == TensorOp: + for s in node.fix_size: + self._post_traverse(s, visited, res) + for s in node.ref_size: + self._post_traverse(s, visited, res) + for c in node.operators: + self._post_traverse(c, visited, res) + self.action(node, res) + elif type(node) == batch.ast.Batch: + self._post_traverse(node.base, visited, res) + elif type(node) == batch.ast.BatchOp: + for c in node.operators: + self._post_traverse(c, visited, res) + self.action(node, res) + # elif type(node) == compression.asg.Encoder: + # for s in node.fix_size: + # self._post_traverse(s, visited, res) + # for s in node.ref_size: + # self._post_traverse(s, visited, res) + # for c in node.operators: + # self._post_traverse(c, visited, res) + # self.action(node, res) + #cset extension + elif type(node) == Set: + self._post_traverse(node.nelem, visited, res) + self._post_traverse(node.storage, visited, res) + self.action(node, res) + elif type(node) == SetOp: + for c in node.operators: + self._post_traverse(c, visited, res) + self._post_traverse(node.nelem, visited, res) + self._post_traverse(node.storage, visited, res) + self.action(node, res) + + def __call__(self, ast): + visited = set() + res = [] + self._post_traverse(ast, visited, res) + return res + +def get_input_nodes(ast): + def action(node, res): + if type(node) == Var or type(node) == Tensor: + if node.is_arg: + res.append([node.name, node]) + + t = ASGTraversal(action) + return dict(t(ast)) + +def get_ir_of_size(size): + ir_size = [] + for s in size: + assert isinstance(s, ASTNode) + s._gen_ir() + ir_size.append(s.eval) + return ir_size + +def collect_ir(ast, ir): + import batch + def action(node, res): + if isinstance(node, (Tensor, Set)): + res.extend(node.decl) + res.extend(node.compute) + + t = ASGTraversal(action) + ir.extend(t(ast)) + + +def new_op(func): + def wrapper_func(*args, **kwargs): + res = func(*args, **kwargs) + res.attr[func.__name__] = True + return res + return wrapper_func + + +def get_obj(ir: (Indexing, Scalar)): + obj = ir + while hasattr(obj, 'dobject'): + obj = obj.dobject + return obj + +def get_val(ir): + if type(ir) == Literal: + return ir.val + elif type(ir) in (int, float): + return ir + else: + return ir + + +class IRTraversal: + + def __init__(self, action): + self.action = action + + def _preorder_traverse(self, stmt, res): + if type(stmt) == list or type(stmt) == tuple: + cond = self.action(stmt, res) + if cond[0]: + for l in stmt: + self._preorder_traverse(l, res) + elif type(stmt) == Loop: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.start, res) + if cond[1]: + self._preorder_traverse(stmt.end, res) + if cond[2]: + self._preorder_traverse(stmt.step, res) + if cond[3]: + self._preorder_traverse(stmt.body, res) + elif type(stmt) == Expr: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.left, res) + if cond[1]: + self._preorder_traverse(stmt.right, res) + elif type(stmt) == Assignment: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.lhs, res) + if cond[1]: + self._preorder_traverse(stmt.rhs, res) + elif type(stmt) == Ndarray: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.size, res) + elif type(stmt) == Scalar: + self.action(stmt, res) + elif type(stmt) == Indexing: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.dobject, res) + if cond[1]: + self._preorder_traverse(stmt.idx, res) + elif type(stmt) == Slice: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.start, res) + if cond[1]: + self._preorder_traverse(stmt.stop, res) + if cond[2]: + self._preorder_traverse(stmt.step, res) + elif type(stmt) == Math: + cond = self.action(stmt, res) + if cond[0]: + self._preorder_traverse(stmt.val, res) + + def __call__(self, ir): + res = [] + self._preorder_traverse(ir, res) + return res + + +def rebind_iterate(ir, old, new): + def action(stmt, res): + if type(stmt) == Indexing and type(stmt.idx) in (Scalar, Literal): + if stmt.idx.dobject_id == old.dobject_id: + stmt.idx = new + return [True, True, True, True] + + t = IRTraversal(action) + t(ir) + +def replace_all_ref(ir, old, new): + def action(stmt, res): + match stmt.__class__.__name__: + case 'Loop': + if stmt.start == old: + stmt.start = new + if stmt.end == old: + stmt.end = new + if stmt.step == old: + stmt.step = new + case 'Expr': + if stmt.left == old: + stmt.left = new + if stmt.right == old: + stmt.right = new + case 'Assignment': + if stmt.lhs == old: + stmt.lhs = new + if stmt.rhs == old: + stmt.rhs = new + case 'Indexing': + if stmt.dobject == old: + stmt.dobject = new + if stmt.idx == old: + stmt.idx = new + case 'Slice': + if stmt.start == old: + stmt.start = new + if stmt.stop == old: + stmt.stop = new + if stmt.step == old: + stmt.step = new + case 'Math': + if stmt.val == old: + stmt.val = new + return [True, True, True, True] + + t = IRTraversal(action) + t(ir) + +def ir_uses(ir, data): + def action(stmt, res): + if stmt == data or (isinstance(stmt, DObject) and stmt.dobject_id == data.dobject_id): + if len(res) == 0: + res.append(True) + else: + res[0] = True + if type(stmt) == Assignment: + if stmt.op != None: + return [True, True] + else: + return [False, True] + else: + return [True, True, True, True] + + t = IRTraversal(action) + r = t(ir) + if len(r) > 0 and r[0] == True: + return True + else: + return False + + +def ir_defs(ir, data): + def action(stmt, res): + if stmt == data or (isinstance(stmt, DObject) and stmt.dobject_id == data.dobject_id): + if len(res) == 0: + res.append(True) + else: + res[0] = True + if type(stmt) == Assignment: + return [True, False] + else: + return [True, True, True, True] + + t = IRTraversal(action) + r = t(ir) + if len(r) > 0 and r[0] == True: + return True + else: + return False \ No newline at end of file diff --git a/main.py b/main.py index ae8fce8..773b755 100644 --- a/main.py +++ b/main.py @@ -1,12 +1,9 @@ -from test import examples - +import sys +import os +# sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from test import examples +from cset.app import subgraph_matching if __name__ == "__main__": - examples.test_einsum2() - - - - - - + subgraph_matching.merge_search(sys.argv[1]) \ No newline at end of file diff --git a/opt/__pycache__/__init__.cpython-311.pyc b/opt/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index ee83480..0000000 Binary files a/opt/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/opt/__pycache__/loop.cpython-311.pyc b/opt/__pycache__/loop.cpython-311.pyc deleted file mode 100644 index 3e19ed2..0000000 Binary files a/opt/__pycache__/loop.cpython-311.pyc and /dev/null differ diff --git a/opt/loop.py b/opt/loop.py deleted file mode 100644 index 5eaf746..0000000 --- a/opt/loop.py +++ /dev/null @@ -1,40 +0,0 @@ -from core.ir import * - -def rebind_iterate(ir, old, new): - if type(ir) == list or type(ir) == tuple: - for l in ir: - rebind_iterate(l, old, new) - elif type(ir) == Loop: - rebind_iterate(ir.start, old, new) - rebind_iterate(ir.end, old, new) - rebind_iterate(ir.step, old, new) - rebind_iterate(ir.body, old, new) - elif type(ir) == Expr: - rebind_iterate(ir.left, old, new) - rebind_iterate(ir.right, old, new) - elif type(ir) == Assignment: - rebind_iterate(ir.lhs, old, new) - rebind_iterate(ir.rhs, old, new) - elif type(ir) == Ndarray: - rebind_iterate(ir.size, old, new) - elif type(ir) == Ref: - rebind_iterate(ir.dobject, old, new) - elif type(ir) == Index: - rebind_iterate(ir.dobject, old, new) - rebind_iterate(ir.ind_arr, old, new) - if type(ir.index) == Scalar: - if ir.index == old: - ir.index = new - else: - rebind_iterate(ir.index, old, new) - elif type(ir) == Slice: - rebind_iterate(ir.start, old, new) - rebind_iterate(ir.stop, old, new) - rebind_iterate(ir.step, old, new) - -def fuse(scope, loop1, loop2): - if type(loop1) == Loop and type(loop2) == Loop: - if loop1.start == loop2.start and loop1.end == loop2.end and loop1.step == loop2.step: - rebind_iterate(loop2.body, loop2.iterate, loop1.iterate) - loop1.body.extend(loop2.body[:]) - scope.remove(loop2) diff --git a/run/.tmp/cpu_code.cpp b/run/.tmp/cpu_code.cpp deleted file mode 100644 index 7f03386..0000000 --- a/run/.tmp/cpu_code.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include - -torch::Tensor einsum_a_b_(int d1, int d2, int d4, int d3, torch::Tensor obj_a, torch::Tensor obj_b) -{ - auto a = obj_a.accessor(); -auto b = obj_b.accessor(); -torch::Tensor obj_arr10 = torch::zeros({d1,d2,d4}, at::kFloat); -auto arr10 = obj_arr10.accessor(); -for (int _l0 = 0; _l0 < d1; _l0 += 1) { -for (int _l1 = 0; _l1 < d2; _l1 += 1) { -for (int _l2 = 0; _l2 < d3; _l2 += 1) { -for (int _l3 = 0; _l3 < d4; _l3 += 1) { -arr10[_l0][_l1][_l3] += a[_l0][_l1][_l2] * b[_l0][_l2][_l3]; -} -} -} -} -return obj_arr10; - -} - -PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { - m.def("run", &einsum_a_b_); -} \ No newline at end of file diff --git a/run/__pycache__/__init__.cpython-311.pyc b/run/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 5158da1..0000000 Binary files a/run/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/run/__pycache__/cpu.cpython-311.pyc b/run/__pycache__/cpu.cpython-311.pyc deleted file mode 100644 index ca10dfa..0000000 Binary files a/run/__pycache__/cpu.cpython-311.pyc and /dev/null differ diff --git a/run/cpu.py b/run/cpu.py index bc01b50..c22595c 100644 --- a/run/cpu.py +++ b/run/cpu.py @@ -1,9 +1,12 @@ -import torch from torch.utils.cpp_extension import load def compile_and_run(code, *args): f = open('run/.tmp/cpu_code.cpp', 'w') f.write(code) f.close() + module = load(name='module', sources=['run/.tmp/cpu_code.cpp'], extra_cflags=['-O9', '-fopenmp']) + return module.run(*args) + +def run(*args): module = load(name='module', sources=['run/.tmp/cpu_code.cpp']) return module.run(*args) \ No newline at end of file diff --git a/run/gpu.py b/run/gpu.py new file mode 100644 index 0000000..eeb7e44 --- /dev/null +++ b/run/gpu.py @@ -0,0 +1,8 @@ +from torch.utils.cpp_extension import load + +def compile_and_run(code, *args): + f = open('run/.tmp/cuda_code.cu', 'w') + f.write(code) + f.close() + module = load(name='module', sources=['run/.tmp/cuda_code.cu']) + return module.run(*args) \ No newline at end of file diff --git a/test/__pycache__/__init__.cpython-311.pyc b/test/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 7fe07b9..0000000 Binary files a/test/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/test/__pycache__/examples.cpython-311.pyc b/test/__pycache__/examples.cpython-311.pyc deleted file mode 100644 index 96412cf..0000000 Binary files a/test/__pycache__/examples.cpython-311.pyc and /dev/null differ diff --git a/test/examples.py b/test/examples.py index d646635..ac6ce13 100644 --- a/test/examples.py +++ b/test/examples.py @@ -1,27 +1,25 @@ import torch - -from core.ast2ir import * import run +from core.asg2ir import * import codegen -from core import helpers - +import helpers +from transform import fuse def test1(): def func(): - A = Tensor('a', (10, 10)) - B = Tensor('b', (10, 10)) - C = Tensor('c', (10, 10)) - return A + B - C + A = Tensor('a', (10, 20)) + B = Tensor('b', (10, 20)) + return A + B - 1 ast = func() - code = codegen.cpu.gen_cpp(gen_ir(ast)) + code = codegen.cpu.print_cpp(*fuse.fuse(ast._gen_ir())) + print(code) - A = torch.rand(10, 10) - B = torch.rand(10, 10) - C = torch.rand(10, 10) + A = torch.rand(10, 20) + B = torch.rand(10, 20) - d = run.cpu.compile_and_run(code, A, B, C) - print(torch.equal(A + B - C, d)) + d = run.cpu.compile_and_run(code, A, B) + print(torch.equal(A + B - 1, d)) def test2(): @@ -33,7 +31,7 @@ def func(): return m[i] + t ast = func() - code = codegen.cpu.gen_cpp(gen_ir(ast)) + code = codegen.cpu.print_cpp(ast._gen_ir()) n = 10 m = torch.rand(n, 2) @@ -60,7 +58,7 @@ def test3(): j = 1 t = torch.rand(A[i][j].shape) - d = run.cpu.compile_and_run(codegen.cpu.gen_cpp(gen_ir(ast)), A, i, j, t) + d = run.cpu.compile_and_run(codegen.cpu.print_cpp(gen_ir(ast)), A, i, j, t) print(torch.equal(A[i][j] + t, d)) @@ -72,7 +70,7 @@ def test4(): ast = A[i] + t ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10) i = 1 @@ -80,11 +78,6 @@ def test4(): d = run.cpu.compile_and_run(code, A, i, t) print(d, A[i] + t) -def f5(): - A = Tensor('a', (10, )) - t = Var('t', A.dtype) - - return A[0] + t def test6(): A = Tensor('a', (10, )) @@ -94,7 +87,7 @@ def test6(): ast = A[idx] + t ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10) idx = torch.IntTensor(5) t = torch.rand(A[idx].shape) @@ -113,7 +106,7 @@ def test7(): ast = A[idx] + t ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10, 10) idx = torch.IntTensor(5) t = torch.rand(A[idx].shape) @@ -126,20 +119,18 @@ def test7(): def test8(): A = Tensor('a', (10, 10)) idx = Tensor('idx', (5, ), dtype='int') - t = Tensor('t', A[0][idx]._size()) - ast = A[0][idx] + t + ast = A[0][idx] + 1 ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10, 10) idx = torch.IntTensor(5) - t = torch.rand(A[0][idx].shape) - d = run.cpu.compile_and_run(code, A, idx, t) + d = run.cpu.compile_and_run(code, A, idx) print(d) - print(torch.equal(d, A[0][idx] + t)) + print(torch.equal(d, A[0][idx] + 1)) def test9(): A = Tensor('a', (10, 10)) @@ -150,7 +141,7 @@ def test9(): ast = A[i][j] + t ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10, 10) i = torch.IntTensor(5) j = torch.IntTensor(4) @@ -172,7 +163,7 @@ def test10(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10, 11, 12) i = torch.IntTensor(5) x = 2 @@ -197,7 +188,7 @@ def test11(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10, 11, 12) i = torch.IntTensor(5) x = 2 @@ -227,7 +218,7 @@ def test12(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) s1 = 10 s2 = 20 s3 = 30 @@ -259,7 +250,7 @@ def test13(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) s1 = 10 s2 = 20 A = torch.rand(s1, s2) @@ -285,7 +276,7 @@ def test14(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) s1 = 10 A = torch.randint(5, 10, (s1, ), dtype=torch.int) B = torch.rand(A[0], A[1]) @@ -303,17 +294,12 @@ def test15(): A = Tensor('A', (100, )) B = Tensor('B', (100, )) - ast = A[1:10] + B[1:10] + ast = A[1:10] + A[0:9] + B[-1:8] print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) - A = torch.rand(100) - B = torch.rand(100) - d = run.cpu.compile_and_run(code, A, B) - - print(A[1:10] + B[1:10]) - print(torch.equal(A[1:10] + B[1:10], d)) + code = codegen.cpu.print_cpp(fuse.fuse(ir)) + print(code) @@ -327,7 +313,7 @@ def test16(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(100, 20) B = torch.rand(100, 20) d = run.cpu.compile_and_run(code, A, B) @@ -344,82 +330,365 @@ def test17(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(100, 20) B = torch.rand(100, 20) d = run.cpu.compile_and_run(code, A, B) print(A[1:10][:, 2:4] + B[1:10][:, 2:4]) + print(d) print(torch.equal(A[1:10][:, 2:4] + B[1:10][:, 2:4], d)) -def f18(): + +def test18(): A = Tensor('A', (100, 20)) - B = Tensor('B', (100, 20)) - b1 = Var('b1') - b2 = Var('b2') + B = Tensor('B', (100, ), dtype='int') + + ast = A[1:10][B[2:4]] + A[1:10][B[1:3]] + print(helpers.get_input_nodes(ast)) + ir = gen_ir(ast) + + code = codegen.cpu.print_cpp(ir) + A = torch.rand(100, 20) + B = torch.randint(0, 20, (100, )).to(torch.int32) + d = run.cpu.compile_and_run(code, A, B) - return A[b1:b2][2:4] + B[b1:b2][2:4] + print(A[1:10][:, B[2:4]] + A[1:10][:, B[1:3]]) + print(d) + print(torch.equal(A[1:10][:, B[2:4]] + A[1:10][:, B[1:3]], d)) def test19(): + nnodes = 100 + nedges = 300 + rowptr = Tensor('rowptr', (nnodes + 1, ), dtype='int') + colidx = Tensor('colidx', (nedges, ), dtype='int') + edge_list = Tensor('edge_list', (10, 2), dtype='int') + ast = colidx[rowptr[edge_list[0][0]]:rowptr[edge_list[0][1]]] + 1 + + print(helpers.get_input_nodes(ast)) + code = codegen.cpu.print_cpp(gen_ir(ast)) + print(code) + + +def test20(): + A = Tensor('A', (100, ), dtype='float') + x = Var('x', dtype='float') + res = A + 10 + code = codegen.cpu.print_cpp(gen_ir(res)) + print(code) + + +def test21(): A = Tensor('A', (100, 20)) B = Tensor('B', (100, 20)) - b1 = Var('b1') - b2 = Var('b2') - ast = A[:][b1:b2] + B[:][b1:b2] + ast = A[-1:8][10:20] + B[1:10][-2:8] print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) - A = torch.rand(100, 20) - B = torch.rand(100, 20) - b1 = 4 - b2 = 5 - d = run.cpu.compile_and_run(code, b2, b1, A, B) + code = codegen.cpu.print_cpp(ir) + print(code) - print(A[:, b1:b2] + B[:, b1:b2]) - print(torch.equal(A[:, b1:b2] + B[:, b1:b2], d)) -def test20(): - d = Var('d') - A = Tensor('A', (100, 20, d)) - B = Tensor('B', (100, 20, d)) - b1 = Var('b1') - b2 = Var('b2') - idx = Tensor('idx', (5, ), dtype='int') - ast = A[:][idx][b1:b2] + B[:][idx][b1:b2] - print(helpers.get_input_nodes(ast)) +def test_math1(): + input = Tensor('input', (50, 32), dtype='float') + res = input[0].abs() + code = codegen.cpu.print_cpp(gen_ir(res)) + print(code) + +def test_math2(): + input = Tensor('input', (50, 32), dtype='float') + input = setval(input, 0) + res = input[0].abs() + code = codegen.cpu.print_cpp(gen_ir(res)) + print(code) + + + + +def apply_test1(): + num_edges = 20 + length = 50 + rowidx = Tensor('rowidx', (num_edges,), dtype='int') + colidx = Tensor('colidx', (num_edges,), dtype='int') + edge_idx = Tensor('edge_idx', (length,), dtype='int') + + + def apply_func(edge_id): + v0 = rowidx[edge_id] + v1 = colidx[edge_id] + 1 + return v0 + v1 + + res = edge_idx.apply(apply_func) + code = codegen.cpu.print_cpp(gen_ir(res)) + print(helpers.get_input_nodes(res)) + + edge_idx = torch.randint(0, num_edges, (length,)).to(torch.int32) + rowidx = torch.randint(0, 1000, (num_edges,)).to(torch.int32) + colidx = torch.randint(0, 1000, (num_edges,)).to(torch.int32) + + d = run.cpu.compile_and_run(code, edge_idx, rowidx, colidx) + + res = torch.zeros_like(edge_idx) + for i in range(len(edge_idx)): + e = edge_idx[i] + v0 = rowidx[e] + v1 = colidx[e] + 1 + res[i] = v0 + v1 + + print(d) + print(res) + print(torch.equal(d, res)) + + + + + + +def apply_test2(): + d1 = Var('d1') + d2 = Var('d2') + A = Tensor('A', (d1, d2)) + B = Tensor('B', (d1, )) + ast = A.apply(lambda x: x+B, axis=1) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) - d = 7 - A = torch.rand(100, 20, d) - B = torch.rand(100, 20, d) - b1 = 4 - b2 = 5 - idx = torch.IntTensor(5) + code = codegen.cpu.print_cpp(ir) + print(code) - d = run.cpu.compile_and_run(code, b2, b1, d, A, idx, B) - print(A[:, idx][:, :, b1:b2] + B[:, idx][:, :, b1:b2]) - print(torch.equal(A[:, idx][:, :, b1:b2] + B[:, idx][:, :, b1:b2], d)) +def apply_test3(): + d1 = Var('d1') + d2 = Var('d2') + d3 = Var('d3') + A = Tensor('A', (d1, d2), dtype='int') + B = Tensor('B', (d2, ), dtype='int') + C = Tensor('C', (d3, ), dtype='int') + def apply_func(item): + def apply_func2(item2): + return C[item2] + B[item2] + + return item.apply(apply_func2) + + ast = A.apply(apply_func) + ir = gen_ir(ast) + + code = codegen.cpu.print_cpp(ir) + print(code) + + + +def apply_test4(): + d1 = Var('d1') + d2 = Var('d2') + d3 = Var('d3') + A = Tensor('A', (d1, d2), dtype='int') + B = Tensor('B', (d2, )) + + + def apply_func(item): + def apply_func2(item2): + return B[item2] + 1 + + return item.apply(apply_func2) + + ast = A.apply(apply_func) + ir = gen_ir(ast) + + code = codegen.cpu.print_cpp(ir) + print(code) + +def apply_test5(): + A = Tensor('A', (10, 20)) + B = Tensor('B', (10, 20)) + res = apply(lambda a, b: a + b, (A, B)) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + +def apply_test6(): + A = Tensor('A', (10, 20)) + B = Tensor('B', (10, 20)) + res = apply(lambda a, b: a + b, (A, B), (1, 1)) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + + + +def apply_test7(): + A = Tensor('A', (10, 20)) + B = Tensor('B', (20, )) + res = apply(lambda a, b: a + b, (A, B), (1, 0)) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + + +def apply_test8(): + A = Tensor('A', (10, 20)) + ofs = A.apply(lambda a: a.size()).prefix_sum(inclusive=False) + res = apply(lambda a: a + 1, (A, ), out_ofs=ofs) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + +def apply_test9(): + A = Tensor('A', (10, 20)) + ofs = A.apply(lambda a: a.size()).prefix_sum(inclusive=False) + res = apply(lambda i, j: A[i:j] + 1, (ofs[:ofs._size()[0]-1], ofs[1:]), out_ofs=ofs) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + + +def apply_test10(): + ndevs = 4 + nnodes = 1000 + dim = 512 + batch_size = 32 + buffer_size = nnodes // ndevs + buffers = Tensor('buffers', (ndevs, buffer_size, dim)) + dev_ids = Tensor('dev_ids', (nnodes, ), dtype='int') + buf_ofs = Tensor('buf_ofs', (nnodes, ), dtype='int') + + sampled_nodes = Tensor('sampled_nodes', (batch_size, ), dtype='int') + + devs = Tensor('devs', (ndevs, ), dtype='int') + + # rowptr is obtained by sorting sampled_nodes according to their dev_ids + rowptr = Tensor('rowptr', (ndevs+1, ), dtype='int') + + + res = devs.apply(lambda d: buffers[rowptr[d]:rowptr[d+1]] + 1) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + +def test_aggr1(): + A = Tensor('A', (10, 20)) + indices = Tensor('idx', (A._size()[0], ), dtype='int') + res = A.aggr_max(indices) + + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + + +def spmv(): + m = Var('m', 'int') + r = Var('r', 'int') + rowidx = Tensor('ridx', (m, ), 'int') + colidx = Tensor('cidx', (m, ), 'int') + val = Tensor('val', (m, ), 'float') + + c = Var('c', 'int') + y = Tensor('y', (c, 100), 'float') + + res = y[colidx] * val + res = res.aggr_sum(rowidx, size=r) + + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) + +def test_matmul(): + d1 = Var('d1') + d2 = Var('d2') + d3 = Var('d3') + A = Tensor('a', (d1, d2)) + B = Tensor('b', (d2, d3)) + C = A @ B + ir = gen_ir(C) + code = codegen.cpu.print_cpp(ir) + print(helpers.get_input_nodes(ir)) + + + d1 = 100 + d3 = 30 + d2 = 20 + A = torch.rand(d1, d2) + B = torch.rand(d2, d3) + res = run.cpu.compile_and_run(code, d1, d3, d2, A, B) + print(torch.equal(A @ B, res)) + + +def test_einsum1(): + d1 = Var('d1') + d2 = Var('d2') + A = Tensor('a', (d1, )) + B = Tensor('b', (d2, )) + C = einsum('i,j->ij', A, B) + ir = gen_ir(C) + code = codegen.cpu.print_cpp(ir) + print(helpers.get_input_nodes(ir)) + print(code) + + + d1 = 100 + d3 = 30 + d2 = 20 + A = torch.rand(d1, ) + B = torch.rand(d2, ) + res = run.cpu.compile_and_run(code, d1, d2, A, B) + print(torch.equal(torch.einsum('i,j->ij', A, B), res)) + + +def test_einsum2(): + d1 = Var('d1') + d2 = Var('d2') + d3 = Var('d3') + d4 = Var('d4') + A = Tensor('a', (d1, d2, d3)) + B = Tensor('b', (d1, d3, d4)) + C = einsum('bij,bjk->ik', A, B) + ir = gen_ir(C) + code = codegen.cpu.print_cpp(ir) + print(helpers.get_input_nodes(ir)) + print(code) + + + d1 = 8 + d2 = 20 + d3 = 30 + d4 = 10 + + A = torch.rand(d1, d2, d3) + B = torch.rand(d1, d3, d4) + res = run.cpu.compile_and_run(code, d2, d4, d1, d3, A, B) + # TODO: cuke computes differently than pytorch when 'ik' changes to 'ki', it seems pytorch does not differentiate the two + res1 = torch.einsum('bij,bjk->ik', A, B) + print(torch.norm(res1 - res)) + + +def einsum_test3(): + d = 20 + A = Tensor('a', (d, )) + B = Tensor('b', (d, )) + C = einsum('i,i->', A, B) + ir = gen_ir(C) + code = codegen.cpu.print_cpp(ir) + print(helpers.get_input_nodes(ir)) + print(code) -def f21(): - d = Var('d') - A = Tensor('A', (100, 20, d)) - B = Tensor('B', (50, 100, d+d)) - b1 = Var('b1') - b2 = Var('b2') - idx = Tensor('idx', (5, ), dtype='int') - return A[3:0:-1][idx][b1:b2] + B[3:0:-1][idx][b1:b2] + A = torch.rand(d, ) + B = torch.rand(d, ) + res = run.cpu.compile_and_run(code, A, B) + print(torch.einsum('i,i->', A, B), res) +def test_apply5(): + m = Var('nedges') + n = Var('nnodes') + rowidx = Tensor('rowidx', (m, ), dtype='int') + colidx = Tensor('colidx', (m, ), dtype='int') + rowptr = Tensor('rowptr', (n+1, ), dtype='int') + + v0 = rowidx[0] + v1 = colidx[1] + v0_nb = colidx[rowptr[v0]: rowptr[v0+1]].sum() + colidx[rowptr[v1]: rowptr[v1+1]].sum() + + code = codegen.cpu.print_cpp(v0_nb._gen_ir()) + print(code) + def test22(): d = Var('d') c = Var('c') @@ -434,7 +703,7 @@ def test22(): print(helpers.get_input_nodes(ast)) ir = gen_ir(ast) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) d = 7 c = 6 D = torch.randint(10, 15, (10, ), dtype=torch.int) @@ -458,7 +727,7 @@ def test23(): ir = gen_ir(ast) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) d1 = 10 d2 = 20 @@ -489,7 +758,7 @@ def backtrack2(v1): ir = gen_ir(res) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) nnodes = 100 max_d = 50 @@ -513,7 +782,7 @@ def test25(): ir = gen_ir(ast) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) d1 = 10 d2 = 20 @@ -529,112 +798,70 @@ def test26(): ast = A.sum(axis=0) ir = gen_ir(ast) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) A = torch.rand(10) init = 0.0 res = run.cpu.compile_and_run(code, A) print(res, torch.sum(A)) -def test27(): +def reduce_test1(): A = Tensor('a', (10, 20)) - init = Zeros(A[1]._size()) - ast = A.reduce(lambda a,b: a+b, init, axis=0) + # ast = A.reduce(lambda a,b: a+b, lambda res: setval(res, 0), axis=1) + ast = A.sum(axis=1) ir = gen_ir(ast) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) + print(code) A = torch.rand(10, 20) res = run.cpu.compile_and_run(code, A) - print(res - torch.sum(A, dim=0)) + print(res - torch.sum(A, dim=1)) -def test28(): +def reduce_test2(): A = Tensor('a', (10, 20, 5)) ast = A.sum(axis=1) ir = gen_ir(ast) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) + + print(code) A = torch.rand(10, 20, 5) res = run.cpu.compile_and_run(code, A) print(res - torch.sum(A, dim=1)) -def f29(): - - A = Set([1,2,3,4,5]) - B = Set([1,2,3,4]) - c = Var('lc', 'int') - - return A.num_elem() + B.num_elem() + c - - -def f30(): - d1 = Var('d1') - d2 = Var('d2') - T = Tensor('T', size=(10, d1, d2)) - A = Set(T) - B = Set([1,2,3,4]) - - return A.num_elem() + B.num_elem() - - -def f31(): - d1 = Var('d1') - d2 = Var('d2') - T = Tensor('T', size=(10, d1, d2)) - A = Set(T) - - return A - - -def f32(): - T = Tensor('T', val=[1,2,3,4]) - A = Set(T) - - return A - - -def f33(): - x = Var('x') - A = Set(x) - - return A.num_elem() + Set([1,2,3,4]).num_elem() - -def f34(): - x = Var('x') - A = Set(x) - - return A - -def f35(): - T = Tensor('T', size=(100, )) - A = Set(T[20:40]) - return A - -def f36(): - T = Tensor('T', size=(100, )) - A = Set(T[20:40]) - d = Var('d') - - return A.num_elem() + Set(T[40:]).num_elem() + Set(T[1:d]).num_elem() +def reduce_test3(): + A = Tensor('a', (10, 20, 5)) + ast = A.max(axis=1) + ir = gen_ir(ast) + print(helpers.get_input_nodes(ir)) + code = codegen.cpu.print_cpp(ir) -def spmv(): - m = Var('m', 'int') - r = Var('r', 'int') - rowptr = Tensor('ridx', (r+1, ), 'int') - colidx = Tensor('cidx', (m, ), 'int') - val = Tensor('val', (m, ), 'float') + A = torch.rand(10, 20, 5) + res = run.cpu.compile_and_run(code, A) + print(res - torch.max(A, dim=1).values) - c = Var('c', 'int') - y = Tensor('y', (c, ), 'float') - res = y[colidx] * val +def reduce_test4(): + A = Tensor('a', (10,)) + ast = A.max() + ir = gen_ir(ast) + print(helpers.get_input_nodes(ir)) + code = codegen.cpu.print_cpp(ir) + A = torch.rand(10, ) + res = run.cpu.compile_and_run(code, A) + print(res - torch.max(A)) - # need an aggr function +def test29(): + A = Tensor('A', (10, )) + B = Tensor('B', (10, ), dtype='int') + res = A[B[0]] + A[B[1]] - return res + code = codegen.cpu.print_cpp(gen_ir(res)) + print(code) def conv1d_v1(): @@ -642,82 +869,127 @@ def conv1d_v1(): ast = A[0:97] + A[1:98] + A[2:99] ir = gen_ir(ast) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) print(code) def conv1d_v2(width): A = Tensor('a', (100, )) - res = Zeros(A[width:]._size()) + res = Tensor('t', A[width:]._size()).setval(0) for i in range(width): res = res + A[i:i+97] ir = gen_ir(res) print(helpers.get_input_nodes(ir)) - code = codegen.cpu.gen_cpp(ir) + code = codegen.cpu.print_cpp(ir) print(code) -def test_matmul(): - d1 = Var('d1') - d2 = Var('d2') - d3 = Var('d3') - A = Tensor('a', (d1, d2)) - B = Tensor('b', (d2, d3)) - C = A @ B - ir = gen_ir(C) - code = codegen.cpu.gen_cpp(ir) - print(helpers.get_input_nodes(ir)) +def cmp_test(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (10, 20)) + res = bigger(A, B) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) - d1 = 100 - d3 = 30 - d2 = 20 - A = torch.rand(d1, d2) - B = torch.rand(d2, d3) - res = run.cpu.compile_and_run(code, d1, d3, d2, A, B) - print(torch.equal(A @ B, res)) +def scan_test1(): + A = Tensor('a', (10, )) + res = A.prefix_sum() -def test_einsum1(): - d1 = Var('d1') - d2 = Var('d2') - A = Tensor('a', (d1, )) - B = Tensor('b', (d2, )) - C = einsum('i,j->ij', A, B) - ir = gen_ir(C) - code = codegen.cpu.gen_cpp(ir) - print(helpers.get_input_nodes(ir)) - # print(code) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) +def scan_test2(): + A = Tensor('a', (10, 20)) + res = A.prefix_sum() - d1 = 100 - d3 = 30 - d2 = 20 - A = torch.rand(d1, ) - B = torch.rand(d2, ) - res = run.cpu.compile_and_run(code, d1, d2, A, B) - print(torch.equal(torch.einsum('i,j->ij', A, B), res)) + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) +def redirect_test(): + data = Tensor('data', (10, 20), dtype='float') + res = (data + 1) >> data + code = codegen.cpu.print_cpp(res._gen_ir()) + print(code) -def test_einsum2(): - d1 = Var('d1') - d2 = Var('d2') - d3 = Var('d3') - d4 = Var('d4') - A = Tensor('a', (d1, d2, d3)) - B = Tensor('b', (d1, d3, d4)) - C = einsum('bij,bjk->bik', A, B) - ir = gen_ir(C) - code = codegen.cpu.gen_cpp(ir) - print(helpers.get_input_nodes(ir)) +def prefix_sum1(): + data = Tensor('data', (10, ), dtype='float') + psum = data.prefix_sum() + code = codegen.cpu.print_cpp(psum._gen_ir()) print(code) - d1 = 8 - d2 = 20 - d3 = 30 - d4 = 10 +def prefix_sum2(): + data = Tensor('data', (10, ), dtype='float') + psum = data.prefix_sum(inclusive=False) + code = codegen.cpu.print_cpp(psum._gen_ir()) + print(code) - A = torch.rand(d1, d2, d3) - B = torch.rand(d1, d3, d4) - res = run.cpu.compile_and_run(code, d1, d2, d4, d3, A, B) - res1 = torch.einsum('bij,bjk->bik', A, B) - print(torch.norm(res1 - res)) \ No newline at end of file +def prefix_sum3(): + data = Tensor('data', (10, 30), dtype='float') + psum = data.prefix_sum(axis=0, inclusive=False) + code = codegen.cpu.print_cpp(psum._gen_ir()) + print(code) + +def prefix_sum4(): + data = Tensor('data', (10, 30), dtype='float') + psum = data.prefix_sum(axis=1) + code = codegen.cpu.print_cpp(psum._gen_ir()) + print(code) + + + +if __name__ == "__main__": + # basic tensor indexing tests + # test1() + # test2() + # test3() + # test4() + # test6() + # test7() + # test8() + # test9() + # test10() + # test11() + # test12() + # test13() + # test14() + # some slicing test + # test15() + # test16() + # test17() + # test18() + # test19() + # test20() + # test21() + # compression() + # test_math1() + # test_math2() + # apply_test1() + # apply_test2() + # apply_test3() + # apply_test4() + # apply_test5() + # apply_test6() + # apply_test7() + apply_test8() + apply_test9() + # apply_test10() + # reduce_test1() + # reduce_test2() + # reduce_test3() + # reduce_test4() + # test_aggr1() + # spmv() + # test_einsum1() + # test_einsum2() + # einsum_test3() + # apply_test2() + # test_apply5() + # test27() + # scan_test1() + # scan_test2() + # cmp_test() + # prefix_sum1() + # prefix_sum2() + # prefix_sum3() + # prefix_sum4() \ No newline at end of file diff --git a/transform/__init__.py b/transform/__init__.py new file mode 100644 index 0000000..181dded --- /dev/null +++ b/transform/__init__.py @@ -0,0 +1,2 @@ +import transform.fuse +import transform.interchange \ No newline at end of file diff --git a/transform/fuse.py b/transform/fuse.py new file mode 100644 index 0000000..ac866b4 --- /dev/null +++ b/transform/fuse.py @@ -0,0 +1,220 @@ +from core.asg import * +from core.ir import * +import codegen +from helpers import get_obj, get_val, ASGTraversal, rebind_iterate, IRTraversal, ir_defs, ir_uses + + + +class fuser: + def __init__(self): + self.rules = [] + + def register(self, rule): + self.rules.append(rule) + + def fuse(self, node): + def action(node, res): + for r in self.rules: + r(node, res) + + t = ASGTraversal(action) + t(node) + return node + + +def _find_defs(ir, data): + def action(stmt, res): + if type(stmt) == Assignment and get_obj(stmt.lhs) == data: + res.append(stmt) + + return [True, True, True, True] + + t = IRTraversal(action) + return t(ir) + + +def _replace_arrindex_with_scalar(ir, old, new): + if type(ir) == list or type(ir) == tuple: + for l in ir: + _replace_arrindex_with_scalar(l, old, new) + elif type(ir) == Loop: + _replace_arrindex_with_scalar(ir.body, old, new) + elif type(ir) == Expr: + if type(ir.left) in (Indexing, Scalar): + obj = get_obj(ir.left) + if obj == old: + ir.left = new + else: + _replace_arrindex_with_scalar(ir.left, old, new) + if type(ir.right) in (Indexing, Scalar): + obj = get_obj(ir.right) + if obj == old: + ir.right = new + else: + _replace_arrindex_with_scalar(ir.right, old, new) + elif type(ir) == Assignment: + if type(ir.lhs) in (Indexing, Scalar): + obj = get_obj(ir.lhs) + if obj == old: + ir.lhs = new + else: + _replace_arrindex_with_scalar(ir.lhs, old, new) + if type(ir.rhs) in (Indexing, Scalar): + obj = get_obj(ir.rhs) + if obj == old: + ir.rhs = new + else: + _replace_arrindex_with_scalar(ir.rhs, old, new) + elif type(ir) == Slice: + if type(ir.start) in (Indexing, Scalar): + obj = get_obj(ir.start) + if obj == old: + ir.start = new + else: + _replace_arrindex_with_scalar(ir.start, old, new) + + if type(ir.stop) in (Indexing, Scalar): + obj = get_obj(ir.stop) + if obj == old: + ir.stop = new + else: + _replace_arrindex_with_scalar(ir.stop, old, new) + + if type(ir.step) in (Indexing, Scalar): + obj = get_obj(ir.step) + if obj == old: + ir.step = new + else: + _replace_arrindex_with_scalar(ir.step, old, new) + + elif type(ir) == Math: + if type(ir.val) in (Indexing, Scalar): + obj = get_obj(ir.val) + if obj == old: + ir.val = new + else: + _replace_arrindex_with_scalar(ir.val, old, new) + +def match_orders(order1, order2): + if len(order1) == len(order2): + for i in range(len(order1)): + x1 = get_val(order1[i][1].start) + y1 = get_val(order1[i][1].end) + z1 = get_val(order1[i][1].step) + x2 = get_val(order2[i][1].start) + y2 = get_val(order2[i][1].end) + z2 = get_val(order2[i][1].step) + if x1 == None or (x1 != x2 and x1.dobject_id != x2.dobject_id): + return False + if y1 == None or (y1 != y2 and y1.dobject_id != y2.dobject_id): + return False + if z1 == None and (z1 != z2 and z1.dobject_id != z2.dobject_id): + return False + return True + else: + return False + +def merge_loops(order1, order2, data, astnode): + if match_orders(order1, order2): + for i in range(len(order1)): + nl = order1[i][1] + ol = order2[i][1] + rebind_iterate(order2[-1][1], ol.iterate, nl.iterate) + if i < len(order1) - 1: + nl.body[0:0] = [s for s in ol.body if s != order2[i+1][1]] + if 'loop_ofs' in ol.attr: + if 'loop_ofs' in nl.attr: + nl.attr['loop_ofs'] = max(nl.attr['loop_ofs'], ol.attr['loop_ofs']) + else: + nl.attr['loop_ofs'] = ol.attr['loop_ofs'] + + dfs = _find_defs(order2[-1][1].body, data) + if len(dfs) < 1: + return False + + if ir_uses(dfs[-1], data): + df = Scalar(data.dtype) + astnode.decl.append(Decl(df)) + else: + df = dfs[-1].rhs + order2[-1][1].body = [s for s in order2[-1][1].body if not ir_defs(s, data)] + + j = len(order1[-1][1].body) + for i in range(len(order1[-1][1].body)): + if ir_uses(order1[-1][1].body[i], data): + j = i + break + order1[-1][1].body[j:j] = order2[-1][1].body + + _replace_arrindex_with_scalar(order1[-1][1].body, data, df) + return True + return False + + +def fuse_operators(op1, order1, op2): + if merge_loops(order1, op2.output_order, op2.eval, op1): + op2.compute.clear() + op2.decl = [d for d in op2.decl if d.dobject != op2.eval] + +def basic_rule(node, res): + if type(node) == TensorOp and node.op_type in elementwise_op: + if type(node.operators[0]) == TensorOp and len(node.operators[0].ref_by) == 1: + if node.operators[0].op_type in (elementwise_op + ['setval', 'apply', 'einsum']): + fuse_operators(node, node.input_orders[0], node.operators[0]) + + if node.op_type in binary_elw: + if type(node.operators[1]) == TensorOp and len(node.operators[1].ref_by) == 1: + if node.operators[1].op_type in (elementwise_op + ['setval', 'apply', 'einsum']): + fuse_operators(node, node.input_orders[1], node.operators[1]) + + +def test1(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (10, 20)) + C = Tensor('c', (10, 20)) + D = Tensor('d', (10, 20)) + + A = setval(A, 1) + t1 = A + B + t2 = (C - D).abs() + res1 = t1 + t2 + ir1 = res1._gen_ir() + f = fuser() + f.register(basic_rule) + code = codegen.cpu.print_cpp(f.fuse(ir1)) + print(code) + + +def test2(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (20, 30)) + C = Tensor('c', (10, 30)) + D = Tensor('d', (10, 30)) + t1 = (A @ B).abs() + t2 = (C - D).abs() + res1 = t1 + t2 + ir1 = res1._gen_ir() + f = fuser() + f.register(basic_rule) + code = codegen.cpu.print_cpp(f.fuse(ir1)) + print(code) + +def test3(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (20, 30)) + C = Tensor('c', (10, 20)) + D = Tensor('d', (20, 30)) + t1 = (A @ B).abs() + t2 = (C @ D).round() + res1 = t1 + t2 + ir1 = res1._gen_ir() + f = fuser() + f.register(basic_rule) + code = codegen.cpu.print_cpp(f.fuse(ir1)) + print(code) + + +if __name__ == "__main__": + test1() + test2() + test3() \ No newline at end of file diff --git a/transform/interchange.py b/transform/interchange.py new file mode 100644 index 0000000..c7abb3c --- /dev/null +++ b/transform/interchange.py @@ -0,0 +1,14 @@ +import codegen.cpu +from core.ir import * +from core.asg import * +from helpers import rebind_iterate + + +def interchange(node, new_order): + assert isinstance(node, TensorOp) + assert node.op_type in elementwise_op + ['apply', 'einsum', 'setval'] + + + + + diff --git a/transform/parallelize.py b/transform/parallelize.py new file mode 100644 index 0000000..65db844 --- /dev/null +++ b/transform/parallelize.py @@ -0,0 +1,206 @@ +from helpers import ASGTraversal, IRTraversal, get_obj, replace_all_ref +from core.asg import * +from core.ir import * +from transform.fuse import fuser, basic_rule +import codegen + + + + +def _get_ref_idx(ir, v): + def _get_scalar_idx(idx): + assert type(idx) == Indexing + def action(stmt, res): + if type(stmt) == Scalar: + res.append(stmt) + elif type(stmt) == Ndarray: + return [False] + + return [True, True, True, True] + + t = IRTraversal(action) + res = t(idx) + return res + + def action(stmt, res): + if type(stmt) == Indexing: + if get_obj(stmt).dobject_id == v.dobject_id: + if len(res) == 0: + res.append(_get_scalar_idx(stmt)) + return [False, False] + else: + return [False, True] + elif type(stmt) in (Scalar, Ndarray): + if stmt.dobject_id == v.dobject_id: + if len(res) == 0: + res.append([]) + + return [True, True, True, True] + + + t = IRTraversal(action) + res = t(ir) + if len(res) > 0: + return res[0] + else: + return None + +def _set_loop_levels(nodeir, num_procs): + def action(ir, res): + if type(ir) in (list, tuple): + return [True] + if type(ir) == Loop: + if not 'plevel' in ir.attr and not 'nprocs' in ir.attr: + ir.attr['plevel'] = 0 + ir.attr['nprocs'] = [(num_procs[0], ir)] + ir.attr['tid'] = Scalar('int', 'tid0') + for stmt in ir.body: + if type(stmt) == Loop: + if 'plevel' in ir.attr and ir.attr['plevel'] + 1 < len(num_procs): + stmt.attr['plevel'] = ir.attr['plevel'] + 1 + stmt.attr['nprocs'] = ir.attr['nprocs'] + [(num_procs[stmt.attr['plevel']], stmt)] + stmt.attr['tid'] = Scalar('int', f"tid{stmt.attr['plevel']}") + else: + stmt.attr['nprocs'] = ir.attr['nprocs'] + return [False, False, False, True] + + return [False, False, False, False] + + t = IRTraversal(action) + t(nodeir) + +def _isolate_vars(node): + + def find_all_vars(node, res): + res.extend([d.dobject for d in node.decl]) + + t1 = ASGTraversal(find_all_vars) + vars = t1(node) + + def find_data_races(ir, new_vars): + if len(new_vars) == 0: + new_vars.append({}) + if type(ir) == Loop: + if 'nprocs' in ir.attr: + for stmt in ir.body: + if type(stmt) == Assignment: + for v in vars: + if v not in new_vars[0]: + idx = _get_ref_idx(stmt.lhs, v) + if idx != None: + ext_size = [] + loop_info = [] + for l in ir.attr['nprocs']: + indexed = False + for ii in idx: + if ('output_axis' in l[1].attr and l[1].attr['output_axis'] == ii.attr['loop'].attr['output_axis']) or ii.dobject_id == l[1].iterate.dobject_id: + indexed = True + break + if not indexed: + ext_size.append(l[0]) + loop_info.append(l[1]) + if len(ext_size) > 0: + new_vars[0][v] = (Ndarray(v.dtype, ext_size + v.size), loop_info) + + return [True, True, True, True] + + t2 = IRTraversal(find_data_races) + new_vars = t2(node.compute)[0] + return new_vars + +def parallelize(asg, num_procs=[16]): + + def action(node, res): + if len(res) == 0: + res.append({}) + if len(node.compute) != 0: + _set_loop_levels(node.compute, num_procs) + res[0].update(_isolate_vars(node)) + + t = ASGTraversal(action) + to_replace = t(asg)[0] + + def replace_decls(node, res): + decl = [] + for d in node.decl: + v = d.dobject.dobject_id + replace_with = None + for n in to_replace: + if n.dobject_id == v: + replace_with = to_replace[n][0] + break + if replace_with != None: + decl.append(Decl(replace_with)) + else: + decl.append(d) + node.decl = decl + + t3 = ASGTraversal(replace_decls) + t3(asg) + + def replace_refs(node, res): + if len(node.compute) > 0: + for n in to_replace: + new_var = to_replace[n][0] + for l in to_replace[n][1]: + new_var = Indexing(new_var, l.attr['tid']) + replace_all_ref(node.compute, n, new_var) + + t4 = ASGTraversal(replace_refs) + t4(asg) + + return asg + + +def test1(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (10, 20)) + C = Tensor('c', (10, 20)) + D = Tensor('d', (10, 20)) + + A = setval(A, 1) + t1 = A + B + t2 = (C - D).abs() + res1 = t1 + t2 + ir1 = res1._gen_ir() + f = fuser() + f.register(basic_rule) + parallelize(f.fuse(ir1)) + code = codegen.cpu.print_cpp(ir1) + print(code) + +def test2(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (20, 30)) + C = Tensor('c', (10, 30)) + D = Tensor('d', (10, 30)) + t1 = (A @ B).abs() + t2 = (C - D).abs() + res1 = t1 + t2 + ir1 = res1._gen_ir() + f = fuser() + f.register(basic_rule) + ir1 = parallelize(f.fuse(ir1)) + code = codegen.cpu.print_cpp(ir1) + print(code) + +def test3(): + A = Tensor('a', (10, 20)) + B = Tensor('b', (20, 30)) + C = Tensor('c', (10, 20)) + D = Tensor('d', (20, 30)) + t1 = (A @ B).abs() + t2 = (C @ D).round() + res1 = t1 + t2 + ir1 = res1._gen_ir() + f = fuser() + f.register(basic_rule) + ir1 = parallelize(f.fuse(ir1)) + print(codegen.cpu.print_cpp(ir1)) + + + +if __name__ == "__main__": + # test1() + # test2() + test3() \ No newline at end of file diff --git a/transform/reorder.py b/transform/reorder.py new file mode 100644 index 0000000..6abe8ef --- /dev/null +++ b/transform/reorder.py @@ -0,0 +1,103 @@ +import codegen.cpu +from core.ir import * +from core.asg import * +from helpers import rebind_iterate + + +def output_reorder(node, dim_order, tile_size): + assert isinstance(node, TensorOp) + assert node.op_type in arith_op or node.op_type in math_op or node.op_type in ('einsum', 'setval') + assert len(node.compute) == 1 + assert len(dim_order) == len(tile_size) and len(dim_order) > 0 + loop = node.compute[0] + + for i in range(len(node._size())): + # add the nontiled dimensions + if not i in dim_order: + dim_order.append(i) + tile_size.append(0) + + assert sorted(dim_order) == list(range(len(dim_order))) + + loop_nest = [] + l = loop + for i in range(len(dim_order)): + loop_nest.append(l) + l = loop.body[0] + + tile_loops = [] + reorder_nest = [] + new_indices = [] + output_order = [] + for i in range(len(dim_order)): + l = loop_nest[dim_order[i]] + if tile_size[i] > 0: + tl = Loop(l.start, l.end, tile_size[i], []) + if tile_size[i] == 1: + new_indices.append(tl.iterate) + else: + tl = None + tile_loops.append(tl) + reorder_nest.append(l) + if tl != None: + output_order.append((dim_order[i], tl)) + + for i in range(len(reorder_nest)): + ts = tile_size[i] + if ts > 1: + tl = tile_loops[i] + new_l = Loop(tl.iterate, Expr(Expr(tl.iterate, ts, '+'), l.end,'smaller'), l.step, []) + elif ts == 1: + new_l = None + else: + l = reorder_nest[i] + new_l = Loop(l.start, l.end, l.step, []) + if new_l != None: + tile_loops.append(new_l) + new_indices.append(new_l.iterate) + output_order.append((dim_order[i], new_l)) + + tile_loops = [l for l in tile_loops if l != None] + + for i in range(len(tile_loops)-1, 0, -1): + tile_loops[i-1].body.append(tile_loops[i]) + + body = loop_nest[-1].body + + for i in range(len(dim_order)): + old_itr = reorder_nest[i].iterate + new_itr = new_indices[i] + rebind_iterate(body, old_itr, new_itr) + + tile_loops[-1].body.extend(body) + node.compute = [tile_loops[0]] + node.output_order = output_order + + + + +if __name__ == "__main__": + A = Tensor('a', (10, 20)) + B = Tensor('b', (20, 30)) + C = Tensor('c', (10, 30)) + res1 = A @ B + ir1 = res1._gen_ir() + print(res1.output_order) + code = codegen.cpu.print_cpp(ir1) + print(code) + + TS1 = 5 + TS2 = 10 + + output_reorder(ir1, [0, 1], [TS1, TS2]) + print(res1.output_order) + code = codegen.cpu.print_cpp(ir1) + print(code) + + # res2 = res1 + C + # ir2 = res2._gen_ir() + # print(res2.input_orders) + # print(res2.output_order) + + + diff --git a/transform/split.py b/transform/split.py new file mode 100644 index 0000000..b5f1380 --- /dev/null +++ b/transform/split.py @@ -0,0 +1,73 @@ +import codegen.cpu +from core.ir import * +from core.asg import * +from helpers import rebind_iterate, IRTraversal + + +def _replace_loop(ir, old, new): + def action(stmt, res): + if type(stmt) in (list, tuple): + if old in stmt: + idx = stmt.index(old) + stmt[idx] = new + return [False] + return [True, True, True, True] + + t = IRTraversal(action) + t(ir) + +def split(node, tile_size, axis): + assert isinstance(node, TensorOp) + assert node.op_type in elementwise_op + ['apply', 'einsum', 'setval'] + assert type(tile_size) == int and tile_size > 0 + assert type(axis) == int and axis >= 0 + + loop = None + order_idx = None + for i in range(len(node.output_order)): + if node.output_order[i][0] == axis: + loop = node.output_order[i][1] + order_idx = i + break + + if loop != None: + new_loops = [] + tl = Loop(loop.start, loop.end, tile_size, []) + tl.attr['output_axis'] = loop.attr['output_axis'] + new_loops.append((axis, tl)) + if tile_size > 1: + new_l = Loop(tl.iterate, Expr(Expr(tl.iterate, tile_size, '+'), loop.end,'smaller'), loop.step, []) + new_l.attr['output_axis'] = tl.attr['output_axis'] + tl.body.append(new_l) + new_loops.append((axis, new_l)) + + body = loop.body[:] + rebind_iterate(body, loop.iterate, new_loops[-1][1].iterate) + new_loops[-1][1].body.extend(body) + _replace_loop(node.compute, loop, new_loops[0][1]) + node.output_order[order_idx] = (axis, new_loops[-1][1]) + if len(new_loops) > 1: + for i in range(len(new_loops)-2, -1, -1): + node.output_order.insert(order_idx, (axis, new_loops[i][1])) + + +if __name__ == "__main__": + A = Tensor('a', (10, 20)) + B = Tensor('b', (20, 30)) + C = Tensor('c', (10, 30)) + res1 = A @ B + ir1 = res1._gen_ir() + print(res1.output_order) + code = codegen.cpu.print_cpp(ir1) + print(code) + + TS1 = 5 + split(ir1, TS1, 0) + print(res1.output_order) + code = codegen.cpu.print_cpp(ir1) + print(code) + + split(ir1, 2, 1) + print(res1.output_order) + code = codegen.cpu.print_cpp(ir1) + print(code)