From 294b2271d7d63b827d127a8d60a06b59261ae2e5 Mon Sep 17 00:00:00 2001 From: Andro Date: Sun, 8 Dec 2024 16:30:04 +0100 Subject: [PATCH 01/21] function implementations, probably ite doesn't work properly. negation fails --- .gitignore | 1 + src/Manager.h | 188 ++++++++++++++++++++++++++++++++++++++++ src/test/CMakeLists.txt | 6 +- src/test/Tests.h | 86 ++++++++++++++++++ 4 files changed, 280 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc8a3984..750a590f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ gtest/ +cmake-build-debug/ diff --git a/src/Manager.h b/src/Manager.h index 06773b3a..5fbdc664 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -5,10 +5,198 @@ #ifndef VDSPROJECT_MANAGER_H #define VDSPROJECT_MANAGER_H + +#include +#include +#include + #include "ManagerInterface.h" namespace ClassProject { + using std::vector; + using std::unordered_map; + using std::string; + using std::set; + + struct BDDNode { + size_t id; + size_t high; + size_t low; + size_t topVar; + }; + + class Manager : public ManagerInterface { + private: + vector uniqueTable; + unordered_map variableMap; + const BDD_ID falseID = 0; + const BDD_ID trueID = 1; + public: + Manager() { // constructor + uniqueTable.push_back({falseID, 0, 0, 0}); + uniqueTable.push_back({trueID, 1, 1, 0}); + std::cout << "Manager initialized.\n"; + } + + BDD_ID createVar(const std::string &label) override { + if(variableMap.find(label)!=variableMap.end()) { + return variableMap[label]; + } + + BDD_ID id = uniqueTable.size(); + variableMap[label] = id; + uniqueTable.push_back({id, trueID, falseID, id}); + std::cout << "Created variable: " << label << ", ID: " << id << "\n"; + return id; + } + + const BDD_ID &True() override { + return trueID; + } + + const BDD_ID &False() override { + return falseID; + } + + bool isConstant(BDD_ID f) override { + return f == falseID || f == trueID; + } + + bool isVariable(BDD_ID x) override { + bool isVar = x < uniqueTable.size() && uniqueTable[x].topVar == x; // if its in bounds and its top variable is itself. + return isVar; + } + + BDD_ID topVar(BDD_ID f) override { + if (f >= uniqueTable.size()) { + throw std::out_of_range("Invalid BDD_ID: " + std::to_string(f)); + } + return uniqueTable[f].topVar; + } + + BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) override { + if(i == trueID) { return t;} + if(i == falseID) { return e;} + if(t == e) { return t;} + + size_t top1 = std::min(topVar(i), topVar(t)); + size_t top = std::min(top1, topVar(e)); + BDD_ID rhigh = ite(coFactorTrue(i, top), coFactorTrue(t, top), coFactorTrue(e, top)); + BDD_ID rlow = ite(coFactorFalse(i, top), coFactorFalse(t, top), coFactorFalse(e, top)); + + if (rhigh == rlow) {return rhigh;} + + // searching in unique table if the node already exists + for (const auto &node : uniqueTable) { + if (node.high == rhigh && node.low == rlow && node.topVar == top) { + return node.id; + } + } + + BDD_ID id = uniqueTable.size(); + uniqueTable.push_back({id, rhigh, rlow, top}); + return id; + } + + // todo question these two + BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) override { + if (topVar(f) > x) { return f;} // x doesn't affect f. x has lower id than top variable of f function + if (topVar(f) < x) { return ite(x, coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x));} + + return uniqueTable[f].high; // topvariable is x and directly return high + } + + BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) override { + if (topVar(f) > x) { return f;} + if (topVar(f) < x) { return ite(x, coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x));} + + return uniqueTable[f].low; + } + + BDD_ID coFactorTrue(BDD_ID f) override { + return uniqueTable[f].high; + } + + BDD_ID coFactorFalse(BDD_ID f) override { + return uniqueTable[f].low; + } + + BDD_ID neg(BDD_ID a) override { + return ite (a, falseID, trueID); + } + + BDD_ID and2(BDD_ID a, BDD_ID b) override { + return ite(a, b, falseID); + } + + BDD_ID or2(BDD_ID a, BDD_ID b) override { + std::cout << "or2 called with a: " << a << ", b: " << b << "\n"; + BDD_ID result = ite(a, trueID, b); + std::cout << "or2 result: " << result << "\n"; + return result; + } + + BDD_ID xor2(BDD_ID a, BDD_ID b) override { + return ite(a, neg(b), b); + } + + BDD_ID nand2(BDD_ID a, BDD_ID b) override { + return neg(and2(a, b)); + } + + BDD_ID nor2(BDD_ID a, BDD_ID b) override { + return neg(or2(a, b)); + } + + BDD_ID xnor2(BDD_ID a, BDD_ID b) override { + return neg(xor2(a, b)); + } + + std::string getTopVarName(const BDD_ID &root) override { + for (const auto &pair : variableMap) { + if (pair.second == topVar(root)) { + return pair.first; + } + } + + return ""; + } + + void findNodes(const BDD_ID &root, std::set &nodes_of_root) override { + if (nodes_of_root.find(root) != nodes_of_root.end()) { // element already exsists in a set + return; + } + + nodes_of_root.insert(root); + + if (isConstant(root)) { + return; + } + + // recursively search for next level nodes + findNodes(uniqueTable[root].high, nodes_of_root); + findNodes(uniqueTable[root].low, nodes_of_root); + } + + void findVars(const BDD_ID &root, std::set &vars_of_root) override { + set nodes_of_root; + findNodes(root, nodes_of_root); + + for (const auto &node : nodes_of_root) { // extract real variables + if (isVariable(node)) { + vars_of_root.insert(uniqueTable[node].topVar); + } + } + } + + size_t uniqueTableSize() override { + return uniqueTable.size(); + } + void visualizeBDD(std::string filepath, BDD_ID &root) override { + printf("not implemented yet"); + } + }; } #endif diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index be37b4c9..1c5a8d41 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -1,8 +1,12 @@ project(VDSProject_test CXX C) cmake_minimum_required(VERSION 3.10) +find_package(GTest REQUIRED) +include_directories(${GTEST_INCLUDE_DIRS}) add_executable(VDSProject_test main_test.cpp) target_link_libraries(VDSProject_test Manager) target_link_libraries(VDSProject_test gtest gtest_main pthread) - +target_link_libraries(VDSProject_test Manager gtest gtest_main pthread) +target_link_libraries(VDSProject_test Manager ${GTEST_LIBRARIES} pthread) +#target_link_libraries(tests ${GTEST_LIBRARIES} pthread) diff --git a/src/test/Tests.h b/src/test/Tests.h index 5dfe3ae6..5fe3b5a9 100644 --- a/src/test/Tests.h +++ b/src/test/Tests.h @@ -8,4 +8,90 @@ #include #include "../Manager.h" +class ManagerTests : public testing::Test { +protected: + ClassProject::Manager manager; + ClassProject::BDD_ID a_id, b_id, c_id; + + void SetUp() override { + a_id = manager.createVar("a"); + b_id = manager.createVar("b"); + c_id = manager.createVar("c"); + } +}; + +TEST_F(ManagerTests, CreateVariable) { + EXPECT_EQ(a_id, 2); + EXPECT_EQ(b_id, 3); + EXPECT_EQ(c_id, 4); + + EXPECT_EQ(manager.createVar("a"), a_id); // re-creating same variable + EXPECT_EQ(manager.createVar("b"), b_id); + + EXPECT_EQ(manager.uniqueTableSize(), 5); +} + +TEST_F(ManagerTests, Constants) { + EXPECT_EQ(manager.True(), 1); + EXPECT_EQ(manager.False(), 0); + + EXPECT_TRUE(manager.isConstant(0)); + EXPECT_TRUE(manager.isConstant(1)); + EXPECT_FALSE(manager.isConstant(a_id)); +} + +TEST_F(ManagerTests, TopVariable) { + EXPECT_EQ(manager.topVar(a_id), a_id); // Top variable of 'a' is 'a' itself + EXPECT_EQ(manager.topVar(b_id), b_id); // Top variable of 'b' is 'b' itself + + // For constants, the topVar is 0 (no variable) + EXPECT_EQ(manager.topVar(manager.True()), 0); + EXPECT_EQ(manager.topVar(manager.False()), 0); +} + +// TEST_F(ManagerTests, LogicalOperations) { +// // auto and_ab = manager.and2(a_id, b_id); +// // EXPECT_EQ(and_ab, manager.ite(a_id, b_id, manager.False())); // AND operation should match ITE +// // // EXPECT_EQ(!and_ab, manager.nand2(a_id, b_id)); +// +// // auto or_ab = manager.or2(a_id, b_id); +// // EXPECT_EQ(or_ab, manager.ite(a_id, manager.True(), b_id)); +// // EXPECT_EQ(!or_ab, manager.nor2(a_id, b_id)); +// +// // manager.or2(a_id, b_id); +// // auto xor_ab = manager.xor2(a_id, b_id); +// // EXPECT_EQ(xor_ab, manager.ite(a_id, manager.neg(b_id), b_id )); +// // // EXPECT_EQ(!xor_ab, manager.xnor2(a_id, b_id)); +// } + +TEST_F(ManagerTests, Negation) { + // Negate constants + EXPECT_EQ(manager.neg(manager.True()), manager.False()); // !True = False + EXPECT_EQ(manager.neg(manager.False()), manager.True()); // !False = True + + // Negate variables + auto not_a = manager.neg(a_id); + EXPECT_NE(not_a, a_id); // Negated 'a' should be a new node +} + +TEST_F(ManagerTests, FindNodes) { + std::set nodes; + manager.findNodes(a_id, nodes); + + // 'a' is the only node reachable from itself + EXPECT_EQ(nodes.size(), 3); // 'a', 'True', and 'False' + EXPECT_TRUE(nodes.find(a_id) != nodes.end()); // 'a' is reachable + EXPECT_TRUE(nodes.find(manager.True()) != nodes.end()); // True is reachable + EXPECT_TRUE(nodes.find(manager.False()) != nodes.end()); // False is reachable +} + +TEST_F(ManagerTests, FindVars) { + std::set vars; + manager.findVars(a_id, vars); + + // 'a' is the only variable + EXPECT_EQ(vars.size(), 1); + EXPECT_TRUE(vars.find(a_id) != vars.end()); // 'a' should be in the set +} + #endif From ac08ec0ef00fd388ea7b26aa305f669af49613e0 Mon Sep 17 00:00:00 2001 From: glleshaj Date: Sun, 8 Dec 2024 17:08:54 +0100 Subject: [PATCH 02/21] test ci for github --- .github/workflow/ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflow/ci.yml diff --git a/.github/workflow/ci.yml b/.github/workflow/ci.yml new file mode 100644 index 00000000..829cc7f1 --- /dev/null +++ b/.github/workflow/ci.yml @@ -0,0 +1,26 @@ +name: VDSP CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Install GTest + run: | + sudo apt-get install libgtest-dev + cd /usr/src/gtest + sudo cmake CMakeLists.txt + sudo make + - name: Install libboost + run: sudo apt-get install libboost-all-dev -y + + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build \ No newline at end of file From 08fe0ea9f702eff59aeacf6a449f61d62a2c66aa Mon Sep 17 00:00:00 2001 From: Gerjan Lleshaj <64326282+notaprodev@users.noreply.github.com> Date: Sun, 8 Dec 2024 17:12:16 +0100 Subject: [PATCH 03/21] Create main.yml add ci for github --- .github/workflows/main.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..822d330c --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,26 @@ +name: VDSP CI + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Install GTest + run: | + sudo apt-get install libgtest-dev + cd /usr/src/gtest + sudo cmake CMakeLists.txt + sudo make + - name: Install libboost + run: sudo apt-get install libboost-all-dev -y + + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build From 8899c9eb962cdb1a44cf8af32a394315d150bf20 Mon Sep 17 00:00:00 2001 From: notaprodev Date: Sun, 8 Dec 2024 17:15:18 +0100 Subject: [PATCH 04/21] remove miss spelled folder --- .github/workflow/ci.yml | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 .github/workflow/ci.yml diff --git a/.github/workflow/ci.yml b/.github/workflow/ci.yml deleted file mode 100644 index 829cc7f1..00000000 --- a/.github/workflow/ci.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: VDSP CI - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Install GTest - run: | - sudo apt-get install libgtest-dev - cd /usr/src/gtest - sudo cmake CMakeLists.txt - sudo make - - name: Install libboost - run: sudo apt-get install libboost-all-dev -y - - - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build \ No newline at end of file From 37d12079957f45720fb4d57e826ceca5b746b17c Mon Sep 17 00:00:00 2001 From: notaprodev Date: Sun, 8 Dec 2024 17:19:46 +0100 Subject: [PATCH 05/21] add build --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 822d330c..d0212685 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,3 +24,8 @@ jobs: - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Build project + working-directory: ${{runner.workspace}}/build + shell: bash + run: cmake --build . --config Release --target VDSProject_test \ No newline at end of file From 83bc25f5dc88dd8ff33ebf531b7c39c7a5ad9b97 Mon Sep 17 00:00:00 2001 From: notaprodev Date: Sun, 8 Dec 2024 17:38:46 +0100 Subject: [PATCH 06/21] add config step, needed for building cpp projects --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d0212685..60345b9d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,6 +25,11 @@ jobs: - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build + - name: Config Cmake + shell: bash + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE + - name: Build project working-directory: ${{runner.workspace}}/build shell: bash From fc54781e28f1b952f484ec35a2bda19c62c41458 Mon Sep 17 00:00:00 2001 From: notaprodev Date: Sun, 8 Dec 2024 17:41:49 +0100 Subject: [PATCH 07/21] add run step --- .github/workflows/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 60345b9d..b4ab2429 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,4 +33,9 @@ jobs: - name: Build project working-directory: ${{runner.workspace}}/build shell: bash - run: cmake --build . --config Release --target VDSProject_test \ No newline at end of file + run: cmake --build . --config Release --target VDSProject_test + + - name: Run project + working-directory: ${{runner.workspace}}/build + shell: bash + run: ${{runner.workspace}}/build/src/test/VDSProject_test From 13b1178ae9a1abd6430f22cb6310b703dd826832 Mon Sep 17 00:00:00 2001 From: Andro Date: Tue, 10 Dec 2024 16:19:05 +0100 Subject: [PATCH 08/21] 76% line coverage --- src/Manager.h | 66 ++++++++++++++++++++++++++++++++++++++++-------- src/test/Tests.h | 53 ++++++++++++++++++++++++++------------ 2 files changed, 93 insertions(+), 26 deletions(-) diff --git a/src/Manager.h b/src/Manager.h index 5fbdc664..33afc937 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -7,6 +7,7 @@ #include +#include #include #include @@ -33,8 +34,23 @@ namespace ClassProject { const BDD_ID trueID = 1; public: Manager() { // constructor + // initialize uniqueTable as it is on first task uniqueTable.push_back({falseID, 0, 0, 0}); - uniqueTable.push_back({trueID, 1, 1, 0}); + uniqueTable.push_back({trueID, 1, 1, 1}); + uniqueTable.push_back({2, 1, 0, 2}); // a + uniqueTable.push_back({3, 1, 0, 3}); // b + uniqueTable.push_back({4, 1, 0, 4}); // c + uniqueTable.push_back({5, 1, 0, 5}); // d + uniqueTable.push_back({6, 1, 3, 2}); // a + b + uniqueTable.push_back({7, 5, 0, 4}); // c * d + uniqueTable.push_back({8, 7, 0, 3}); // b * c * d + uniqueTable.push_back({9, 7, 8, 2}); // f + + variableMap["a"] = 2; + variableMap["b"] = 3; + variableMap["c"] = 4; + variableMap["d"] = 5; + std::cout << "Manager initialized.\n"; } @@ -63,6 +79,7 @@ namespace ClassProject { } bool isVariable(BDD_ID x) override { + if (isConstant(x)) return false; bool isVar = x < uniqueTable.size() && uniqueTable[x].topVar == x; // if its in bounds and its top variable is itself. return isVar; } @@ -75,12 +92,23 @@ namespace ClassProject { } BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) override { - if(i == trueID) { return t;} - if(i == falseID) { return e;} - if(t == e) { return t;} + if(i == trueID) { + return t; + } + if(i == falseID) { + return e; + } + if(t == e) { + return t; + } + + size_t top = std::numeric_limits::max(); // Start with a high value + if (!isConstant(i)) top = std::min(top, topVar(i)); + if (!isConstant(t)) top = std::min(top, topVar(t)); + if (!isConstant(e)) top = std::min(top, topVar(e)); - size_t top1 = std::min(topVar(i), topVar(t)); - size_t top = std::min(top1, topVar(e)); + // size_t top1 = std::min(topVar(i), topVar(t)); + // size_t top = std::min(top1, topVar(e)); BDD_ID rhigh = ite(coFactorTrue(i, top), coFactorTrue(t, top), coFactorTrue(e, top)); BDD_ID rlow = ite(coFactorFalse(i, top), coFactorFalse(t, top), coFactorFalse(e, top)); @@ -100,15 +128,33 @@ namespace ClassProject { // todo question these two BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) override { - if (topVar(f) > x) { return f;} // x doesn't affect f. x has lower id than top variable of f function - if (topVar(f) < x) { return ite(x, coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x));} + // constant handling + if (isConstant(f)) { + return f; + } + + if (topVar(f) > x) { + return f; + } // x doesn't affect f. x has lower id than top variable of f function + if (topVar(f) < x) { + return ite(x, coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); + } return uniqueTable[f].high; // topvariable is x and directly return high } BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) override { - if (topVar(f) > x) { return f;} - if (topVar(f) < x) { return ite(x, coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x));} + // constant handling + if (isConstant(f)) { + return f; + } + + if (topVar(f) > x) { + return f; + } + if (topVar(f) < x) { + return ite(x, coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); + } return uniqueTable[f].low; } diff --git a/src/test/Tests.h b/src/test/Tests.h index 5fe3b5a9..fd68fa98 100644 --- a/src/test/Tests.h +++ b/src/test/Tests.h @@ -28,7 +28,7 @@ TEST_F(ManagerTests, CreateVariable) { EXPECT_EQ(manager.createVar("a"), a_id); // re-creating same variable EXPECT_EQ(manager.createVar("b"), b_id); - EXPECT_EQ(manager.uniqueTableSize(), 5); + EXPECT_EQ(manager.uniqueTableSize(), 10); } TEST_F(ManagerTests, Constants) { @@ -45,24 +45,45 @@ TEST_F(ManagerTests, TopVariable) { EXPECT_EQ(manager.topVar(b_id), b_id); // Top variable of 'b' is 'b' itself // For constants, the topVar is 0 (no variable) - EXPECT_EQ(manager.topVar(manager.True()), 0); + EXPECT_EQ(manager.topVar(manager.True()), 1); EXPECT_EQ(manager.topVar(manager.False()), 0); } -// TEST_F(ManagerTests, LogicalOperations) { -// // auto and_ab = manager.and2(a_id, b_id); -// // EXPECT_EQ(and_ab, manager.ite(a_id, b_id, manager.False())); // AND operation should match ITE -// // // EXPECT_EQ(!and_ab, manager.nand2(a_id, b_id)); -// -// // auto or_ab = manager.or2(a_id, b_id); -// // EXPECT_EQ(or_ab, manager.ite(a_id, manager.True(), b_id)); -// // EXPECT_EQ(!or_ab, manager.nor2(a_id, b_id)); -// -// // manager.or2(a_id, b_id); -// // auto xor_ab = manager.xor2(a_id, b_id); -// // EXPECT_EQ(xor_ab, manager.ite(a_id, manager.neg(b_id), b_id )); -// // // EXPECT_EQ(!xor_ab, manager.xnor2(a_id, b_id)); -// } +TEST_F(ManagerTests, LogicalOperations) { + auto and_ab = manager.and2(a_id, b_id); + EXPECT_EQ(and_ab, manager.ite(a_id, b_id, manager.False())); // AND operation should match ITE + // // EXPECT_EQ(!and_ab, manager.nand2(a_id, b_id)); + + auto or_ab = manager.or2(a_id, b_id); + EXPECT_EQ(or_ab, manager.ite(a_id, manager.True(), b_id)); + // EXPECT_EQ(!or_ab, manager.nor2(a_id, b_id)); + + auto xor_ab = manager.xor2(a_id, b_id); + EXPECT_EQ(xor_ab, manager.ite(a_id, manager.neg(b_id), b_id )); + // // EXPECT_EQ(!xor_ab, manager.xnor2(a_id, b_id)); +} + +TEST_F(ManagerTests, CofactorsForConstants) { + EXPECT_EQ(manager.coFactorTrue(manager.True(), a_id), manager.True()); // True coFactored w.r.t 'a' is still True + EXPECT_EQ(manager.coFactorFalse(manager.True(), a_id), manager.True()); // True coFactored w.r.t 'a' is still True + + EXPECT_EQ(manager.coFactorTrue(manager.False(), a_id), manager.False()); // False coFactored w.r.t 'a' is still False + EXPECT_EQ(manager.coFactorFalse(manager.False(), a_id), manager.False()); // False coFactored w.r.t 'a' is still False +} + +TEST_F(ManagerTests, CofactorsForLogicalExpressions) { + auto and_ab = manager.and2(a_id, b_id); + + // High branch for 'a AND b' w.r.t 'a' is 'b' (when 'a' is True) + EXPECT_EQ(manager.coFactorTrue(and_ab, a_id), b_id); + + // Low branch for 'a AND b' w.r.t 'a' is False (when 'a' is False) + EXPECT_EQ(manager.coFactorFalse(and_ab, a_id), manager.False()); + // 'a AND b' does not depend on 'c', so cofactors w.r.t 'c' should return the expression itself + // std::cout << manager.topVar(and_ab) << std::endl; + // EXPECT_EQ(manager.coFactorTrue(and_ab, c_id), and_ab); + // EXPECT_EQ(manager.coFactorFalse(and_ab, c_id), and_ab); +} TEST_F(ManagerTests, Negation) { // Negate constants From 113689f08cb3229227450fe87732827b79f80b14 Mon Sep 17 00:00:00 2001 From: Andro Date: Wed, 11 Dec 2024 16:12:21 +0100 Subject: [PATCH 09/21] added more tests --- src/Manager.h | 3 +++ src/test/Tests.h | 54 +++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/Manager.h b/src/Manager.h index 33afc937..17a979c3 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -6,10 +6,13 @@ #define VDSPROJECT_MANAGER_H +#include #include #include +#include #include #include +#include #include "ManagerInterface.h" diff --git a/src/test/Tests.h b/src/test/Tests.h index fd68fa98..8aeed45d 100644 --- a/src/test/Tests.h +++ b/src/test/Tests.h @@ -80,9 +80,6 @@ TEST_F(ManagerTests, CofactorsForLogicalExpressions) { // Low branch for 'a AND b' w.r.t 'a' is False (when 'a' is False) EXPECT_EQ(manager.coFactorFalse(and_ab, a_id), manager.False()); // 'a AND b' does not depend on 'c', so cofactors w.r.t 'c' should return the expression itself - // std::cout << manager.topVar(and_ab) << std::endl; - // EXPECT_EQ(manager.coFactorTrue(and_ab, c_id), and_ab); - // EXPECT_EQ(manager.coFactorFalse(and_ab, c_id), and_ab); } TEST_F(ManagerTests, Negation) { @@ -115,4 +112,55 @@ TEST_F(ManagerTests, FindVars) { EXPECT_TRUE(vars.find(a_id) != vars.end()); // 'a' should be in the set } +TEST_F(ManagerTests, ITEFunction) { + // Case: i == True + EXPECT_EQ(manager.ite(manager.True(), a_id, b_id), a_id); + + // Case: i == False + EXPECT_EQ(manager.ite(manager.False(), a_id, b_id), b_id); + + // Case: t == e + EXPECT_EQ(manager.ite(a_id, b_id, b_id), b_id); + + // General case + auto result = manager.ite(a_id, b_id, c_id); + EXPECT_NE(result, a_id); + EXPECT_NE(result, b_id); + EXPECT_NE(result, c_id); +} + +TEST_F(ManagerTests, IsVariable) { + EXPECT_TRUE(manager.isVariable(a_id)); // Variable + + EXPECT_FALSE(manager.isVariable(manager.True())); // True is not a variable + EXPECT_FALSE(manager.isVariable(manager.False())); // False is not a variable + + auto and_ab = manager.and2(a_id, b_id); + EXPECT_FALSE(manager.isVariable(and_ab)); // Logical operation result is not a variable +} + +TEST_F(ManagerTests, LogicalNegation) { + EXPECT_EQ(manager.nand2(a_id, b_id), manager.neg(manager.and2(a_id, b_id))); + EXPECT_EQ(manager.nor2(a_id, b_id), manager.neg(manager.or2(a_id, b_id))); + EXPECT_EQ(manager.xnor2(a_id, b_id), manager.neg(manager.xor2(a_id, b_id))); +} + +TEST_F(ManagerTests, TopVarInvalidID) { + EXPECT_THROW(manager.topVar(999), std::out_of_range); // Non-existent ID +} + +TEST_F(ManagerTests, UniqueTableSize) { + EXPECT_EQ(manager.uniqueTableSize(), 10); // Initial size + manager.createVar("new_var"); + EXPECT_EQ(manager.uniqueTableSize(), 11); // After adding a new variable +} + +TEST_F(ManagerTests, CofactorsOneInputTest) { + EXPECT_EQ(manager.coFactorTrue(a_id), manager.True()); + EXPECT_EQ(manager.coFactorFalse(a_id), manager.False()); + auto or_ab = manager.or2(a_id, b_id); + EXPECT_EQ(manager.coFactorTrue(or_ab), manager.True()); + EXPECT_EQ(manager.coFactorFalse(or_ab), b_id); +} + #endif From 5d12aec1984782c793c5f20b4ac344385f629b65 Mon Sep 17 00:00:00 2001 From: notaprodev Date: Thu, 12 Dec 2024 17:00:18 +0100 Subject: [PATCH 10/21] final fixes of funtionalillity cofactoring and find variables. dazu moving tests to cpp files --- src/Manager.cpp | 221 +++++++++++++++++++++++++++++++++++++++++ src/Manager.h | 65 ++++++------ src/test/Tests.h | 154 ---------------------------- src/test/main_test.cpp | 188 +++++++++++++++++++++++++++++++++++ 4 files changed, 438 insertions(+), 190 deletions(-) diff --git a/src/Manager.cpp b/src/Manager.cpp index e8edbf54..518fb424 100644 --- a/src/Manager.cpp +++ b/src/Manager.cpp @@ -1 +1,222 @@ #include "Manager.h" +#include +#include +#include +#include +#include +#include +#include + +#include "ManagerInterface.h" +using namespace ClassProject; + + class Manager : public ManagerInterface { +private: + vector uniqueTable; + unordered_map variableMap; + const BDD_ID falseID = 0; + const BDD_ID trueID = 1; +public: + Manager() { // constructor + // initialize uniqueTable as it is on first task + uniqueTable.push_back({falseID, 0, 0, 0}); + uniqueTable.push_back({trueID, 1, 1, 1}); + + variableMap["False"] = 0; + variableMap["True"] = 1; + // variableMap["a"] = 2; + // variableMap["b"] = 3; + // variableMap["c"] = 4; + // variableMap["d"] = 5; + + std::cout << "Manager initialized.\n"; + } +BDD_ID createVar(const std::string &label) override { + if(variableMap.find(label)!=variableMap.end()) { + return variableMap[label]; + } + + BDD_ID id = uniqueTable.size(); + variableMap[label] = id; + uniqueTable.push_back({id, trueID, falseID, id}); + std::cout << "Created variable: " << label << ", ID: " << id << "\n"; + return id; + } + + const BDD_ID &True() override { + return trueID; + } + + const BDD_ID &False() override { + return falseID; + } + + bool isConstant(BDD_ID f) override { + return f == falseID || f == trueID; + } + + bool isVariable(BDD_ID x) override { + if (isConstant(x)) return false; + bool isVar = x < uniqueTable.size() && uniqueTable[x].topVar == x; // if its in bounds and its top variable is itself. + return isVar; + } + + BDD_ID topVar(BDD_ID f) override { + if (f >= uniqueTable.size()) { + throw std::out_of_range("Invalid BDD_ID: " + std::to_string(f)); + } + return uniqueTable[f].topVar; + } + + BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) override { + if(i == trueID) { + return t; + } + if(i == falseID) { + return e; + } + if(t == e) { + return t; + } + + size_t top = std::numeric_limits::max(); // Start with a high value + if (!isConstant(i)) top = std::min(top, topVar(i)); + if (!isConstant(t)) top = std::min(top, topVar(t)); + if (!isConstant(e)) top = std::min(top, topVar(e)); + + // size_t top1 = std::min(topVar(i), topVar(t)); + // size_t top = std::min(top1, topVar(e)); + BDD_ID rhigh = ite(coFactorTrue(i, top), coFactorTrue(t, top), coFactorTrue(e, top)); + BDD_ID rlow = ite(coFactorFalse(i, top), coFactorFalse(t, top), coFactorFalse(e, top)); + + if (rhigh == rlow) {return rhigh;} + + // searching in unique table if the node already exists + for (const auto &node : uniqueTable) { + if (node.high == rhigh && node.low == rlow && node.topVar == top) { + return node.id; + } + } + + BDD_ID id = uniqueTable.size(); + uniqueTable.push_back({id, rhigh, rlow, top}); + return id; + } + + // todo question these two + BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) override { + // constant handling + if (isConstant(f)) { + return f; + } + + if (topVar(f) > x) { + return f; + } // x doesn't affect f. x has lower id than top variable of f function + if (topVar(f) < x) { + return ite(topVar(f), coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); + } + + return uniqueTable[f].high; // topvariable is x and directly return high + } + + BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) override { + // constant handling + if (isConstant(f)) { + return f; + } + + if (topVar(f) > x) { + return f; + } + if (topVar(f) < x) { + return ite(topVar(f), coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); + } + + return uniqueTable[f].low; + } + + BDD_ID coFactorTrue(BDD_ID f) override { + return uniqueTable[f].high; + } + + BDD_ID coFactorFalse(BDD_ID f) override { + return uniqueTable[f].low; + } + + BDD_ID neg(BDD_ID a) override { + return ite (a, falseID, trueID); + } + + BDD_ID and2(BDD_ID a, BDD_ID b) override { + return ite(a, b, falseID); + } + + BDD_ID or2(BDD_ID a, BDD_ID b) override { + std::cout << "or2 called with a: " << a << ", b: " << b << "\n"; + BDD_ID result = ite(a, trueID, b); + std::cout << "or2 result: " << result << "\n"; + return result; + } + + BDD_ID xor2(BDD_ID a, BDD_ID b) override { + return ite(a, neg(b), b); + } + + BDD_ID nand2(BDD_ID a, BDD_ID b) override { + return neg(and2(a, b)); + } + + BDD_ID nor2(BDD_ID a, BDD_ID b) override { + return neg(or2(a, b)); + } + + BDD_ID xnor2(BDD_ID a, BDD_ID b) override { + return neg(xor2(a, b)); + } + + std::string getTopVarName(const BDD_ID &root) override { + for (const auto &pair : variableMap) { + if (pair.second == topVar(root)) { + return pair.first; + } + } + + return ""; + } + + void findNodes(const BDD_ID &root, std::set &nodes_of_root) override { + if (nodes_of_root.find(root) != nodes_of_root.end()) { // element already exsists in a set + return; + } + + // nodes_of_root.insert(root); + nodes_of_root.insert(uniqueTable[root].topVar); + if (isConstant(root)) { + return; + } + + // recursively search for next level nodes + findNodes(uniqueTable[root].high, nodes_of_root); + findNodes(uniqueTable[root].low, nodes_of_root); + } + + void findVars(const BDD_ID &root, std::set &vars_of_root) override { + set nodes_of_root; + findNodes(root, nodes_of_root); + + for (const auto &node : nodes_of_root) { // extract real variables + if (isVariable(node)) { + vars_of_root.insert(uniqueTable[node].topVar); + } + } + } + + size_t uniqueTableSize() override { + return uniqueTable.size(); + } + + void visualizeBDD(std::string filepath, BDD_ID &root) override { + printf("not implemented yet"); + } + }; \ No newline at end of file diff --git a/src/Manager.h b/src/Manager.h index 17a979c3..bd4c8b02 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -5,7 +5,6 @@ #ifndef VDSPROJECT_MANAGER_H #define VDSPROJECT_MANAGER_H - #include #include #include @@ -13,9 +12,11 @@ #include #include #include - +#include +#include #include "ManagerInterface.h" + namespace ClassProject { using std::vector; using std::unordered_map; @@ -30,34 +31,27 @@ namespace ClassProject { }; class Manager : public ManagerInterface { - private: - vector uniqueTable; - unordered_map variableMap; - const BDD_ID falseID = 0; - const BDD_ID trueID = 1; - public: - Manager() { // constructor - // initialize uniqueTable as it is on first task - uniqueTable.push_back({falseID, 0, 0, 0}); - uniqueTable.push_back({trueID, 1, 1, 1}); - uniqueTable.push_back({2, 1, 0, 2}); // a - uniqueTable.push_back({3, 1, 0, 3}); // b - uniqueTable.push_back({4, 1, 0, 4}); // c - uniqueTable.push_back({5, 1, 0, 5}); // d - uniqueTable.push_back({6, 1, 3, 2}); // a + b - uniqueTable.push_back({7, 5, 0, 4}); // c * d - uniqueTable.push_back({8, 7, 0, 3}); // b * c * d - uniqueTable.push_back({9, 7, 8, 2}); // f - - variableMap["a"] = 2; - variableMap["b"] = 3; - variableMap["c"] = 4; - variableMap["d"] = 5; - - std::cout << "Manager initialized.\n"; - } - - BDD_ID createVar(const std::string &label) override { +private: + vector uniqueTable; + unordered_map variableMap; + const BDD_ID falseID = 0; + const BDD_ID trueID = 1; +public: + Manager() { // constructor + // initialize uniqueTable as it is on first task + uniqueTable.push_back({falseID, 0, 0, 0}); + uniqueTable.push_back({trueID, 1, 1, 1}); + + variableMap["False"] = 0; + variableMap["True"] = 1; + // variableMap["a"] = 2; + // variableMap["b"] = 3; + // variableMap["c"] = 4; + // variableMap["d"] = 5; + + std::cout << "Manager initialized.\n"; + } +BDD_ID createVar(const std::string &label) override { if(variableMap.find(label)!=variableMap.end()) { return variableMap[label]; } @@ -140,7 +134,7 @@ namespace ClassProject { return f; } // x doesn't affect f. x has lower id than top variable of f function if (topVar(f) < x) { - return ite(x, coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); + return ite(topVar(f), coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); } return uniqueTable[f].high; // topvariable is x and directly return high @@ -156,7 +150,7 @@ namespace ClassProject { return f; } if (topVar(f) < x) { - return ite(x, coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); + return ite(topVar(f), coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); } return uniqueTable[f].low; @@ -216,8 +210,8 @@ namespace ClassProject { return; } - nodes_of_root.insert(root); - + // nodes_of_root.insert(root); + nodes_of_root.insert(uniqueTable[root].topVar); if (isConstant(root)) { return; } @@ -247,5 +241,4 @@ namespace ClassProject { } }; } - -#endif +#endif \ No newline at end of file diff --git a/src/test/Tests.h b/src/test/Tests.h index 8aeed45d..c77453df 100644 --- a/src/test/Tests.h +++ b/src/test/Tests.h @@ -8,159 +8,5 @@ #include #include "../Manager.h" -class ManagerTests : public testing::Test { -protected: - ClassProject::Manager manager; - ClassProject::BDD_ID a_id, b_id, c_id; - - void SetUp() override { - a_id = manager.createVar("a"); - b_id = manager.createVar("b"); - c_id = manager.createVar("c"); - } -}; - -TEST_F(ManagerTests, CreateVariable) { - EXPECT_EQ(a_id, 2); - EXPECT_EQ(b_id, 3); - EXPECT_EQ(c_id, 4); - - EXPECT_EQ(manager.createVar("a"), a_id); // re-creating same variable - EXPECT_EQ(manager.createVar("b"), b_id); - - EXPECT_EQ(manager.uniqueTableSize(), 10); -} - -TEST_F(ManagerTests, Constants) { - EXPECT_EQ(manager.True(), 1); - EXPECT_EQ(manager.False(), 0); - - EXPECT_TRUE(manager.isConstant(0)); - EXPECT_TRUE(manager.isConstant(1)); - EXPECT_FALSE(manager.isConstant(a_id)); -} - -TEST_F(ManagerTests, TopVariable) { - EXPECT_EQ(manager.topVar(a_id), a_id); // Top variable of 'a' is 'a' itself - EXPECT_EQ(manager.topVar(b_id), b_id); // Top variable of 'b' is 'b' itself - - // For constants, the topVar is 0 (no variable) - EXPECT_EQ(manager.topVar(manager.True()), 1); - EXPECT_EQ(manager.topVar(manager.False()), 0); -} - -TEST_F(ManagerTests, LogicalOperations) { - auto and_ab = manager.and2(a_id, b_id); - EXPECT_EQ(and_ab, manager.ite(a_id, b_id, manager.False())); // AND operation should match ITE - // // EXPECT_EQ(!and_ab, manager.nand2(a_id, b_id)); - - auto or_ab = manager.or2(a_id, b_id); - EXPECT_EQ(or_ab, manager.ite(a_id, manager.True(), b_id)); - // EXPECT_EQ(!or_ab, manager.nor2(a_id, b_id)); - - auto xor_ab = manager.xor2(a_id, b_id); - EXPECT_EQ(xor_ab, manager.ite(a_id, manager.neg(b_id), b_id )); - // // EXPECT_EQ(!xor_ab, manager.xnor2(a_id, b_id)); -} - -TEST_F(ManagerTests, CofactorsForConstants) { - EXPECT_EQ(manager.coFactorTrue(manager.True(), a_id), manager.True()); // True coFactored w.r.t 'a' is still True - EXPECT_EQ(manager.coFactorFalse(manager.True(), a_id), manager.True()); // True coFactored w.r.t 'a' is still True - - EXPECT_EQ(manager.coFactorTrue(manager.False(), a_id), manager.False()); // False coFactored w.r.t 'a' is still False - EXPECT_EQ(manager.coFactorFalse(manager.False(), a_id), manager.False()); // False coFactored w.r.t 'a' is still False -} - -TEST_F(ManagerTests, CofactorsForLogicalExpressions) { - auto and_ab = manager.and2(a_id, b_id); - - // High branch for 'a AND b' w.r.t 'a' is 'b' (when 'a' is True) - EXPECT_EQ(manager.coFactorTrue(and_ab, a_id), b_id); - - // Low branch for 'a AND b' w.r.t 'a' is False (when 'a' is False) - EXPECT_EQ(manager.coFactorFalse(and_ab, a_id), manager.False()); - // 'a AND b' does not depend on 'c', so cofactors w.r.t 'c' should return the expression itself -} - -TEST_F(ManagerTests, Negation) { - // Negate constants - EXPECT_EQ(manager.neg(manager.True()), manager.False()); // !True = False - EXPECT_EQ(manager.neg(manager.False()), manager.True()); // !False = True - - // Negate variables - auto not_a = manager.neg(a_id); - EXPECT_NE(not_a, a_id); // Negated 'a' should be a new node -} - -TEST_F(ManagerTests, FindNodes) { - std::set nodes; - manager.findNodes(a_id, nodes); - - // 'a' is the only node reachable from itself - EXPECT_EQ(nodes.size(), 3); // 'a', 'True', and 'False' - EXPECT_TRUE(nodes.find(a_id) != nodes.end()); // 'a' is reachable - EXPECT_TRUE(nodes.find(manager.True()) != nodes.end()); // True is reachable - EXPECT_TRUE(nodes.find(manager.False()) != nodes.end()); // False is reachable -} - -TEST_F(ManagerTests, FindVars) { - std::set vars; - manager.findVars(a_id, vars); - - // 'a' is the only variable - EXPECT_EQ(vars.size(), 1); - EXPECT_TRUE(vars.find(a_id) != vars.end()); // 'a' should be in the set -} - -TEST_F(ManagerTests, ITEFunction) { - // Case: i == True - EXPECT_EQ(manager.ite(manager.True(), a_id, b_id), a_id); - - // Case: i == False - EXPECT_EQ(manager.ite(manager.False(), a_id, b_id), b_id); - - // Case: t == e - EXPECT_EQ(manager.ite(a_id, b_id, b_id), b_id); - - // General case - auto result = manager.ite(a_id, b_id, c_id); - EXPECT_NE(result, a_id); - EXPECT_NE(result, b_id); - EXPECT_NE(result, c_id); -} - -TEST_F(ManagerTests, IsVariable) { - EXPECT_TRUE(manager.isVariable(a_id)); // Variable - - EXPECT_FALSE(manager.isVariable(manager.True())); // True is not a variable - EXPECT_FALSE(manager.isVariable(manager.False())); // False is not a variable - - auto and_ab = manager.and2(a_id, b_id); - EXPECT_FALSE(manager.isVariable(and_ab)); // Logical operation result is not a variable -} - -TEST_F(ManagerTests, LogicalNegation) { - EXPECT_EQ(manager.nand2(a_id, b_id), manager.neg(manager.and2(a_id, b_id))); - EXPECT_EQ(manager.nor2(a_id, b_id), manager.neg(manager.or2(a_id, b_id))); - EXPECT_EQ(manager.xnor2(a_id, b_id), manager.neg(manager.xor2(a_id, b_id))); -} - -TEST_F(ManagerTests, TopVarInvalidID) { - EXPECT_THROW(manager.topVar(999), std::out_of_range); // Non-existent ID -} - -TEST_F(ManagerTests, UniqueTableSize) { - EXPECT_EQ(manager.uniqueTableSize(), 10); // Initial size - manager.createVar("new_var"); - EXPECT_EQ(manager.uniqueTableSize(), 11); // After adding a new variable -} - -TEST_F(ManagerTests, CofactorsOneInputTest) { - EXPECT_EQ(manager.coFactorTrue(a_id), manager.True()); - EXPECT_EQ(manager.coFactorFalse(a_id), manager.False()); - auto or_ab = manager.or2(a_id, b_id); - EXPECT_EQ(manager.coFactorTrue(or_ab), manager.True()); - EXPECT_EQ(manager.coFactorFalse(or_ab), b_id); -} #endif diff --git a/src/test/main_test.cpp b/src/test/main_test.cpp index 6b002de1..3d5910a0 100644 --- a/src/test/main_test.cpp +++ b/src/test/main_test.cpp @@ -5,6 +5,194 @@ #include "Tests.h" +using namespace ClassProject; + +class ManagerTests : public testing::Test { +protected: + ClassProject::Manager manager; + ClassProject::BDD_ID a_id, b_id, c_id, d_id, a_or_b_id, c_and_d_id, f1_id; + + void SetUp() override { + a_id = manager.createVar("a"); + b_id = manager.createVar("b"); + c_id = manager.createVar("c"); + d_id = manager.createVar("d"); + + a_or_b_id = manager.or2(a_id, b_id); + c_and_d_id = manager.and2(c_id, d_id); + // f1 = (a+b)*c*d + f1_id = manager.and2(a_or_b_id, c_and_d_id); + + } +}; + + +TEST_F(ManagerTests, ccdsdfa) { + EXPECT_EQ(manager.coFactorTrue(a_or_b_id, a_id), manager.True()); + EXPECT_EQ(manager.coFactorTrue(f1_id, a_id), c_and_d_id); + EXPECT_EQ(manager.coFactorTrue(f1_id, a_id), manager.coFactorTrue(f1_id)); + EXPECT_EQ(manager.coFactorTrue(f1_id, b_id), c_and_d_id); + EXPECT_EQ(manager.coFactorTrue(f1_id, c_id), manager.and2(d_id, a_or_b_id)); + EXPECT_EQ(manager.coFactorTrue(f1_id, d_id), manager.and2(c_id, a_or_b_id)); +} + + +TEST_F(ManagerTests, FindVariables1) { + std::set vars; + BDD_ID a_or_b_id = manager.or2(a_id, b_id); + ClassProject::BDD_ID c_and_d_id = manager.and2(c_id, d_id); + // f1 = a*b+c+d + ClassProject::BDD_ID f1_id = manager.and2(a_or_b_id, c_and_d_id); + manager.findVars(f1_id, vars); + + // 'a' is the only variable + EXPECT_EQ(vars.size(), 4); + EXPECT_TRUE(vars.find(a_id) != vars.end()); // 'a' should be in the set +} + +TEST_F(ManagerTests, CreateVariable) { + EXPECT_EQ(a_id, 2); + EXPECT_EQ(b_id, 3); + EXPECT_EQ(c_id, 4); + + EXPECT_EQ(manager.createVar("a"), a_id); // re-creating same variable + EXPECT_EQ(manager.createVar("b"), b_id); + + EXPECT_EQ(manager.uniqueTableSize(), 10); +} + +TEST_F(ManagerTests, Constants) { + EXPECT_EQ(manager.True(), 1); + EXPECT_EQ(manager.False(), 0); + + EXPECT_TRUE(manager.isConstant(0)); + EXPECT_TRUE(manager.isConstant(1)); + EXPECT_FALSE(manager.isConstant(a_id)); +} + +TEST_F(ManagerTests, TopVariable) { + EXPECT_EQ(manager.topVar(a_id), a_id); // Top variable of 'a' is 'a' itself + EXPECT_EQ(manager.topVar(b_id), b_id); // Top variable of 'b' is 'b' itself + + // For constants, the topVar is 0 (no variable) + EXPECT_EQ(manager.topVar(manager.True()), 1); + EXPECT_EQ(manager.topVar(manager.False()), 0); +} + +TEST_F(ManagerTests, LogicalOperations) { + auto and_ab = manager.and2(a_id, b_id); + EXPECT_EQ(and_ab, manager.ite(a_id, b_id, manager.False())); // AND operation should match ITE + // // EXPECT_EQ(!and_ab, manager.nand2(a_id, b_id)); + + auto or_ab = manager.or2(a_id, b_id); + EXPECT_EQ(or_ab, manager.ite(a_id, manager.True(), b_id)); + // EXPECT_EQ(!or_ab, manager.nor2(a_id, b_id)); + + auto xor_ab = manager.xor2(a_id, b_id); + EXPECT_EQ(xor_ab, manager.ite(a_id, manager.neg(b_id), b_id )); + // // EXPECT_EQ(!xor_ab, manager.xnor2(a_id, b_id)); +} + +TEST_F(ManagerTests, CofactorsForConstants) { + EXPECT_EQ(manager.coFactorTrue(manager.True(), a_id), manager.True()); // True coFactored w.r.t 'a' is still True + EXPECT_EQ(manager.coFactorFalse(manager.True(), a_id), manager.True()); // True coFactored w.r.t 'a' is still True + + EXPECT_EQ(manager.coFactorTrue(manager.False(), a_id), manager.False()); // False coFactored w.r.t 'a' is still False + EXPECT_EQ(manager.coFactorFalse(manager.False(), a_id), manager.False()); // False coFactored w.r.t 'a' is still False +} + +TEST_F(ManagerTests, CofactorsForLogicalExpressions) { + auto and_ab = manager.and2(a_id, b_id); + + // High branch for 'a AND b' w.r.t 'a' is 'b' (when 'a' is True) + EXPECT_EQ(manager.coFactorTrue(and_ab, a_id), b_id); + + // Low branch for 'a AND b' w.r.t 'a' is False (when 'a' is False) + EXPECT_EQ(manager.coFactorFalse(and_ab, a_id), manager.False()); + // 'a AND b' does not depend on 'c', so cofactors w.r.t 'c' should return the expression itself +} + +TEST_F(ManagerTests, Negation) { + // Negate constants + EXPECT_EQ(manager.neg(manager.True()), manager.False()); // !True = False + EXPECT_EQ(manager.neg(manager.False()), manager.True()); // !False = True + + // Negate variables + auto not_a = manager.neg(a_id); + EXPECT_NE(not_a, a_id); // Negated 'a' should be a new node +} + +TEST_F(ManagerTests, FindNodes) { + std::set nodes; + manager.findNodes(a_id, nodes); + + // 'a' is the only node reachable from itself + EXPECT_EQ(nodes.size(), 3); // 'a', 'True', and 'False' + EXPECT_TRUE(nodes.find(a_id) != nodes.end()); // 'a' is reachable + EXPECT_TRUE(nodes.find(manager.True()) != nodes.end()); // True is reachable + EXPECT_TRUE(nodes.find(manager.False()) != nodes.end()); // False is reachable +} + +TEST_F(ManagerTests, FindVars) { + std::set vars; + manager.findVars(a_id, vars); + + // 'a' is the only variable + EXPECT_EQ(vars.size(), 1); + EXPECT_TRUE(vars.find(a_id) != vars.end()); // 'a' should be in the set +} + +TEST_F(ManagerTests, ITEFunction) { + // Case: i == True + EXPECT_EQ(manager.ite(manager.True(), a_id, b_id), a_id); + + // Case: i == False + EXPECT_EQ(manager.ite(manager.False(), a_id, b_id), b_id); + + // Case: t == e + EXPECT_EQ(manager.ite(a_id, b_id, b_id), b_id); + + // General case + auto result = manager.ite(a_id, b_id, c_id); + EXPECT_NE(result, a_id); + EXPECT_NE(result, b_id); + EXPECT_NE(result, c_id); +} + +TEST_F(ManagerTests, IsVariable) { + EXPECT_TRUE(manager.isVariable(a_id)); // Variable + + EXPECT_FALSE(manager.isVariable(manager.True())); // True is not a variable + EXPECT_FALSE(manager.isVariable(manager.False())); // False is not a variable + + auto and_ab = manager.and2(a_id, b_id); + EXPECT_FALSE(manager.isVariable(and_ab)); // Logical operation result is not a variable +} + +TEST_F(ManagerTests, LogicalNegation) { + EXPECT_EQ(manager.nand2(a_id, b_id), manager.neg(manager.and2(a_id, b_id))); + EXPECT_EQ(manager.nor2(a_id, b_id), manager.neg(manager.or2(a_id, b_id))); + EXPECT_EQ(manager.xnor2(a_id, b_id), manager.neg(manager.xor2(a_id, b_id))); +} + +TEST_F(ManagerTests, TopVarInvalidID) { + EXPECT_THROW(manager.topVar(999), std::out_of_range); // Non-existent ID +} + +TEST_F(ManagerTests, UniqueTableSize) { + EXPECT_EQ(manager.uniqueTableSize(), 10); // Initial size + manager.createVar("new_var"); + EXPECT_EQ(manager.uniqueTableSize(), 11); // After adding a new variable +} + +TEST_F(ManagerTests, CofactorsOneInputTest) { + EXPECT_EQ(manager.coFactorTrue(a_id), manager.True()); + EXPECT_EQ(manager.coFactorFalse(a_id), manager.False()); + auto or_ab = manager.or2(a_id, b_id); + EXPECT_EQ(manager.coFactorTrue(or_ab), manager.True()); + EXPECT_EQ(manager.coFactorFalse(or_ab), b_id); +} + int main(int argc, char* argv[]) { ::testing::InitGoogleTest(&argc, argv); From 03fa75eb4c61c367878542143cafb35a58489fbb Mon Sep 17 00:00:00 2001 From: notaprodev Date: Fri, 13 Dec 2024 08:34:03 +0100 Subject: [PATCH 11/21] split manager header and manager.cpp --- src/Manager.cpp | 306 +++++++++++++++++++++--------------------------- src/Manager.h | 266 +++++++++-------------------------------- 2 files changed, 192 insertions(+), 380 deletions(-) diff --git a/src/Manager.cpp b/src/Manager.cpp index 518fb424..644dfc5c 100644 --- a/src/Manager.cpp +++ b/src/Manager.cpp @@ -1,222 +1,188 @@ #include "Manager.h" -#include +#include +#include #include -#include -#include -#include -#include -#include - -#include "ManagerInterface.h" -using namespace ClassProject; - - class Manager : public ManagerInterface { -private: - vector uniqueTable; - unordered_map variableMap; - const BDD_ID falseID = 0; - const BDD_ID trueID = 1; -public: - Manager() { // constructor - // initialize uniqueTable as it is on first task + +namespace ClassProject { + + Manager::Manager() { uniqueTable.push_back({falseID, 0, 0, 0}); uniqueTable.push_back({trueID, 1, 1, 1}); variableMap["False"] = 0; variableMap["True"] = 1; - // variableMap["a"] = 2; - // variableMap["b"] = 3; - // variableMap["c"] = 4; - // variableMap["d"] = 5; std::cout << "Manager initialized.\n"; } -BDD_ID createVar(const std::string &label) override { - if(variableMap.find(label)!=variableMap.end()) { - return variableMap[label]; - } - - BDD_ID id = uniqueTable.size(); - variableMap[label] = id; - uniqueTable.push_back({id, trueID, falseID, id}); - std::cout << "Created variable: " << label << ", ID: " << id << "\n"; - return id; - } - - const BDD_ID &True() override { - return trueID; - } - - const BDD_ID &False() override { - return falseID; - } - bool isConstant(BDD_ID f) override { - return f == falseID || f == trueID; + BDD_ID Manager::createVar(const std::string &label) { + if (variableMap.find(label) != variableMap.end()) { + return variableMap[label]; } - bool isVariable(BDD_ID x) override { - if (isConstant(x)) return false; - bool isVar = x < uniqueTable.size() && uniqueTable[x].topVar == x; // if its in bounds and its top variable is itself. - return isVar; - } - - BDD_ID topVar(BDD_ID f) override { - if (f >= uniqueTable.size()) { - throw std::out_of_range("Invalid BDD_ID: " + std::to_string(f)); - } - return uniqueTable[f].topVar; - } + BDD_ID id = uniqueTable.size(); + variableMap[label] = id; + uniqueTable.push_back({id, trueID, falseID, id}); + std::cout << "Created variable: " << label << ", ID: " << id << "\n"; + return id; + } - BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) override { - if(i == trueID) { - return t; - } - if(i == falseID) { - return e; - } - if(t == e) { - return t; - } + const BDD_ID &Manager::True() { + return trueID; + } - size_t top = std::numeric_limits::max(); // Start with a high value - if (!isConstant(i)) top = std::min(top, topVar(i)); - if (!isConstant(t)) top = std::min(top, topVar(t)); - if (!isConstant(e)) top = std::min(top, topVar(e)); + const BDD_ID &Manager::False() { + return falseID; + } - // size_t top1 = std::min(topVar(i), topVar(t)); - // size_t top = std::min(top1, topVar(e)); - BDD_ID rhigh = ite(coFactorTrue(i, top), coFactorTrue(t, top), coFactorTrue(e, top)); - BDD_ID rlow = ite(coFactorFalse(i, top), coFactorFalse(t, top), coFactorFalse(e, top)); + bool Manager::isConstant(BDD_ID f) { + return f == falseID || f == trueID; + } - if (rhigh == rlow) {return rhigh;} + bool Manager::isVariable(BDD_ID x) { + return !isConstant(x) && x < uniqueTable.size() && uniqueTable[x].topVar == x; + } - // searching in unique table if the node already exists - for (const auto &node : uniqueTable) { - if (node.high == rhigh && node.low == rlow && node.topVar == top) { - return node.id; - } - } + BDD_ID Manager::topVar(BDD_ID f) { + if (f >= uniqueTable.size()) { + throw std::out_of_range("Invalid BDD_ID: " + std::to_string(f)); + } + return uniqueTable[f].topVar; + } - BDD_ID id = uniqueTable.size(); - uniqueTable.push_back({id, rhigh, rlow, top}); - return id; + BDD_ID Manager::ite(BDD_ID i, BDD_ID t, BDD_ID e) { + if (i == trueID) { + return t; + } + if (i == falseID) { + return e; + } + if (t == e) { + return t; } - // todo question these two - BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) override { - // constant handling - if (isConstant(f)) { - return f; - } + size_t top = std::numeric_limits::max(); + if (!isConstant(i)) top = std::min(top, topVar(i)); + if (!isConstant(t)) top = std::min(top, topVar(t)); + if (!isConstant(e)) top = std::min(top, topVar(e)); - if (topVar(f) > x) { - return f; - } // x doesn't affect f. x has lower id than top variable of f function - if (topVar(f) < x) { - return ite(topVar(f), coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); - } + BDD_ID rhigh = ite(coFactorTrue(i, top), coFactorTrue(t, top), coFactorTrue(e, top)); + BDD_ID rlow = ite(coFactorFalse(i, top), coFactorFalse(t, top), coFactorFalse(e, top)); - return uniqueTable[f].high; // topvariable is x and directly return high + if (rhigh == rlow) { + return rhigh; } - BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) override { - // constant handling - if (isConstant(f)) { - return f; + for (const auto &node : uniqueTable) { + if (node.high == rhigh && node.low == rlow && node.topVar == top) { + return node.id; } + } - if (topVar(f) > x) { - return f; - } - if (topVar(f) < x) { - return ite(topVar(f), coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); - } + BDD_ID id = uniqueTable.size(); + uniqueTable.push_back({id, rhigh, rlow, top}); + return id; + } - return uniqueTable[f].low; + BDD_ID Manager::coFactorTrue(BDD_ID f, BDD_ID x) { + if (isConstant(f)) { + return f; } - - BDD_ID coFactorTrue(BDD_ID f) override { - return uniqueTable[f].high; + if (topVar(f) > x) { + return f; } - - BDD_ID coFactorFalse(BDD_ID f) override { - return uniqueTable[f].low; + if (topVar(f) < x) { + return ite(topVar(f), coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); } + return uniqueTable[f].high; + } - BDD_ID neg(BDD_ID a) override { - return ite (a, falseID, trueID); + BDD_ID Manager::coFactorFalse(BDD_ID f, BDD_ID x) { + if (isConstant(f)) { + return f; } - - BDD_ID and2(BDD_ID a, BDD_ID b) override { - return ite(a, b, falseID); + if (topVar(f) > x) { + return f; } - - BDD_ID or2(BDD_ID a, BDD_ID b) override { - std::cout << "or2 called with a: " << a << ", b: " << b << "\n"; - BDD_ID result = ite(a, trueID, b); - std::cout << "or2 result: " << result << "\n"; - return result; + if (topVar(f) < x) { + return ite(topVar(f), coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); } + return uniqueTable[f].low; + } - BDD_ID xor2(BDD_ID a, BDD_ID b) override { - return ite(a, neg(b), b); - } + BDD_ID Manager::coFactorTrue(BDD_ID f) { + return uniqueTable[f].high; + } - BDD_ID nand2(BDD_ID a, BDD_ID b) override { - return neg(and2(a, b)); - } + BDD_ID Manager::coFactorFalse(BDD_ID f) { + return uniqueTable[f].low; + } - BDD_ID nor2(BDD_ID a, BDD_ID b) override { - return neg(or2(a, b)); - } + BDD_ID Manager::neg(BDD_ID a) { + return ite(a, falseID, trueID); + } - BDD_ID xnor2(BDD_ID a, BDD_ID b) override { - return neg(xor2(a, b)); - } + BDD_ID Manager::and2(BDD_ID a, BDD_ID b) { + return ite(a, b, falseID); + } - std::string getTopVarName(const BDD_ID &root) override { - for (const auto &pair : variableMap) { - if (pair.second == topVar(root)) { - return pair.first; - } - } + BDD_ID Manager::or2(BDD_ID a, BDD_ID b) { + return ite(a, trueID, b); + } - return ""; - } + BDD_ID Manager::xor2(BDD_ID a, BDD_ID b) { + return ite(a, neg(b), b); + } - void findNodes(const BDD_ID &root, std::set &nodes_of_root) override { - if (nodes_of_root.find(root) != nodes_of_root.end()) { // element already exsists in a set - return; - } + BDD_ID Manager::nand2(BDD_ID a, BDD_ID b) { + return neg(and2(a, b)); + } + + BDD_ID Manager::nor2(BDD_ID a, BDD_ID b) { + return neg(or2(a, b)); + } + + BDD_ID Manager::xnor2(BDD_ID a, BDD_ID b) { + return neg(xor2(a, b)); + } - // nodes_of_root.insert(root); - nodes_of_root.insert(uniqueTable[root].topVar); - if (isConstant(root)) { - return; + std::string Manager::getTopVarName(const BDD_ID &root) { + for (const auto &pair : variableMap) { + if (pair.second == topVar(root)) { + return pair.first; } + } + return ""; + } - // recursively search for next level nodes - findNodes(uniqueTable[root].high, nodes_of_root); - findNodes(uniqueTable[root].low, nodes_of_root); + void Manager::findNodes(const BDD_ID &root, std::set &nodes_of_root) { + if (nodes_of_root.find(root) != nodes_of_root.end()) { + return; + } + nodes_of_root.insert(uniqueTable[root].topVar); + if (isConstant(root)) { + return; } + findNodes(uniqueTable[root].high, nodes_of_root); + findNodes(uniqueTable[root].low, nodes_of_root); + } - void findVars(const BDD_ID &root, std::set &vars_of_root) override { - set nodes_of_root; - findNodes(root, nodes_of_root); + void Manager::findVars(const BDD_ID &root, std::set &vars_of_root) { + std::set nodes_of_root; + findNodes(root, nodes_of_root); - for (const auto &node : nodes_of_root) { // extract real variables - if (isVariable(node)) { - vars_of_root.insert(uniqueTable[node].topVar); - } + for (const auto &node : nodes_of_root) { + if (isVariable(node)) { + vars_of_root.insert(uniqueTable[node].topVar); } } + } - size_t uniqueTableSize() override { - return uniqueTable.size(); - } + size_t Manager::uniqueTableSize() { + return uniqueTable.size(); + } - void visualizeBDD(std::string filepath, BDD_ID &root) override { - printf("not implemented yet"); - } - }; \ No newline at end of file + void Manager::visualizeBDD(std::string filepath, BDD_ID &root) { + printf("not implemented yet"); + } +} diff --git a/src/Manager.h b/src/Manager.h index bd4c8b02..cca083d3 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -16,7 +16,6 @@ #include #include "ManagerInterface.h" - namespace ClassProject { using std::vector; using std::unordered_map; @@ -31,214 +30,61 @@ namespace ClassProject { }; class Manager : public ManagerInterface { -private: - vector uniqueTable; - unordered_map variableMap; - const BDD_ID falseID = 0; - const BDD_ID trueID = 1; -public: - Manager() { // constructor - // initialize uniqueTable as it is on first task - uniqueTable.push_back({falseID, 0, 0, 0}); - uniqueTable.push_back({trueID, 1, 1, 1}); - - variableMap["False"] = 0; - variableMap["True"] = 1; - // variableMap["a"] = 2; - // variableMap["b"] = 3; - // variableMap["c"] = 4; - // variableMap["d"] = 5; - - std::cout << "Manager initialized.\n"; - } -BDD_ID createVar(const std::string &label) override { - if(variableMap.find(label)!=variableMap.end()) { - return variableMap[label]; - } - - BDD_ID id = uniqueTable.size(); - variableMap[label] = id; - uniqueTable.push_back({id, trueID, falseID, id}); - std::cout << "Created variable: " << label << ", ID: " << id << "\n"; - return id; - } - - const BDD_ID &True() override { - return trueID; - } - - const BDD_ID &False() override { - return falseID; - } - - bool isConstant(BDD_ID f) override { - return f == falseID || f == trueID; - } - - bool isVariable(BDD_ID x) override { - if (isConstant(x)) return false; - bool isVar = x < uniqueTable.size() && uniqueTable[x].topVar == x; // if its in bounds and its top variable is itself. - return isVar; - } - - BDD_ID topVar(BDD_ID f) override { - if (f >= uniqueTable.size()) { - throw std::out_of_range("Invalid BDD_ID: " + std::to_string(f)); - } - return uniqueTable[f].topVar; - } - - BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) override { - if(i == trueID) { - return t; - } - if(i == falseID) { - return e; - } - if(t == e) { - return t; - } - - size_t top = std::numeric_limits::max(); // Start with a high value - if (!isConstant(i)) top = std::min(top, topVar(i)); - if (!isConstant(t)) top = std::min(top, topVar(t)); - if (!isConstant(e)) top = std::min(top, topVar(e)); - - // size_t top1 = std::min(topVar(i), topVar(t)); - // size_t top = std::min(top1, topVar(e)); - BDD_ID rhigh = ite(coFactorTrue(i, top), coFactorTrue(t, top), coFactorTrue(e, top)); - BDD_ID rlow = ite(coFactorFalse(i, top), coFactorFalse(t, top), coFactorFalse(e, top)); - - if (rhigh == rlow) {return rhigh;} - - // searching in unique table if the node already exists - for (const auto &node : uniqueTable) { - if (node.high == rhigh && node.low == rlow && node.topVar == top) { - return node.id; - } - } - - BDD_ID id = uniqueTable.size(); - uniqueTable.push_back({id, rhigh, rlow, top}); - return id; - } - - // todo question these two - BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) override { - // constant handling - if (isConstant(f)) { - return f; - } - - if (topVar(f) > x) { - return f; - } // x doesn't affect f. x has lower id than top variable of f function - if (topVar(f) < x) { - return ite(topVar(f), coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); - } - - return uniqueTable[f].high; // topvariable is x and directly return high - } - - BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) override { - // constant handling - if (isConstant(f)) { - return f; - } - - if (topVar(f) > x) { - return f; - } - if (topVar(f) < x) { - return ite(topVar(f), coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); - } - - return uniqueTable[f].low; - } - - BDD_ID coFactorTrue(BDD_ID f) override { - return uniqueTable[f].high; - } - - BDD_ID coFactorFalse(BDD_ID f) override { - return uniqueTable[f].low; - } - - BDD_ID neg(BDD_ID a) override { - return ite (a, falseID, trueID); - } - - BDD_ID and2(BDD_ID a, BDD_ID b) override { - return ite(a, b, falseID); - } - - BDD_ID or2(BDD_ID a, BDD_ID b) override { - std::cout << "or2 called with a: " << a << ", b: " << b << "\n"; - BDD_ID result = ite(a, trueID, b); - std::cout << "or2 result: " << result << "\n"; - return result; - } - - BDD_ID xor2(BDD_ID a, BDD_ID b) override { - return ite(a, neg(b), b); - } - - BDD_ID nand2(BDD_ID a, BDD_ID b) override { - return neg(and2(a, b)); - } - - BDD_ID nor2(BDD_ID a, BDD_ID b) override { - return neg(or2(a, b)); - } - - BDD_ID xnor2(BDD_ID a, BDD_ID b) override { - return neg(xor2(a, b)); - } - - std::string getTopVarName(const BDD_ID &root) override { - for (const auto &pair : variableMap) { - if (pair.second == topVar(root)) { - return pair.first; - } - } - - return ""; - } - - void findNodes(const BDD_ID &root, std::set &nodes_of_root) override { - if (nodes_of_root.find(root) != nodes_of_root.end()) { // element already exsists in a set - return; - } - - // nodes_of_root.insert(root); - nodes_of_root.insert(uniqueTable[root].topVar); - if (isConstant(root)) { - return; - } - - // recursively search for next level nodes - findNodes(uniqueTable[root].high, nodes_of_root); - findNodes(uniqueTable[root].low, nodes_of_root); - } - - void findVars(const BDD_ID &root, std::set &vars_of_root) override { - set nodes_of_root; - findNodes(root, nodes_of_root); - - for (const auto &node : nodes_of_root) { // extract real variables - if (isVariable(node)) { - vars_of_root.insert(uniqueTable[node].topVar); - } - } - } - - size_t uniqueTableSize() override { - return uniqueTable.size(); - } - - void visualizeBDD(std::string filepath, BDD_ID &root) override { - printf("not implemented yet"); - } + private: + vector uniqueTable; + unordered_map variableMap; + const BDD_ID falseID = 0; + const BDD_ID trueID = 1; + + public: + Manager(); + + BDD_ID createVar(const std::string &label) override; + + const BDD_ID &True() override; + + const BDD_ID &False() override; + + bool isConstant(BDD_ID f) override; + + bool isVariable(BDD_ID x) override; + + BDD_ID topVar(BDD_ID f) override; + + BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) override; + + BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) override; + + BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) override; + + BDD_ID coFactorTrue(BDD_ID f) override; + + BDD_ID coFactorFalse(BDD_ID f) override; + + BDD_ID neg(BDD_ID a) override; + + BDD_ID and2(BDD_ID a, BDD_ID b) override; + + BDD_ID or2(BDD_ID a, BDD_ID b) override; + + BDD_ID xor2(BDD_ID a, BDD_ID b) override; + + BDD_ID nand2(BDD_ID a, BDD_ID b) override; + + BDD_ID nor2(BDD_ID a, BDD_ID b) override; + + BDD_ID xnor2(BDD_ID a, BDD_ID b) override; + + std::string getTopVarName(const BDD_ID &root) override; + + void findNodes(const BDD_ID &root, std::set &nodes_of_root) override; + + void findVars(const BDD_ID &root, std::set &vars_of_root) override; + + size_t uniqueTableSize() override; + + void visualizeBDD(std::string filepath, BDD_ID &root) override; }; } -#endif \ No newline at end of file + +#endif From a7edfa1496a1c8e91d2fdea68176a4c70901a4ed Mon Sep 17 00:00:00 2001 From: Andro Date: Mon, 13 Jan 2025 14:22:08 +0100 Subject: [PATCH 12/21] add unique table and computed table. c3540 in 4 seconds --- src/CMakeLists.txt | 2 ++ src/Manager.cpp | 62 ++++++++++++++++++++++++++++-------------- src/Manager.h | 42 +++++++++++++++++++++++++++- src/test/main_test.cpp | 23 +++++++++++++++- 4 files changed, 106 insertions(+), 23 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d4b98871..d5d49457 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,5 @@ add_subdirectory(test) +add_subdirectory(bench) +add_subdirectory(verify) add_library(Manager Manager.cpp) diff --git a/src/Manager.cpp b/src/Manager.cpp index 644dfc5c..e4f01b33 100644 --- a/src/Manager.cpp +++ b/src/Manager.cpp @@ -6,8 +6,11 @@ namespace ClassProject { Manager::Manager() { - uniqueTable.push_back({falseID, 0, 0, 0}); - uniqueTable.push_back({trueID, 1, 1, 1}); + uniqueTable[{0, 0, 0}] = falseID; + uniqueTable[{1, 1, 1}] = trueID; + + uniqueTableReversed.push_back({falseID, 0, 0, 0}); + uniqueTableReversed.push_back({trueID, 1, 1, 1}); variableMap["False"] = 0; variableMap["True"] = 1; @@ -21,8 +24,10 @@ namespace ClassProject { } BDD_ID id = uniqueTable.size(); + BDDNode node{trueID, falseID, id}; variableMap[label] = id; - uniqueTable.push_back({id, trueID, falseID, id}); + uniqueTable[node] = id; + uniqueTableReversed.push_back({id, trueID, falseID, id}); std::cout << "Created variable: " << label << ", ID: " << id << "\n"; return id; } @@ -40,14 +45,15 @@ namespace ClassProject { } bool Manager::isVariable(BDD_ID x) { - return !isConstant(x) && x < uniqueTable.size() && uniqueTable[x].topVar == x; + return !isConstant(x) && x < uniqueTableReversed.size() && uniqueTableReversed[x].topVar == x; } BDD_ID Manager::topVar(BDD_ID f) { - if (f >= uniqueTable.size()) { + if (f >= uniqueTableReversed.size()) { throw std::out_of_range("Invalid BDD_ID: " + std::to_string(f)); } - return uniqueTable[f].topVar; + + return uniqueTableReversed[f].topVar; } BDD_ID Manager::ite(BDD_ID i, BDD_ID t, BDD_ID e) { @@ -60,6 +66,11 @@ namespace ClassProject { if (t == e) { return t; } + // computed table added + auto itcomp = computedTable.find(ITETriple{i, t, e}); + if (itcomp!=computedTable.end()) { + return itcomp->second; + } size_t top = std::numeric_limits::max(); if (!isConstant(i)) top = std::min(top, topVar(i)); @@ -73,14 +84,20 @@ namespace ClassProject { return rhigh; } - for (const auto &node : uniqueTable) { - if (node.high == rhigh && node.low == rlow && node.topVar == top) { - return node.id; - } + BDDNode node{rhigh, rlow, top}; + ITETriple triple{i, t, e}; + + auto it = uniqueTable.find(node); + if (it != uniqueTable.end()) { // if result already exists in unique table + computedTable[triple] = it->second; + return it->second; // second is id } BDD_ID id = uniqueTable.size(); - uniqueTable.push_back({id, rhigh, rlow, top}); + uniqueTable[node] = id; + uniqueTableReversed.push_back({id, rhigh, rlow, top}); + computedTable[triple] = id; + return id; } @@ -91,10 +108,11 @@ namespace ClassProject { if (topVar(f) > x) { return f; } + if (topVar(f) < x) { - return ite(topVar(f), coFactorTrue(uniqueTable[f].high, x), coFactorTrue(uniqueTable[f].low, x)); + return ite(topVar(f), coFactorTrue(uniqueTableReversed[f].high, x), coFactorTrue(uniqueTableReversed[f].low, x)); } - return uniqueTable[f].high; + return uniqueTableReversed[f].high; } BDD_ID Manager::coFactorFalse(BDD_ID f, BDD_ID x) { @@ -104,18 +122,19 @@ namespace ClassProject { if (topVar(f) > x) { return f; } + if (topVar(f) < x) { - return ite(topVar(f), coFactorFalse(uniqueTable[f].high, x), coFactorFalse(uniqueTable[f].low, x)); + return ite(topVar(f), coFactorFalse(uniqueTableReversed[f].high, x), coFactorFalse(uniqueTableReversed[f].low, x)); } - return uniqueTable[f].low; + return uniqueTableReversed[f].low; } BDD_ID Manager::coFactorTrue(BDD_ID f) { - return uniqueTable[f].high; + return uniqueTableReversed[f].high; } BDD_ID Manager::coFactorFalse(BDD_ID f) { - return uniqueTable[f].low; + return uniqueTableReversed[f].low; } BDD_ID Manager::neg(BDD_ID a) { @@ -159,12 +178,13 @@ namespace ClassProject { if (nodes_of_root.find(root) != nodes_of_root.end()) { return; } - nodes_of_root.insert(uniqueTable[root].topVar); + + nodes_of_root.insert(uniqueTableReversed[root].topVar); if (isConstant(root)) { return; } - findNodes(uniqueTable[root].high, nodes_of_root); - findNodes(uniqueTable[root].low, nodes_of_root); + findNodes(uniqueTableReversed[root].high, nodes_of_root); + findNodes(uniqueTableReversed[root].low, nodes_of_root); } void Manager::findVars(const BDD_ID &root, std::set &vars_of_root) { @@ -173,7 +193,7 @@ namespace ClassProject { for (const auto &node : nodes_of_root) { if (isVariable(node)) { - vars_of_root.insert(uniqueTable[node].topVar); + vars_of_root.insert(uniqueTableReversed[node].topVar); } } } diff --git a/src/Manager.h b/src/Manager.h index cca083d3..d68eff54 100644 --- a/src/Manager.h +++ b/src/Manager.h @@ -23,16 +23,56 @@ namespace ClassProject { using std::set; struct BDDNode { + size_t high; + size_t low; + size_t topVar; + + bool operator ==(const BDDNode &other) const { + return high == other.high && low == other.low && topVar == other.topVar; + } + }; + + struct BDDNodeWithId { size_t id; size_t high; size_t low; size_t topVar; }; + struct ITETriple { + size_t i; + size_t t; + size_t e; + + bool operator ==(const ITETriple &other) const { + return i == other.i && t == other.t && e == other.e; + } + }; + + struct BDDNodeHash { + size_t operator()(const BDDNode& node) const { + size_t hash = std::hash()(node.high); + hash ^= std::hash()(node.low) + 0x9e3779b9 + (hash << 6) + (hash >> 2); + hash ^= std::hash()(node.topVar) + 0x9e3779b9 + (hash << 6) + (hash >> 2); + return hash; + } + }; + + struct ITEHash { + size_t operator()(const ITETriple& node) const { + size_t hash = std::hash()(node.i); + hash ^= std::hash()(node.t) + 0x9e3779b9 + (hash << 6) + (hash >> 2); + hash ^= std::hash()(node.e) + 0x9e3779b9 + (hash << 6) + (hash >> 2); + return hash; + } + }; + class Manager : public ManagerInterface { private: - vector uniqueTable; + unordered_map uniqueTable; // double indexed list map + vector uniqueTableReversed; unordered_map variableMap; + unordered_map computedTable; const BDD_ID falseID = 0; const BDD_ID trueID = 1; diff --git a/src/test/main_test.cpp b/src/test/main_test.cpp index 3d5910a0..fec03bde 100644 --- a/src/test/main_test.cpp +++ b/src/test/main_test.cpp @@ -10,7 +10,7 @@ using namespace ClassProject; class ManagerTests : public testing::Test { protected: ClassProject::Manager manager; - ClassProject::BDD_ID a_id, b_id, c_id, d_id, a_or_b_id, c_and_d_id, f1_id; + ClassProject::BDD_ID a_id, b_id, c_id, d_id, a_or_b_id, c_and_d_id, f1_id, androtestID; void SetUp() override { a_id = manager.createVar("a"); @@ -34,6 +34,9 @@ TEST_F(ManagerTests, ccdsdfa) { EXPECT_EQ(manager.coFactorTrue(f1_id, b_id), c_and_d_id); EXPECT_EQ(manager.coFactorTrue(f1_id, c_id), manager.and2(d_id, a_or_b_id)); EXPECT_EQ(manager.coFactorTrue(f1_id, d_id), manager.and2(c_id, a_or_b_id)); + + std::cout << "es testic damtavrdaaa" << std::endl; + } @@ -193,6 +196,24 @@ TEST_F(ManagerTests, CofactorsOneInputTest) { EXPECT_EQ(manager.coFactorFalse(or_ab), b_id); } + +TEST_F(ManagerTests, random) { + // auto result1 = manager.ite(a_id, b_id, c_id); + // auto result2 = manager.ite(a_id, b_id, c_id); + // EXPECT_EQ(result1, result2); + + // Case: i == False + // EXPECT_EQ(manager.ite(manager.False(), a_id, b_id), b_id); + // + // // Case: t == e + // EXPECT_EQ(manager.ite(a_id, b_id, b_id), b_id); + // + // // General case + // auto result = manager.ite(a_id, b_id, c_id); + // EXPECT_NE(result, a_id); + // EXPECT_NE(result, b_id); + // EXPECT_NE(result, c_id); +} int main(int argc, char* argv[]) { ::testing::InitGoogleTest(&argc, argv); From a3f0465431ec64cd5c834b33ff46e06f0c0eec21 Mon Sep 17 00:00:00 2001 From: Andro Date: Mon, 13 Jan 2025 14:23:00 +0100 Subject: [PATCH 13/21] some random files --- .idea/.gitignore | 8 + .idea/VDSProject.iml | 2 + .idea/editor.xml | 580 +++ .idea/misc.xml | 7 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + benchmarks/iscas85/c1355.bench | 627 +++ benchmarks/iscas85/c17.bench | 21 + benchmarks/iscas85/c1908.bench | 946 ++++ benchmarks/iscas85/c2670.bench | 1574 +++++++ benchmarks/iscas85/c3540.bench | 1749 ++++++++ benchmarks/iscas85/c432.bench | 211 + benchmarks/iscas85/c499.bench | 283 ++ benchmarks/iscas85/c5315.bench | 2616 +++++++++++ benchmarks/iscas85/c6288.bench | 2488 +++++++++++ benchmarks/iscas85/c7552.bench | 3835 +++++++++++++++++ benchmarks/iscas85/c880.bench | 477 ++ .../.cmake/api/v1/query/cache-v2 | 0 .../.cmake/api/v1/query/cmakeFiles-v1 | 0 .../.cmake/api/v1/query/codemodel-v2 | 0 .../.cmake/api/v1/query/toolchains-v1 | 0 .../reply/cache-v2-a8db0d10de8128174cb2.json | 1923 +++++++++ .../cmakeFiles-v1-5ad4b835231703248803.json | 340 ++ .../codemodel-v2-a2bdf7e7b68da1145056.json | 327 ++ ...ectory-.-Release-f5ebdc15457944623624.json | 14 + ...test-src-Release-859890539598701b63fa.json | 14 + ...oglemock-Release-3c7cac71ab5322ecd679.json | 116 + ...ogletest-Release-59c9f0906f6c6689084e.json | 169 + ...tory-src-Release-b6cf2213fc5053b67c22.json | 14 + ...rc.bench-Release-53c2cc2ac27d3d9caa0d.json | 14 + ...src.test-Release-3607701395add829ebf1.json | 14 + ...c.verify-Release-60d00413fbfb0aa783c1.json | 14 + .../reply/index-2025-01-13T10-42-05-0998.json | 108 + ...enchmark-Release-65ef659ae92044132488.json | 169 + ...-Manager-Release-448063735bcb10c740cb.json | 135 + ...SProject-Release-2e86d2069fded6878e52.json | 224 + ...ct_bench-Release-cf5e04211cfb2612efa8.json | 243 ++ ...ect_test-Release-9d706a8c62bb7f5e84d7.json | 302 ++ ...t_verify-Release-3886ee3ac5d727c4b6f0.json | 205 + ...et-gmock-Release-fa3a1473fcee7451b15e.json | 165 + ...ock_main-Release-89233eb6e82e62597195.json | 171 + ...et-gtest-Release-f3f245d129ebc900b637.json | 141 + ...est_main-Release-c1f47e481944117d2665.json | 157 + .../toolchains-v1-3a03a1d1d0aeea10be44.json | 111 + cmake-build-release/.ninja_deps | Bin 0 -> 170648 bytes cmake-build-release/.ninja_log | 24 + cmake-build-release/CMakeCache.txt | 571 +++ .../CMakeFiles/3.30.5/CMakeCCompiler.cmake | 81 + .../CMakeFiles/3.30.5/CMakeCXXCompiler.cmake | 101 + .../3.30.5/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 15968 bytes .../3.30.5/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 15992 bytes .../CMakeFiles/3.30.5/CMakeSystem.cmake | 15 + .../3.30.5/CompilerIdC/CMakeCCompilerId.c | 904 ++++ .../CMakeFiles/3.30.5/CompilerIdC/a.out | Bin 0 -> 16088 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 919 ++++ .../CMakeFiles/3.30.5/CompilerIdCXX/a.out | Bin 0 -> 16096 bytes .../CMakeFiles/CMakeConfigureLog.yaml | 575 +++ .../CMakeFiles/TargetDirectories.txt | 58 + .../CMakeFiles/clion-Release-log.txt | 15 + .../CMakeFiles/clion-environment.txt | 4 + .../CMakeFiles/cmake.check_cache | 1 + cmake-build-release/CMakeFiles/rules.ninja | 235 + .../Testing/Temporary/LastTest.log | 3 + cmake-build-release/build.ninja | 1063 +++++ cmake-build-release/cmake_install.cmake | 68 + cmake-build-release/lib/libgtest.a | Bin 0 -> 985704 bytes cmake-build-release/lib/libgtest_main.a | Bin 0 -> 2310 bytes .../src/CMakeFiles/Manager.dir/Manager.cpp.o | Bin 0 -> 51944 bytes .../Benchmark.dir/BenchParser.cpp.o | Bin 0 -> 276456 bytes .../Benchmark.dir/BenchmarkLib.cpp.o | Bin 0 -> 19736 bytes .../Benchmark.dir/CircuitToBDD.cpp.o | Bin 0 -> 57656 bytes .../VDSProject_bench.dir/main_bench.cpp.o | Bin 0 -> 22152 bytes .../src/bench/VDSProject_bench | Bin 0 -> 251200 bytes .../src/bench/cmake_install.cmake | 44 + cmake-build-release/src/bench/libBenchmark.a | Bin 0 -> 398716 bytes .../src/bench/results_c17/BNode_BDD.csv | 12 + .../src/bench/results_c17/dot/22.dot | 20 + .../src/bench/results_c17/dot/23.dot | 20 + .../src/bench/results_c17/txt/22.txt | 6 + .../src/bench/results_c17/txt/23.txt | 6 + .../src/bench/results_c3540/BNode_BDD.csv | 1720 ++++++++ .../src/bench/results_c3540/dot/1713.dot | 20 + .../src/bench/results_c3540/dot/1947.dot | 17 + .../src/bench/results_c3540/dot/3195.dot | 65 + .../src/bench/results_c3540/dot/3833.dot | 32 + .../src/bench/results_c3540/dot/3987.dot | 32 + .../src/bench/results_c3540/dot/4028.dot | 113 + .../src/bench/results_c3540/dot/4145.dot | 113 + .../src/bench/results_c3540/dot/4589.dot | 86 + .../src/bench/results_c3540/dot/4667.dot | 83 + .../src/bench/results_c3540/dot/4815.dot | 113 + .../src/bench/results_c3540/dot/4944.dot | 125 + .../src/bench/results_c3540/dot/5002.dot | 122 + .../src/bench/results_c3540/dot/5045.dot | 122 + .../src/bench/results_c3540/dot/5047.dot | 128 + .../src/bench/results_c3540/dot/5078.dot | 119 + .../src/bench/results_c3540/dot/5102.dot | 134 + .../src/bench/results_c3540/dot/5120.dot | 140 + .../src/bench/results_c3540/dot/5121.dot | 128 + .../src/bench/results_c3540/dot/5192.dot | 155 + .../src/bench/results_c3540/dot/5231.dot | 155 + .../src/bench/results_c3540/dot/5360.dot | 158 + .../src/bench/results_c3540/dot/5361.dot | 155 + .../src/bench/results_c3540/txt/1713.txt | 6 + .../src/bench/results_c3540/txt/1947.txt | 5 + .../src/bench/results_c3540/txt/3195.txt | 21 + .../src/bench/results_c3540/txt/3833.txt | 10 + .../src/bench/results_c3540/txt/3987.txt | 10 + .../src/bench/results_c3540/txt/4028.txt | 37 + .../src/bench/results_c3540/txt/4145.txt | 37 + .../src/bench/results_c3540/txt/4589.txt | 28 + .../src/bench/results_c3540/txt/4667.txt | 27 + .../src/bench/results_c3540/txt/4815.txt | 37 + .../src/bench/results_c3540/txt/4944.txt | 41 + .../src/bench/results_c3540/txt/5002.txt | 40 + .../src/bench/results_c3540/txt/5045.txt | 40 + .../src/bench/results_c3540/txt/5047.txt | 42 + .../src/bench/results_c3540/txt/5078.txt | 39 + .../src/bench/results_c3540/txt/5102.txt | 44 + .../src/bench/results_c3540/txt/5120.txt | 46 + .../src/bench/results_c3540/txt/5121.txt | 42 + .../src/bench/results_c3540/txt/5192.txt | 51 + .../src/bench/results_c3540/txt/5231.txt | 51 + .../src/bench/results_c3540/txt/5360.txt | 52 + .../src/bench/results_c3540/txt/5361.txt | 51 + .../src/bench/results_c432/BNode_BDD.csv | 197 + .../src/bench/results_c432/dot/223.dot | 62 + .../src/bench/results_c432/dot/329.dot | 89 + .../src/bench/results_c432/dot/370.dot | 116 + .../src/bench/results_c432/dot/421.dot | 116 + .../src/bench/results_c432/dot/430.dot | 116 + .../src/bench/results_c432/dot/431.dot | 116 + .../src/bench/results_c432/dot/432.dot | 116 + .../src/bench/results_c432/txt/223.txt | 20 + .../src/bench/results_c432/txt/329.txt | 29 + .../src/bench/results_c432/txt/370.txt | 38 + .../src/bench/results_c432/txt/421.txt | 38 + .../src/bench/results_c432/txt/430.txt | 38 + .../src/bench/results_c432/txt/431.txt | 38 + .../src/bench/results_c432/txt/432.txt | 38 + cmake-build-release/src/cmake_install.cmake | 52 + cmake-build-release/src/libManager.a | Bin 0 -> 58370 bytes .../VDSProject_test.dir/main_test.cpp.o | Bin 0 -> 254288 bytes cmake-build-release/src/test/VDSProject_test | Bin 0 -> 682328 bytes .../src/test/cmake_install.cmake | 44 + .../src/verify/cmake_install.cmake | 44 + src/bench/BenchParser.cpp | 474 ++ src/bench/BenchParser.hpp | 348 ++ src/bench/BenchmarkLib.cpp | 145 + src/bench/BenchmarkLib.h | 64 + src/bench/CMakeLists.txt | 17 + src/bench/CircuitToBDD.cpp | 296 ++ src/bench/CircuitToBDD.hpp | 129 + src/bench/bench_grammar.hpp | 104 + src/bench/main_bench.cpp | 46 + src/bench/skip_parser.hpp | 41 + src/verify/CMakeLists.txt | 5 + src/verify/main_verify.cpp | 130 + 158 files changed, 33171 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/VDSProject.iml create mode 100644 .idea/editor.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 benchmarks/iscas85/c1355.bench create mode 100644 benchmarks/iscas85/c17.bench create mode 100644 benchmarks/iscas85/c1908.bench create mode 100644 benchmarks/iscas85/c2670.bench create mode 100644 benchmarks/iscas85/c3540.bench create mode 100644 benchmarks/iscas85/c432.bench create mode 100644 benchmarks/iscas85/c499.bench create mode 100644 benchmarks/iscas85/c5315.bench create mode 100644 benchmarks/iscas85/c6288.bench create mode 100644 benchmarks/iscas85/c7552.bench create mode 100644 benchmarks/iscas85/c880.bench create mode 100644 cmake-build-release/.cmake/api/v1/query/cache-v2 create mode 100644 cmake-build-release/.cmake/api/v1/query/cmakeFiles-v1 create mode 100644 cmake-build-release/.cmake/api/v1/query/codemodel-v2 create mode 100644 cmake-build-release/.cmake/api/v1/query/toolchains-v1 create mode 100644 cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json create mode 100644 cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json create mode 100644 cmake-build-release/.ninja_deps create mode 100644 cmake-build-release/.ninja_log create mode 100644 cmake-build-release/CMakeCache.txt create mode 100644 cmake-build-release/CMakeFiles/3.30.5/CMakeCCompiler.cmake create mode 100644 cmake-build-release/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake create mode 100755 cmake-build-release/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin create mode 100755 cmake-build-release/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin create mode 100644 cmake-build-release/CMakeFiles/3.30.5/CMakeSystem.cmake create mode 100644 cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c create mode 100755 cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/a.out create mode 100644 cmake-build-release/CMakeFiles/3.30.5/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 cmake-build-release/CMakeFiles/3.30.5/CompilerIdCXX/a.out create mode 100644 cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 cmake-build-release/CMakeFiles/TargetDirectories.txt create mode 100644 cmake-build-release/CMakeFiles/clion-Release-log.txt create mode 100644 cmake-build-release/CMakeFiles/clion-environment.txt create mode 100644 cmake-build-release/CMakeFiles/cmake.check_cache create mode 100644 cmake-build-release/CMakeFiles/rules.ninja create mode 100644 cmake-build-release/Testing/Temporary/LastTest.log create mode 100644 cmake-build-release/build.ninja create mode 100644 cmake-build-release/cmake_install.cmake create mode 100644 cmake-build-release/lib/libgtest.a create mode 100644 cmake-build-release/lib/libgtest_main.a create mode 100644 cmake-build-release/src/CMakeFiles/Manager.dir/Manager.cpp.o create mode 100644 cmake-build-release/src/bench/CMakeFiles/Benchmark.dir/BenchParser.cpp.o create mode 100644 cmake-build-release/src/bench/CMakeFiles/Benchmark.dir/BenchmarkLib.cpp.o create mode 100644 cmake-build-release/src/bench/CMakeFiles/Benchmark.dir/CircuitToBDD.cpp.o create mode 100644 cmake-build-release/src/bench/CMakeFiles/VDSProject_bench.dir/main_bench.cpp.o create mode 100755 cmake-build-release/src/bench/VDSProject_bench create mode 100644 cmake-build-release/src/bench/cmake_install.cmake create mode 100644 cmake-build-release/src/bench/libBenchmark.a create mode 100644 cmake-build-release/src/bench/results_c17/BNode_BDD.csv create mode 100644 cmake-build-release/src/bench/results_c17/dot/22.dot create mode 100644 cmake-build-release/src/bench/results_c17/dot/23.dot create mode 100644 cmake-build-release/src/bench/results_c17/txt/22.txt create mode 100644 cmake-build-release/src/bench/results_c17/txt/23.txt create mode 100644 cmake-build-release/src/bench/results_c3540/BNode_BDD.csv create mode 100644 cmake-build-release/src/bench/results_c3540/dot/1713.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/1947.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/3195.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/3833.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/3987.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/4028.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/4145.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/4589.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/4667.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/4815.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/4944.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5002.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5045.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5047.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5078.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5102.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5120.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5121.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5192.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5231.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5360.dot create mode 100644 cmake-build-release/src/bench/results_c3540/dot/5361.dot create mode 100644 cmake-build-release/src/bench/results_c3540/txt/1713.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/1947.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/3195.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/3833.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/3987.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/4028.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/4145.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/4589.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/4667.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/4815.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/4944.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5002.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5045.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5047.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5078.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5102.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5120.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5121.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5192.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5231.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5360.txt create mode 100644 cmake-build-release/src/bench/results_c3540/txt/5361.txt create mode 100644 cmake-build-release/src/bench/results_c432/BNode_BDD.csv create mode 100644 cmake-build-release/src/bench/results_c432/dot/223.dot create mode 100644 cmake-build-release/src/bench/results_c432/dot/329.dot create mode 100644 cmake-build-release/src/bench/results_c432/dot/370.dot create mode 100644 cmake-build-release/src/bench/results_c432/dot/421.dot create mode 100644 cmake-build-release/src/bench/results_c432/dot/430.dot create mode 100644 cmake-build-release/src/bench/results_c432/dot/431.dot create mode 100644 cmake-build-release/src/bench/results_c432/dot/432.dot create mode 100644 cmake-build-release/src/bench/results_c432/txt/223.txt create mode 100644 cmake-build-release/src/bench/results_c432/txt/329.txt create mode 100644 cmake-build-release/src/bench/results_c432/txt/370.txt create mode 100644 cmake-build-release/src/bench/results_c432/txt/421.txt create mode 100644 cmake-build-release/src/bench/results_c432/txt/430.txt create mode 100644 cmake-build-release/src/bench/results_c432/txt/431.txt create mode 100644 cmake-build-release/src/bench/results_c432/txt/432.txt create mode 100644 cmake-build-release/src/cmake_install.cmake create mode 100644 cmake-build-release/src/libManager.a create mode 100644 cmake-build-release/src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o create mode 100755 cmake-build-release/src/test/VDSProject_test create mode 100644 cmake-build-release/src/test/cmake_install.cmake create mode 100644 cmake-build-release/src/verify/cmake_install.cmake create mode 100644 src/bench/BenchParser.cpp create mode 100644 src/bench/BenchParser.hpp create mode 100644 src/bench/BenchmarkLib.cpp create mode 100644 src/bench/BenchmarkLib.h create mode 100644 src/bench/CMakeLists.txt create mode 100644 src/bench/CircuitToBDD.cpp create mode 100644 src/bench/CircuitToBDD.hpp create mode 100644 src/bench/bench_grammar.hpp create mode 100644 src/bench/main_bench.cpp create mode 100644 src/bench/skip_parser.hpp create mode 100644 src/verify/CMakeLists.txt create mode 100644 src/verify/main_verify.cpp diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/VDSProject.iml b/.idea/VDSProject.iml new file mode 100644 index 00000000..f08604bb --- /dev/null +++ b/.idea/VDSProject.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 00000000..1f0ef49b --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,580 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..0b76fe51 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..fa4fdbb5 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/benchmarks/iscas85/c1355.bench b/benchmarks/iscas85/c1355.bench new file mode 100644 index 00000000..99ee1502 --- /dev/null +++ b/benchmarks/iscas85/c1355.bench @@ -0,0 +1,627 @@ +# c1355 +# 41 inputs +# 32 outputs +# 40 inverters +# 506 gates ( 88 ANDs + 456 NANDs + 2 ORs + 32 buffers ) + +INPUT(1) +INPUT(8) +INPUT(15) +INPUT(22) +INPUT(29) +INPUT(36) +INPUT(43) +INPUT(50) +INPUT(57) +INPUT(64) +INPUT(71) +INPUT(78) +INPUT(85) +INPUT(92) +INPUT(99) +INPUT(106) +INPUT(113) +INPUT(120) +INPUT(127) +INPUT(134) +INPUT(141) +INPUT(148) +INPUT(155) +INPUT(162) +INPUT(169) +INPUT(176) +INPUT(183) +INPUT(190) +INPUT(197) +INPUT(204) +INPUT(211) +INPUT(218) +INPUT(225) +INPUT(226) +INPUT(227) +INPUT(228) +INPUT(229) +INPUT(230) +INPUT(231) +INPUT(232) +INPUT(233) + +OUTPUT(1324) +OUTPUT(1325) +OUTPUT(1326) +OUTPUT(1327) +OUTPUT(1328) +OUTPUT(1329) +OUTPUT(1330) +OUTPUT(1331) +OUTPUT(1332) +OUTPUT(1333) +OUTPUT(1334) +OUTPUT(1335) +OUTPUT(1336) +OUTPUT(1337) +OUTPUT(1338) +OUTPUT(1339) +OUTPUT(1340) +OUTPUT(1341) +OUTPUT(1342) +OUTPUT(1343) +OUTPUT(1344) +OUTPUT(1345) +OUTPUT(1346) +OUTPUT(1347) +OUTPUT(1348) +OUTPUT(1349) +OUTPUT(1350) +OUTPUT(1351) +OUTPUT(1352) +OUTPUT(1353) +OUTPUT(1354) +OUTPUT(1355) + +242 = AND(225, 233) +245 = AND(226, 233) +248 = AND(227, 233) +251 = AND(228, 233) +254 = AND(229, 233) +257 = AND(230, 233) +260 = AND(231, 233) +263 = AND(232, 233) +266 = NAND(1, 8) +269 = NAND(15, 22) +272 = NAND(29, 36) +275 = NAND(43, 50) +278 = NAND(57, 64) +281 = NAND(71, 78) +284 = NAND(85, 92) +287 = NAND(99, 106) +290 = NAND(113, 120) +293 = NAND(127, 134) +296 = NAND(141, 148) +299 = NAND(155, 162) +302 = NAND(169, 176) +305 = NAND(183, 190) +308 = NAND(197, 204) +311 = NAND(211, 218) +314 = NAND(1, 29) +317 = NAND(57, 85) +320 = NAND(8, 36) +323 = NAND(64, 92) +326 = NAND(15, 43) +329 = NAND(71, 99) +332 = NAND(22, 50) +335 = NAND(78, 106) +338 = NAND(113, 141) +341 = NAND(169, 197) +344 = NAND(120, 148) +347 = NAND(176, 204) +350 = NAND(127, 155) +353 = NAND(183, 211) +356 = NAND(134, 162) +359 = NAND(190, 218) +362 = NAND(1, 266) +363 = NAND(8, 266) +364 = NAND(15, 269) +365 = NAND(22, 269) +366 = NAND(29, 272) +367 = NAND(36, 272) +368 = NAND(43, 275) +369 = NAND(50, 275) +370 = NAND(57, 278) +371 = NAND(64, 278) +372 = NAND(71, 281) +373 = NAND(78, 281) +374 = NAND(85, 284) +375 = NAND(92, 284) +376 = NAND(99, 287) +377 = NAND(106, 287) +378 = NAND(113, 290) +379 = NAND(120, 290) +380 = NAND(127, 293) +381 = NAND(134, 293) +382 = NAND(141, 296) +383 = NAND(148, 296) +384 = NAND(155, 299) +385 = NAND(162, 299) +386 = NAND(169, 302) +387 = NAND(176, 302) +388 = NAND(183, 305) +389 = NAND(190, 305) +390 = NAND(197, 308) +391 = NAND(204, 308) +392 = NAND(211, 311) +393 = NAND(218, 311) +394 = NAND(1, 314) +395 = NAND(29, 314) +396 = NAND(57, 317) +397 = NAND(85, 317) +398 = NAND(8, 320) +399 = NAND(36, 320) +400 = NAND(64, 323) +401 = NAND(92, 323) +402 = NAND(15, 326) +403 = NAND(43, 326) +404 = NAND(71, 329) +405 = NAND(99, 329) +406 = NAND(22, 332) +407 = NAND(50, 332) +408 = NAND(78, 335) +409 = NAND(106, 335) +410 = NAND(113, 338) +411 = NAND(141, 338) +412 = NAND(169, 341) +413 = NAND(197, 341) +414 = NAND(120, 344) +415 = NAND(148, 344) +416 = NAND(176, 347) +417 = NAND(204, 347) +418 = NAND(127, 350) +419 = NAND(155, 350) +420 = NAND(183, 353) +421 = NAND(211, 353) +422 = NAND(134, 356) +423 = NAND(162, 356) +424 = NAND(190, 359) +425 = NAND(218, 359) +426 = NAND(362, 363) +429 = NAND(364, 365) +432 = NAND(366, 367) +435 = NAND(368, 369) +438 = NAND(370, 371) +441 = NAND(372, 373) +444 = NAND(374, 375) +447 = NAND(376, 377) +450 = NAND(378, 379) +453 = NAND(380, 381) +456 = NAND(382, 383) +459 = NAND(384, 385) +462 = NAND(386, 387) +465 = NAND(388, 389) +468 = NAND(390, 391) +471 = NAND(392, 393) +474 = NAND(394, 395) +477 = NAND(396, 397) +480 = NAND(398, 399) +483 = NAND(400, 401) +486 = NAND(402, 403) +489 = NAND(404, 405) +492 = NAND(406, 407) +495 = NAND(408, 409) +498 = NAND(410, 411) +501 = NAND(412, 413) +504 = NAND(414, 415) +507 = NAND(416, 417) +510 = NAND(418, 419) +513 = NAND(420, 421) +516 = NAND(422, 423) +519 = NAND(424, 425) +522 = NAND(426, 429) +525 = NAND(432, 435) +528 = NAND(438, 441) +531 = NAND(444, 447) +534 = NAND(450, 453) +537 = NAND(456, 459) +540 = NAND(462, 465) +543 = NAND(468, 471) +546 = NAND(474, 477) +549 = NAND(480, 483) +552 = NAND(486, 489) +555 = NAND(492, 495) +558 = NAND(498, 501) +561 = NAND(504, 507) +564 = NAND(510, 513) +567 = NAND(516, 519) +570 = NAND(426, 522) +571 = NAND(429, 522) +572 = NAND(432, 525) +573 = NAND(435, 525) +574 = NAND(438, 528) +575 = NAND(441, 528) +576 = NAND(444, 531) +577 = NAND(447, 531) +578 = NAND(450, 534) +579 = NAND(453, 534) +580 = NAND(456, 537) +581 = NAND(459, 537) +582 = NAND(462, 540) +583 = NAND(465, 540) +584 = NAND(468, 543) +585 = NAND(471, 543) +586 = NAND(474, 546) +587 = NAND(477, 546) +588 = NAND(480, 549) +589 = NAND(483, 549) +590 = NAND(486, 552) +591 = NAND(489, 552) +592 = NAND(492, 555) +593 = NAND(495, 555) +594 = NAND(498, 558) +595 = NAND(501, 558) +596 = NAND(504, 561) +597 = NAND(507, 561) +598 = NAND(510, 564) +599 = NAND(513, 564) +600 = NAND(516, 567) +601 = NAND(519, 567) +602 = NAND(570, 571) +607 = NAND(572, 573) +612 = NAND(574, 575) +617 = NAND(576, 577) +622 = NAND(578, 579) +627 = NAND(580, 581) +632 = NAND(582, 583) +637 = NAND(584, 585) +642 = NAND(586, 587) +645 = NAND(588, 589) +648 = NAND(590, 591) +651 = NAND(592, 593) +654 = NAND(594, 595) +657 = NAND(596, 597) +660 = NAND(598, 599) +663 = NAND(600, 601) +666 = NAND(602, 607) +669 = NAND(612, 617) +672 = NAND(602, 612) +675 = NAND(607, 617) +678 = NAND(622, 627) +681 = NAND(632, 637) +684 = NAND(622, 632) +687 = NAND(627, 637) +690 = NAND(602, 666) +691 = NAND(607, 666) +692 = NAND(612, 669) +693 = NAND(617, 669) +694 = NAND(602, 672) +695 = NAND(612, 672) +696 = NAND(607, 675) +697 = NAND(617, 675) +698 = NAND(622, 678) +699 = NAND(627, 678) +700 = NAND(632, 681) +701 = NAND(637, 681) +702 = NAND(622, 684) +703 = NAND(632, 684) +704 = NAND(627, 687) +705 = NAND(637, 687) +706 = NAND(690, 691) +709 = NAND(692, 693) +712 = NAND(694, 695) +715 = NAND(696, 697) +718 = NAND(698, 699) +721 = NAND(700, 701) +724 = NAND(702, 703) +727 = NAND(704, 705) +730 = NAND(242, 718) +733 = NAND(245, 721) +736 = NAND(248, 724) +739 = NAND(251, 727) +742 = NAND(254, 706) +745 = NAND(257, 709) +748 = NAND(260, 712) +751 = NAND(263, 715) +754 = NAND(242, 730) +755 = NAND(718, 730) +756 = NAND(245, 733) +757 = NAND(721, 733) +758 = NAND(248, 736) +759 = NAND(724, 736) +760 = NAND(251, 739) +761 = NAND(727, 739) +762 = NAND(254, 742) +763 = NAND(706, 742) +764 = NAND(257, 745) +765 = NAND(709, 745) +766 = NAND(260, 748) +767 = NAND(712, 748) +768 = NAND(263, 751) +769 = NAND(715, 751) +770 = NAND(754, 755) +773 = NAND(756, 757) +776 = NAND(758, 759) +779 = NAND(760, 761) +782 = NAND(762, 763) +785 = NAND(764, 765) +788 = NAND(766, 767) +791 = NAND(768, 769) +794 = NAND(642, 770) +797 = NAND(645, 773) +800 = NAND(648, 776) +803 = NAND(651, 779) +806 = NAND(654, 782) +809 = NAND(657, 785) +812 = NAND(660, 788) +815 = NAND(663, 791) +818 = NAND(642, 794) +819 = NAND(770, 794) +820 = NAND(645, 797) +821 = NAND(773, 797) +822 = NAND(648, 800) +823 = NAND(776, 800) +824 = NAND(651, 803) +825 = NAND(779, 803) +826 = NAND(654, 806) +827 = NAND(782, 806) +828 = NAND(657, 809) +829 = NAND(785, 809) +830 = NAND(660, 812) +831 = NAND(788, 812) +832 = NAND(663, 815) +833 = NAND(791, 815) +834 = NAND(818, 819) +847 = NAND(820, 821) +860 = NAND(822, 823) +873 = NAND(824, 825) +886 = NAND(828, 829) +899 = NAND(832, 833) +912 = NAND(830, 831) +925 = NAND(826, 827) +938 = NOT(834) +939 = NOT(847) +940 = NOT(860) +941 = NOT(834) +942 = NOT(847) +943 = NOT(873) +944 = NOT(834) +945 = NOT(860) +946 = NOT(873) +947 = NOT(847) +948 = NOT(860) +949 = NOT(873) +950 = NOT(886) +951 = NOT(899) +952 = NOT(886) +953 = NOT(912) +954 = NOT(925) +955 = NOT(899) +956 = NOT(925) +957 = NOT(912) +958 = NOT(925) +959 = NOT(886) +960 = NOT(912) +961 = NOT(925) +962 = NOT(886) +963 = NOT(899) +964 = NOT(925) +965 = NOT(912) +966 = NOT(899) +967 = NOT(886) +968 = NOT(912) +969 = NOT(899) +970 = NOT(847) +971 = NOT(873) +972 = NOT(847) +973 = NOT(860) +974 = NOT(834) +975 = NOT(873) +976 = NOT(834) +977 = NOT(860) +978 = AND(938, 939, 940, 873) +979 = AND(941, 942, 860, 943) +980 = AND(944, 847, 945, 946) +981 = AND(834, 947, 948, 949) +982 = AND(958, 959, 960, 899) +983 = AND(961, 962, 912, 963) +984 = AND(964, 886, 965, 966) +985 = AND(925, 967, 968, 969) +986 = OR(978, 979, 980, 981) +991 = OR(982, 983, 984, 985) +996 = AND(925, 950, 912, 951, 986) +1001 = AND(925, 952, 953, 899, 986) +1006 = AND(954, 886, 912, 955, 986) +1011 = AND(956, 886, 957, 899, 986) +1016 = AND(834, 970, 860, 971, 991) +1021 = AND(834, 972, 973, 873, 991) +1026 = AND(974, 847, 860, 975, 991) +1031 = AND(976, 847, 977, 873, 991) +1036 = AND(834, 996) +1039 = AND(847, 996) +1042 = AND(860, 996) +1045 = AND(873, 996) +1048 = AND(834, 1001) +1051 = AND(847, 1001) +1054 = AND(860, 1001) +1057 = AND(873, 1001) +1060 = AND(834, 1006) +1063 = AND(847, 1006) +1066 = AND(860, 1006) +1069 = AND(873, 1006) +1072 = AND(834, 1011) +1075 = AND(847, 1011) +1078 = AND(860, 1011) +1081 = AND(873, 1011) +1084 = AND(925, 1016) +1087 = AND(886, 1016) +1090 = AND(912, 1016) +1093 = AND(899, 1016) +1096 = AND(925, 1021) +1099 = AND(886, 1021) +1102 = AND(912, 1021) +1105 = AND(899, 1021) +1108 = AND(925, 1026) +1111 = AND(886, 1026) +1114 = AND(912, 1026) +1117 = AND(899, 1026) +1120 = AND(925, 1031) +1123 = AND(886, 1031) +1126 = AND(912, 1031) +1129 = AND(899, 1031) +1132 = NAND(1, 1036) +1135 = NAND(8, 1039) +1138 = NAND(15, 1042) +1141 = NAND(22, 1045) +1144 = NAND(29, 1048) +1147 = NAND(36, 1051) +1150 = NAND(43, 1054) +1153 = NAND(50, 1057) +1156 = NAND(57, 1060) +1159 = NAND(64, 1063) +1162 = NAND(71, 1066) +1165 = NAND(78, 1069) +1168 = NAND(85, 1072) +1171 = NAND(92, 1075) +1174 = NAND(99, 1078) +1177 = NAND(106, 1081) +1180 = NAND(113, 1084) +1183 = NAND(120, 1087) +1186 = NAND(127, 1090) +1189 = NAND(134, 1093) +1192 = NAND(141, 1096) +1195 = NAND(148, 1099) +1198 = NAND(155, 1102) +1201 = NAND(162, 1105) +1204 = NAND(169, 1108) +1207 = NAND(176, 1111) +1210 = NAND(183, 1114) +1213 = NAND(190, 1117) +1216 = NAND(197, 1120) +1219 = NAND(204, 1123) +1222 = NAND(211, 1126) +1225 = NAND(218, 1129) +1228 = NAND(1, 1132) +1229 = NAND(1036, 1132) +1230 = NAND(8, 1135) +1231 = NAND(1039, 1135) +1232 = NAND(15, 1138) +1233 = NAND(1042, 1138) +1234 = NAND(22, 1141) +1235 = NAND(1045, 1141) +1236 = NAND(29, 1144) +1237 = NAND(1048, 1144) +1238 = NAND(36, 1147) +1239 = NAND(1051, 1147) +1240 = NAND(43, 1150) +1241 = NAND(1054, 1150) +1242 = NAND(50, 1153) +1243 = NAND(1057, 1153) +1244 = NAND(57, 1156) +1245 = NAND(1060, 1156) +1246 = NAND(64, 1159) +1247 = NAND(1063, 1159) +1248 = NAND(71, 1162) +1249 = NAND(1066, 1162) +1250 = NAND(78, 1165) +1251 = NAND(1069, 1165) +1252 = NAND(85, 1168) +1253 = NAND(1072, 1168) +1254 = NAND(92, 1171) +1255 = NAND(1075, 1171) +1256 = NAND(99, 1174) +1257 = NAND(1078, 1174) +1258 = NAND(106, 1177) +1259 = NAND(1081, 1177) +1260 = NAND(113, 1180) +1261 = NAND(1084, 1180) +1262 = NAND(120, 1183) +1263 = NAND(1087, 1183) +1264 = NAND(127, 1186) +1265 = NAND(1090, 1186) +1266 = NAND(134, 1189) +1267 = NAND(1093, 1189) +1268 = NAND(141, 1192) +1269 = NAND(1096, 1192) +1270 = NAND(148, 1195) +1271 = NAND(1099, 1195) +1272 = NAND(155, 1198) +1273 = NAND(1102, 1198) +1274 = NAND(162, 1201) +1275 = NAND(1105, 1201) +1276 = NAND(169, 1204) +1277 = NAND(1108, 1204) +1278 = NAND(176, 1207) +1279 = NAND(1111, 1207) +1280 = NAND(183, 1210) +1281 = NAND(1114, 1210) +1282 = NAND(190, 1213) +1283 = NAND(1117, 1213) +1284 = NAND(197, 1216) +1285 = NAND(1120, 1216) +1286 = NAND(204, 1219) +1287 = NAND(1123, 1219) +1288 = NAND(211, 1222) +1289 = NAND(1126, 1222) +1290 = NAND(218, 1225) +1291 = NAND(1129, 1225) +1292 = NAND(1228, 1229) +1293 = NAND(1230, 1231) +1294 = NAND(1232, 1233) +1295 = NAND(1234, 1235) +1296 = NAND(1236, 1237) +1297 = NAND(1238, 1239) +1298 = NAND(1240, 1241) +1299 = NAND(1242, 1243) +1300 = NAND(1244, 1245) +1301 = NAND(1246, 1247) +1302 = NAND(1248, 1249) +1303 = NAND(1250, 1251) +1304 = NAND(1252, 1253) +1305 = NAND(1254, 1255) +1306 = NAND(1256, 1257) +1307 = NAND(1258, 1259) +1308 = NAND(1260, 1261) +1309 = NAND(1262, 1263) +1310 = NAND(1264, 1265) +1311 = NAND(1266, 1267) +1312 = NAND(1268, 1269) +1313 = NAND(1270, 1271) +1314 = NAND(1272, 1273) +1315 = NAND(1274, 1275) +1316 = NAND(1276, 1277) +1317 = NAND(1278, 1279) +1318 = NAND(1280, 1281) +1319 = NAND(1282, 1283) +1320 = NAND(1284, 1285) +1321 = NAND(1286, 1287) +1322 = NAND(1288, 1289) +1323 = NAND(1290, 1291) +1324 = BUFF(1292) +1325 = BUFF(1293) +1326 = BUFF(1294) +1327 = BUFF(1295) +1328 = BUFF(1296) +1329 = BUFF(1297) +1330 = BUFF(1298) +1331 = BUFF(1299) +1332 = BUFF(1300) +1333 = BUFF(1301) +1334 = BUFF(1302) +1335 = BUFF(1303) +1336 = BUFF(1304) +1337 = BUFF(1305) +1338 = BUFF(1306) +1339 = BUFF(1307) +1340 = BUFF(1308) +1341 = BUFF(1309) +1342 = BUFF(1310) +1343 = BUFF(1311) +1344 = BUFF(1312) +1345 = BUFF(1313) +1346 = BUFF(1314) +1347 = BUFF(1315) +1348 = BUFF(1316) +1349 = BUFF(1317) +1350 = BUFF(1318) +1351 = BUFF(1319) +1352 = BUFF(1320) +1353 = BUFF(1321) +1354 = BUFF(1322) +1355 = BUFF(1323) diff --git a/benchmarks/iscas85/c17.bench b/benchmarks/iscas85/c17.bench new file mode 100644 index 00000000..82d21cd1 --- /dev/null +++ b/benchmarks/iscas85/c17.bench @@ -0,0 +1,21 @@ +# c17 +# 5 inputs +# 2 outputs +# 0 inverter +# 6 gates ( 6 NANDs ) + +INPUT(1) +INPUT(2) +INPUT(3) +INPUT(6) +INPUT(7) + +OUTPUT(22) +OUTPUT(23) + +10 = NAND(1, 3) +11 = NAND(3, 6) +16 = NAND(2, 11) +19 = NAND(11, 7) +22 = NAND(10, 16) +23 = NAND(16, 19) diff --git a/benchmarks/iscas85/c1908.bench b/benchmarks/iscas85/c1908.bench new file mode 100644 index 00000000..794965f6 --- /dev/null +++ b/benchmarks/iscas85/c1908.bench @@ -0,0 +1,946 @@ +# c1908 +# 33 inputs +# 25 outputs +# 277 inverters +# 603 gates ( 225 ANDs + 654 NANDs + 1 NOR + 162 buffers ) + +INPUT(1) +INPUT(4) +INPUT(7) +INPUT(10) +INPUT(13) +INPUT(16) +INPUT(19) +INPUT(22) +INPUT(25) +INPUT(28) +INPUT(31) +INPUT(34) +INPUT(37) +INPUT(40) +INPUT(43) +INPUT(46) +INPUT(49) +INPUT(53) +INPUT(56) +INPUT(60) +INPUT(63) +INPUT(66) +INPUT(69) +INPUT(72) +INPUT(76) +INPUT(79) +INPUT(82) +INPUT(85) +INPUT(88) +INPUT(91) +INPUT(94) +INPUT(99) +INPUT(104) + +OUTPUT(2753) +OUTPUT(2754) +OUTPUT(2755) +OUTPUT(2756) +OUTPUT(2762) +OUTPUT(2767) +OUTPUT(2768) +OUTPUT(2779) +OUTPUT(2780) +OUTPUT(2781) +OUTPUT(2782) +OUTPUT(2783) +OUTPUT(2784) +OUTPUT(2785) +OUTPUT(2786) +OUTPUT(2787) +OUTPUT(2811) +OUTPUT(2886) +OUTPUT(2887) +OUTPUT(2888) +OUTPUT(2889) +OUTPUT(2890) +OUTPUT(2891) +OUTPUT(2892) +OUTPUT(2899) + +190 = NOT(1) +194 = NOT(4) +197 = NOT(7) +201 = NOT(10) +206 = NOT(13) +209 = NOT(16) +212 = NOT(19) +216 = NOT(22) +220 = NOT(25) +225 = NOT(28) +229 = NOT(31) +232 = NOT(34) +235 = NOT(37) +239 = NOT(40) +243 = NOT(43) +247 = NOT(46) +251 = NAND(63, 88) +252 = NAND(66, 91) +253 = NOT(72) +256 = NOT(72) +257 = BUFF(69) +260 = BUFF(69) +263 = NOT(76) +266 = NOT(79) +269 = NOT(82) +272 = NOT(85) +275 = NOT(104) +276 = NOT(104) +277 = NOT(88) +280 = NOT(91) +283 = BUFF(94) +290 = NOT(94) +297 = BUFF(94) +300 = NOT(94) +303 = BUFF(99) +306 = NOT(99) +313 = NOT(99) +316 = BUFF(104) +319 = NOT(104) +326 = BUFF(104) +331 = BUFF(104) +338 = NOT(104) +343 = BUFF(1) +346 = BUFF(4) +349 = BUFF(7) +352 = BUFF(10) +355 = BUFF(13) +358 = BUFF(16) +361 = BUFF(19) +364 = BUFF(22) +367 = BUFF(25) +370 = BUFF(28) +373 = BUFF(31) +376 = BUFF(34) +379 = BUFF(37) +382 = BUFF(40) +385 = BUFF(43) +388 = BUFF(46) +534 = NOT(343) +535 = NOT(346) +536 = NOT(349) +537 = NOT(352) +538 = NOT(355) +539 = NOT(358) +540 = NOT(361) +541 = NOT(364) +542 = NOT(367) +543 = NOT(370) +544 = NOT(373) +545 = NOT(376) +546 = NOT(379) +547 = NOT(382) +548 = NOT(385) +549 = NOT(388) +550 = NAND(306, 331) +551 = NAND(306, 331) +552 = NAND(306, 331) +553 = NAND(306, 331) +554 = NAND(306, 331) +555 = NAND(306, 331) +556 = BUFF(190) +559 = BUFF(194) +562 = BUFF(206) +565 = BUFF(209) +568 = BUFF(225) +571 = BUFF(243) +574 = AND(63, 319) +577 = BUFF(220) +580 = BUFF(229) +583 = BUFF(232) +586 = AND(66, 319) +589 = BUFF(239) +592 = AND(49, 253, 319) +595 = BUFF(247) +598 = BUFF(239) +601 = NAND(326, 277) +602 = NAND(326, 280) +603 = NAND(260, 72) +608 = NAND(260, 300) +612 = NAND(256, 300) +616 = BUFF(201) +619 = BUFF(216) +622 = BUFF(220) +625 = BUFF(239) +628 = BUFF(190) +631 = BUFF(190) +634 = BUFF(194) +637 = BUFF(229) +640 = BUFF(197) +643 = AND(56, 257, 319) +646 = BUFF(232) +649 = BUFF(201) +652 = BUFF(235) +655 = AND(60, 257, 319) +658 = BUFF(263) +661 = BUFF(263) +664 = BUFF(266) +667 = BUFF(266) +670 = BUFF(269) +673 = BUFF(269) +676 = BUFF(272) +679 = BUFF(272) +682 = AND(251, 316) +685 = AND(252, 316) +688 = BUFF(197) +691 = BUFF(197) +694 = BUFF(212) +697 = BUFF(212) +700 = BUFF(247) +703 = BUFF(247) +706 = BUFF(235) +709 = BUFF(235) +712 = BUFF(201) +715 = BUFF(201) +718 = BUFF(206) +721 = BUFF(216) +724 = AND(53, 253, 319) +727 = BUFF(243) +730 = BUFF(220) +733 = BUFF(220) +736 = BUFF(209) +739 = BUFF(216) +742 = BUFF(225) +745 = BUFF(243) +748 = BUFF(212) +751 = BUFF(225) +886 = NOT(682) +887 = NOT(685) +888 = NOT(616) +889 = NOT(619) +890 = NOT(622) +891 = NOT(625) +892 = NOT(631) +893 = NOT(643) +894 = NOT(649) +895 = NOT(652) +896 = NOT(655) +897 = AND(49, 612) +898 = AND(56, 608) +899 = NAND(53, 612) +903 = NAND(60, 608) +907 = NAND(49, 612) +910 = NAND(56, 608) +913 = NOT(661) +914 = NOT(658) +915 = NOT(667) +916 = NOT(664) +917 = NOT(673) +918 = NOT(670) +919 = NOT(679) +920 = NOT(676) +921 = NAND(277, 297, 326, 603) +922 = NAND(280, 297, 326, 603) +923 = NAND(303, 338, 603) +926 = AND(303, 338, 603) +935 = BUFF(556) +938 = NOT(688) +939 = BUFF(556) +942 = NOT(691) +943 = BUFF(562) +946 = NOT(694) +947 = BUFF(562) +950 = NOT(697) +951 = BUFF(568) +954 = NOT(700) +955 = BUFF(568) +958 = NOT(703) +959 = BUFF(574) +962 = BUFF(574) +965 = BUFF(580) +968 = NOT(706) +969 = BUFF(580) +972 = NOT(709) +973 = BUFF(586) +976 = NOT(712) +977 = BUFF(586) +980 = NOT(715) +981 = BUFF(592) +984 = NOT(628) +985 = BUFF(592) +988 = NOT(718) +989 = NOT(721) +990 = NOT(634) +991 = NOT(724) +992 = NOT(727) +993 = NOT(637) +994 = BUFF(595) +997 = NOT(730) +998 = BUFF(595) +1001 = NOT(733) +1002 = NOT(736) +1003 = NOT(739) +1004 = NOT(640) +1005 = NOT(742) +1006 = NOT(745) +1007 = NOT(646) +1008 = NOT(748) +1009 = NOT(751) +1010 = BUFF(559) +1013 = BUFF(559) +1016 = BUFF(565) +1019 = BUFF(565) +1022 = BUFF(571) +1025 = BUFF(571) +1028 = BUFF(577) +1031 = BUFF(577) +1034 = BUFF(583) +1037 = BUFF(583) +1040 = BUFF(589) +1043 = BUFF(589) +1046 = BUFF(598) +1049 = BUFF(598) +1054 = NAND(619, 888) +1055 = NAND(616, 889) +1063 = NAND(625, 890) +1064 = NAND(622, 891) +1067 = NAND(655, 895) +1068 = NAND(652, 896) +1119 = NAND(721, 988) +1120 = NAND(718, 989) +1121 = NAND(727, 991) +1122 = NAND(724, 992) +1128 = NAND(739, 1002) +1129 = NAND(736, 1003) +1130 = NAND(745, 1005) +1131 = NAND(742, 1006) +1132 = NAND(751, 1008) +1133 = NAND(748, 1009) +1148 = NOT(939) +1149 = NOT(935) +1150 = NAND(1054, 1055) +1151 = NOT(943) +1152 = NOT(947) +1153 = NOT(955) +1154 = NOT(951) +1155 = NOT(962) +1156 = NOT(969) +1157 = NOT(977) +1158 = NAND(1063, 1064) +1159 = NOT(985) +1160 = NAND(985, 892) +1161 = NOT(998) +1162 = NAND(1067, 1068) +1163 = NOT(899) +1164 = BUFF(899) +1167 = NOT(903) +1168 = BUFF(903) +1171 = NAND(921, 923) +1188 = NAND(922, 923) +1205 = NOT(1010) +1206 = NAND(1010, 938) +1207 = NOT(1013) +1208 = NAND(1013, 942) +1209 = NOT(1016) +1210 = NAND(1016, 946) +1211 = NOT(1019) +1212 = NAND(1019, 950) +1213 = NOT(1022) +1214 = NAND(1022, 954) +1215 = NOT(1025) +1216 = NAND(1025, 958) +1217 = NOT(1028) +1218 = NOT(959) +1219 = NOT(1031) +1220 = NOT(1034) +1221 = NAND(1034, 968) +1222 = NOT(965) +1223 = NOT(1037) +1224 = NAND(1037, 972) +1225 = NOT(1040) +1226 = NAND(1040, 976) +1227 = NOT(973) +1228 = NOT(1043) +1229 = NAND(1043, 980) +1230 = NOT(981) +1231 = NAND(981, 984) +1232 = NAND(1119, 1120) +1235 = NAND(1121, 1122) +1238 = NOT(1046) +1239 = NAND(1046, 997) +1240 = NOT(994) +1241 = NOT(1049) +1242 = NAND(1049, 1001) +1243 = NAND(1128, 1129) +1246 = NAND(1130, 1131) +1249 = NAND(1132, 1133) +1252 = BUFF(907) +1255 = BUFF(907) +1258 = BUFF(910) +1261 = BUFF(910) +1264 = NOT(1150) +1267 = NAND(631, 1159) +1309 = NAND(688, 1205) +1310 = NAND(691, 1207) +1311 = NAND(694, 1209) +1312 = NAND(697, 1211) +1313 = NAND(700, 1213) +1314 = NAND(703, 1215) +1315 = NAND(706, 1220) +1316 = NAND(709, 1223) +1317 = NAND(712, 1225) +1318 = NAND(715, 1228) +1319 = NOT(1158) +1322 = NAND(628, 1230) +1327 = NAND(730, 1238) +1328 = NAND(733, 1241) +1334 = NOT(1162) +1344 = NAND(1267, 1160) +1345 = NAND(1249, 894) +1346 = NOT(1249) +1348 = NOT(1255) +1349 = NOT(1252) +1350 = NOT(1261) +1351 = NOT(1258) +1352 = NAND(1309, 1206) +1355 = NAND(1310, 1208) +1358 = NAND(1311, 1210) +1361 = NAND(1312, 1212) +1364 = NAND(1313, 1214) +1367 = NAND(1314, 1216) +1370 = NAND(1315, 1221) +1373 = NAND(1316, 1224) +1376 = NAND(1317, 1226) +1379 = NAND(1318, 1229) +1383 = NAND(1322, 1231) +1386 = NOT(1232) +1387 = NAND(1232, 990) +1388 = NOT(1235) +1389 = NAND(1235, 993) +1390 = NAND(1327, 1239) +1393 = NAND(1328, 1242) +1396 = NOT(1243) +1397 = NAND(1243, 1004) +1398 = NOT(1246) +1399 = NAND(1246, 1007) +1409 = NOT(1319) +1412 = NAND(649, 1346) +1413 = NOT(1334) +1416 = BUFF(1264) +1419 = BUFF(1264) +1433 = NAND(634, 1386) +1434 = NAND(637, 1388) +1438 = NAND(640, 1396) +1439 = NAND(646, 1398) +1440 = NOT(1344) +1443 = NAND(1355, 1148) +1444 = NOT(1355) +1445 = NAND(1352, 1149) +1446 = NOT(1352) +1447 = NAND(1358, 1151) +1448 = NOT(1358) +1451 = NAND(1361, 1152) +1452 = NOT(1361) +1453 = NAND(1367, 1153) +1454 = NOT(1367) +1455 = NAND(1364, 1154) +1456 = NOT(1364) +1457 = NAND(1373, 1156) +1458 = NOT(1373) +1459 = NAND(1379, 1157) +1460 = NOT(1379) +1461 = NOT(1383) +1462 = NAND(1393, 1161) +1463 = NOT(1393) +1464 = NAND(1345, 1412) +1468 = NOT(1370) +1469 = NAND(1370, 1222) +1470 = NOT(1376) +1471 = NAND(1376, 1227) +1472 = NAND(1387, 1433) +1475 = NOT(1390) +1476 = NAND(1390, 1240) +1478 = NAND(1389, 1434) +1481 = NAND(1399, 1439) +1484 = NAND(1397, 1438) +1487 = NAND(939, 1444) +1488 = NAND(935, 1446) +1489 = NAND(943, 1448) +1490 = NOT(1419) +1491 = NOT(1416) +1492 = NAND(947, 1452) +1493 = NAND(955, 1454) +1494 = NAND(951, 1456) +1495 = NAND(969, 1458) +1496 = NAND(977, 1460) +1498 = NAND(998, 1463) +1499 = NOT(1440) +1500 = NAND(965, 1468) +1501 = NAND(973, 1470) +1504 = NAND(994, 1475) +1510 = NOT(1464) +1513 = NAND(1443, 1487) +1514 = NAND(1445, 1488) +1517 = NAND(1447, 1489) +1520 = NAND(1451, 1492) +1521 = NAND(1453, 1493) +1522 = NAND(1455, 1494) +1526 = NAND(1457, 1495) +1527 = NAND(1459, 1496) +1528 = NOT(1472) +1529 = NAND(1462, 1498) +1530 = NOT(1478) +1531 = NOT(1481) +1532 = NOT(1484) +1534 = NAND(1471, 1501) +1537 = NAND(1469, 1500) +1540 = NAND(1476, 1504) +1546 = NOT(1513) +1554 = NOT(1521) +1557 = NOT(1526) +1561 = NOT(1520) +1567 = NAND(1484, 1531) +1568 = NAND(1481, 1532) +1569 = NOT(1510) +1571 = NOT(1527) +1576 = NOT(1529) +1588 = BUFF(1522) +1591 = NOT(1534) +1593 = NOT(1537) +1594 = NAND(1540, 1530) +1595 = NOT(1540) +1596 = NAND(1567, 1568) +1600 = BUFF(1517) +1603 = BUFF(1517) +1606 = BUFF(1522) +1609 = BUFF(1522) +1612 = BUFF(1514) +1615 = BUFF(1514) +1620 = BUFF(1557) +1623 = BUFF(1554) +1635 = NOT(1571) +1636 = NAND(1478, 1595) +1638 = NAND(1576, 1569) +1639 = NOT(1576) +1640 = BUFF(1561) +1643 = BUFF(1561) +1647 = BUFF(1546) +1651 = BUFF(1546) +1658 = BUFF(1554) +1661 = BUFF(1557) +1664 = BUFF(1557) +1671 = NAND(1596, 893) +1672 = NOT(1596) +1675 = NOT(1600) +1677 = NOT(1603) +1678 = NAND(1606, 1217) +1679 = NOT(1606) +1680 = NAND(1609, 1219) +1681 = NOT(1609) +1682 = NOT(1612) +1683 = NOT(1615) +1685 = NAND(1594, 1636) +1688 = NAND(1510, 1639) +1697 = BUFF(1588) +1701 = BUFF(1588) +1706 = NAND(643, 1672) +1707 = NOT(1643) +1708 = NAND(1647, 1675) +1709 = NOT(1647) +1710 = NAND(1651, 1677) +1711 = NOT(1651) +1712 = NAND(1028, 1679) +1713 = NAND(1031, 1681) +1714 = BUFF(1620) +1717 = BUFF(1620) +1720 = NAND(1658, 1593) +1721 = NOT(1658) +1723 = NAND(1638, 1688) +1727 = NOT(1661) +1728 = NOT(1640) +1730 = NOT(1664) +1731 = BUFF(1623) +1734 = BUFF(1623) +1740 = NAND(1685, 1528) +1741 = NOT(1685) +1742 = NAND(1671, 1706) +1746 = NAND(1600, 1709) +1747 = NAND(1603, 1711) +1748 = NAND(1678, 1712) +1751 = NAND(1680, 1713) +1759 = NAND(1537, 1721) +1761 = NOT(1697) +1762 = NAND(1697, 1727) +1763 = NOT(1701) +1764 = NAND(1701, 1730) +1768 = NOT(1717) +1769 = NAND(1472, 1741) +1772 = NAND(1723, 1413) +1773 = NOT(1723) +1774 = NAND(1708, 1746) +1777 = NAND(1710, 1747) +1783 = NOT(1731) +1784 = NAND(1731, 1682) +1785 = NOT(1714) +1786 = NOT(1734) +1787 = NAND(1734, 1683) +1788 = NAND(1720, 1759) +1791 = NAND(1661, 1761) +1792 = NAND(1664, 1763) +1795 = NAND(1751, 1155) +1796 = NOT(1751) +1798 = NAND(1740, 1769) +1801 = NAND(1334, 1773) +1802 = NAND(1742, 290) +1807 = NOT(1748) +1808 = NAND(1748, 1218) +1809 = NAND(1612, 1783) +1810 = NAND(1615, 1786) +1812 = NAND(1791, 1762) +1815 = NAND(1792, 1764) +1818 = BUFF(1742) +1821 = NAND(1777, 1490) +1822 = NOT(1777) +1823 = NAND(1774, 1491) +1824 = NOT(1774) +1825 = NAND(962, 1796) +1826 = NAND(1788, 1409) +1827 = NOT(1788) +1830 = NAND(1772, 1801) +1837 = NAND(959, 1807) +1838 = NAND(1809, 1784) +1841 = NAND(1810, 1787) +1848 = NAND(1419, 1822) +1849 = NAND(1416, 1824) +1850 = NAND(1795, 1825) +1852 = NAND(1319, 1827) +1855 = NAND(1815, 1707) +1856 = NOT(1815) +1857 = NOT(1818) +1858 = NAND(1798, 290) +1864 = NOT(1812) +1865 = NAND(1812, 1728) +1866 = BUFF(1798) +1869 = BUFF(1802) +1872 = BUFF(1802) +1875 = NAND(1808, 1837) +1878 = NAND(1821, 1848) +1879 = NAND(1823, 1849) +1882 = NAND(1841, 1768) +1883 = NOT(1841) +1884 = NAND(1826, 1852) +1885 = NAND(1643, 1856) +1889 = NAND(1830, 290) +1895 = NOT(1838) +1896 = NAND(1838, 1785) +1897 = NAND(1640, 1864) +1898 = NOT(1850) +1902 = BUFF(1830) +1910 = NOT(1878) +1911 = NAND(1717, 1883) +1912 = NOT(1884) +1913 = NAND(1855, 1885) +1915 = NOT(1866) +1919 = NAND(1872, 919) +1920 = NOT(1872) +1921 = NAND(1869, 920) +1922 = NOT(1869) +1923 = NOT(1875) +1924 = NAND(1714, 1895) +1927 = BUFF(1858) +1930 = BUFF(1858) +1933 = NAND(1865, 1897) +1936 = NAND(1882, 1911) +1937 = NOT(1898) +1938 = NOT(1902) +1941 = NAND(679, 1920) +1942 = NAND(676, 1922) +1944 = BUFF(1879) +1947 = NOT(1913) +1950 = BUFF(1889) +1953 = BUFF(1889) +1958 = BUFF(1879) +1961 = NAND(1896, 1924) +1965 = AND(1910, 601) +1968 = AND(602, 1912) +1975 = NAND(1930, 917) +1976 = NOT(1930) +1977 = NAND(1927, 918) +1978 = NOT(1927) +1979 = NAND(1919, 1941) +1980 = NAND(1921, 1942) +1985 = NOT(1933) +1987 = NOT(1936) +1999 = NOT(1944) +2000 = NAND(1944, 1937) +2002 = NOT(1947) +2003 = NAND(1947, 1499) +2004 = NAND(1953, 1350) +2005 = NOT(1953) +2006 = NAND(1950, 1351) +2007 = NOT(1950) +2008 = NAND(673, 1976) +2009 = NAND(670, 1978) +2012 = NOT(1979) +2013 = NOT(1958) +2014 = NAND(1958, 1923) +2015 = NOT(1961) +2016 = NAND(1961, 1635) +2018 = NOT(1965) +2019 = NOT(1968) +2020 = NAND(1898, 1999) +2021 = NOT(1987) +2022 = NAND(1987, 1591) +2023 = NAND(1440, 2002) +2024 = NAND(1261, 2005) +2025 = NAND(1258, 2007) +2026 = NAND(1975, 2008) +2027 = NAND(1977, 2009) +2030 = NOT(1980) +2033 = BUFF(1980) +2036 = NAND(1875, 2013) +2037 = NAND(1571, 2015) +2038 = NAND(2020, 2000) +2039 = NAND(1534, 2021) +2040 = NAND(2023, 2003) +2041 = NAND(2004, 2024) +2042 = NAND(2006, 2025) +2047 = NOT(2026) +2052 = NAND(2036, 2014) +2055 = NAND(2037, 2016) +2060 = NOT(2038) +2061 = NAND(2039, 2022) +2062 = NAND(2040, 290) +2067 = NOT(2041) +2068 = NOT(2027) +2071 = BUFF(2027) +2076 = NOT(2052) +2077 = NOT(2055) +2078 = NAND(2060, 290) +2081 = NAND(2061, 290) +2086 = NOT(2042) +2089 = BUFF(2042) +2104 = AND(2030, 2068) +2119 = AND(2033, 2068) +2129 = AND(2030, 2071) +2143 = AND(2033, 2071) +2148 = BUFF(2062) +2151 = BUFF(2062) +2196 = BUFF(2078) +2199 = BUFF(2078) +2202 = BUFF(2081) +2205 = BUFF(2081) +2214 = NAND(2151, 915) +2215 = NOT(2151) +2216 = NAND(2148, 916) +2217 = NOT(2148) +2222 = NAND(2199, 1348) +2223 = NOT(2199) +2224 = NAND(2196, 1349) +2225 = NOT(2196) +2226 = NAND(2205, 913) +2227 = NOT(2205) +2228 = NAND(2202, 914) +2229 = NOT(2202) +2230 = NAND(667, 2215) +2231 = NAND(664, 2217) +2232 = NAND(1255, 2223) +2233 = NAND(1252, 2225) +2234 = NAND(661, 2227) +2235 = NAND(658, 2229) +2236 = NAND(2214, 2230) +2237 = NAND(2216, 2231) +2240 = NAND(2222, 2232) +2241 = NAND(2224, 2233) +2244 = NAND(2226, 2234) +2245 = NAND(2228, 2235) +2250 = NOT(2236) +2253 = NOT(2240) +2256 = NOT(2244) +2257 = NOT(2237) +2260 = BUFF(2237) +2263 = NOT(2241) +2266 = AND(1164, 2241) +2269 = NOT(2245) +2272 = AND(1168, 2245) +2279 = NAND(2067, 2012, 2047, 2250, 899, 2256, 2253, 903) +2286 = BUFF(2266) +2297 = BUFF(2266) +2315 = BUFF(2272) +2326 = BUFF(2272) +2340 = AND(2086, 2257) +2353 = AND(2089, 2257) +2361 = AND(2086, 2260) +2375 = AND(2089, 2260) +2384 = AND(338, 2279, 313, 313) +2385 = AND(1163, 2263) +2386 = AND(1164, 2263) +2426 = AND(1167, 2269) +2427 = AND(1168, 2269) +2537 = NAND(2286, 2315, 2361, 2104, 1171) +2540 = NAND(2286, 2315, 2340, 2129, 1171) +2543 = NAND(2286, 2315, 2340, 2119, 1171) +2546 = NAND(2286, 2315, 2353, 2104, 1171) +2549 = NAND(2297, 2315, 2375, 2119, 1188) +2552 = NAND(2297, 2326, 2361, 2143, 1188) +2555 = NAND(2297, 2326, 2375, 2129, 1188) +2558 = AND(2286, 2315, 2361, 2104, 1171) +2561 = AND(2286, 2315, 2340, 2129, 1171) +2564 = AND(2286, 2315, 2340, 2119, 1171) +2567 = AND(2286, 2315, 2353, 2104, 1171) +2570 = AND(2297, 2315, 2375, 2119, 1188) +2573 = AND(2297, 2326, 2361, 2143, 1188) +2576 = AND(2297, 2326, 2375, 2129, 1188) +2594 = NAND(2286, 2427, 2361, 2129, 1171) +2597 = NAND(2297, 2427, 2361, 2119, 1171) +2600 = NAND(2297, 2427, 2375, 2104, 1171) +2603 = NAND(2297, 2427, 2340, 2143, 1171) +2606 = NAND(2297, 2427, 2353, 2129, 1188) +2611 = NAND(2386, 2326, 2361, 2129, 1188) +2614 = NAND(2386, 2326, 2361, 2119, 1188) +2617 = NAND(2386, 2326, 2375, 2104, 1188) +2620 = NAND(2386, 2326, 2353, 2129, 1188) +2627 = NAND(2297, 2427, 2340, 2104, 926) +2628 = NAND(2386, 2326, 2340, 2104, 926) +2629 = NAND(2386, 2427, 2361, 2104, 926) +2630 = NAND(2386, 2427, 2340, 2129, 926) +2631 = NAND(2386, 2427, 2340, 2119, 926) +2632 = NAND(2386, 2427, 2353, 2104, 926) +2633 = NAND(2386, 2426, 2340, 2104, 926) +2634 = NAND(2385, 2427, 2340, 2104, 926) +2639 = AND(2286, 2427, 2361, 2129, 1171) +2642 = AND(2297, 2427, 2361, 2119, 1171) +2645 = AND(2297, 2427, 2375, 2104, 1171) +2648 = AND(2297, 2427, 2340, 2143, 1171) +2651 = AND(2297, 2427, 2353, 2129, 1188) +2655 = AND(2386, 2326, 2361, 2129, 1188) +2658 = AND(2386, 2326, 2361, 2119, 1188) +2661 = AND(2386, 2326, 2375, 2104, 1188) +2664 = AND(2386, 2326, 2353, 2129, 1188) +2669 = NAND(2558, 534) +2670 = NOT(2558) +2671 = NAND(2561, 535) +2672 = NOT(2561) +2673 = NAND(2564, 536) +2674 = NOT(2564) +2675 = NAND(2567, 537) +2676 = NOT(2567) +2682 = NAND(2570, 543) +2683 = NOT(2570) +2688 = NAND(2573, 548) +2689 = NOT(2573) +2690 = NAND(2576, 549) +2691 = NOT(2576) +2710 = AND(2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634) +2720 = NAND(343, 2670) +2721 = NAND(346, 2672) +2722 = NAND(349, 2674) +2723 = NAND(352, 2676) +2724 = NAND(2639, 538) +2725 = NOT(2639) +2726 = NAND(2642, 539) +2727 = NOT(2642) +2728 = NAND(2645, 540) +2729 = NOT(2645) +2730 = NAND(2648, 541) +2731 = NOT(2648) +2732 = NAND(2651, 542) +2733 = NOT(2651) +2734 = NAND(370, 2683) +2735 = NAND(2655, 544) +2736 = NOT(2655) +2737 = NAND(2658, 545) +2738 = NOT(2658) +2739 = NAND(2661, 546) +2740 = NOT(2661) +2741 = NAND(2664, 547) +2742 = NOT(2664) +2743 = NAND(385, 2689) +2744 = NAND(388, 2691) +2745 = NAND(2537, 2540, 2543, 2546, 2594, 2597, 2600, 2603) +2746 = NAND(2606, 2549, 2611, 2614, 2617, 2620, 2552, 2555) +2747 = AND(2537, 2540, 2543, 2546, 2594, 2597, 2600, 2603) +2750 = AND(2606, 2549, 2611, 2614, 2617, 2620, 2552, 2555) +2753 = NAND(2669, 2720) +2754 = NAND(2671, 2721) +2755 = NAND(2673, 2722) +2756 = NAND(2675, 2723) +2757 = NAND(355, 2725) +2758 = NAND(358, 2727) +2759 = NAND(361, 2729) +2760 = NAND(364, 2731) +2761 = NAND(367, 2733) +2762 = NAND(2682, 2734) +2763 = NAND(373, 2736) +2764 = NAND(376, 2738) +2765 = NAND(379, 2740) +2766 = NAND(382, 2742) +2767 = NAND(2688, 2743) +2768 = NAND(2690, 2744) +2773 = AND(2745, 275) +2776 = AND(2746, 276) +2779 = NAND(2724, 2757) +2780 = NAND(2726, 2758) +2781 = NAND(2728, 2759) +2782 = NAND(2730, 2760) +2783 = NAND(2732, 2761) +2784 = NAND(2735, 2763) +2785 = NAND(2737, 2764) +2786 = NAND(2739, 2765) +2787 = NAND(2741, 2766) +2788 = AND(2747, 2750, 2710) +2789 = NAND(2747, 2750) +2800 = AND(338, 2279, 99, 2788) +2807 = NAND(2773, 2018) +2808 = NOT(2773) +2809 = NAND(2776, 2019) +2810 = NOT(2776) +2811 = NOR(2384, 2800) +2812 = AND(897, 283, 2789) +2815 = AND(76, 283, 2789) +2818 = AND(82, 283, 2789) +2821 = AND(85, 283, 2789) +2824 = AND(898, 283, 2789) +2827 = NAND(1965, 2808) +2828 = NAND(1968, 2810) +2829 = AND(79, 283, 2789) +2843 = NAND(2807, 2827) +2846 = NAND(2809, 2828) +2850 = NAND(2812, 2076) +2851 = NAND(2815, 2077) +2852 = NAND(2818, 1915) +2853 = NAND(2821, 1857) +2854 = NAND(2824, 1938) +2857 = NOT(2812) +2858 = NOT(2815) +2859 = NOT(2818) +2860 = NOT(2821) +2861 = NOT(2824) +2862 = NOT(2829) +2863 = NAND(2829, 1985) +2866 = NAND(2052, 2857) +2867 = NAND(2055, 2858) +2868 = NAND(1866, 2859) +2869 = NAND(1818, 2860) +2870 = NAND(1902, 2861) +2871 = NAND(2843, 886) +2872 = NOT(2843) +2873 = NAND(2846, 887) +2874 = NOT(2846) +2875 = NAND(1933, 2862) +2876 = NAND(2866, 2850) +2877 = NAND(2867, 2851) +2878 = NAND(2868, 2852) +2879 = NAND(2869, 2853) +2880 = NAND(2870, 2854) +2881 = NAND(682, 2872) +2882 = NAND(685, 2874) +2883 = NAND(2875, 2863) +2886 = AND(2876, 550) +2887 = AND(551, 2877) +2888 = AND(553, 2878) +2889 = AND(2879, 554) +2890 = AND(555, 2880) +2891 = NAND(2871, 2881) +2892 = NAND(2873, 2882) +2895 = NAND(2883, 1461) +2896 = NOT(2883) +2897 = NAND(1383, 2896) +2898 = NAND(2895, 2897) +2899 = AND(2898, 552) diff --git a/benchmarks/iscas85/c2670.bench b/benchmarks/iscas85/c2670.bench new file mode 100644 index 00000000..2538e92d --- /dev/null +++ b/benchmarks/iscas85/c2670.bench @@ -0,0 +1,1574 @@ +# c2670 +# 233 inputs +# 140 outputs +# 321 inverters +# 872 gates ( 529 ANDs + 575 NANDs + 77 ORs + 12 NORs + 196 buffers ) + +INPUT(1) +INPUT(2) +INPUT(3) +INPUT(4) +INPUT(5) +INPUT(6) +INPUT(7) +INPUT(8) +INPUT(11) +INPUT(14) +INPUT(15) +INPUT(16) +INPUT(19) +INPUT(20) +INPUT(21) +INPUT(22) +INPUT(23) +INPUT(24) +INPUT(25) +INPUT(26) +INPUT(27) +INPUT(28) +INPUT(29) +INPUT(32) +INPUT(33) +INPUT(34) +INPUT(35) +INPUT(36) +INPUT(37) +INPUT(40) +INPUT(43) +INPUT(44) +INPUT(47) +INPUT(48) +INPUT(49) +INPUT(50) +INPUT(51) +INPUT(52) +INPUT(53) +INPUT(54) +INPUT(55) +INPUT(56) +INPUT(57) +INPUT(60) +INPUT(61) +INPUT(62) +INPUT(63) +INPUT(64) +INPUT(65) +INPUT(66) +INPUT(67) +INPUT(68) +INPUT(69) +INPUT(72) +INPUT(73) +INPUT(74) +INPUT(75) +INPUT(76) +INPUT(77) +INPUT(78) +INPUT(79) +INPUT(80) +INPUT(81) +INPUT(82) +INPUT(85) +INPUT(86) +INPUT(87) +INPUT(88) +INPUT(89) +INPUT(90) +INPUT(91) +INPUT(92) +INPUT(93) +INPUT(94) +INPUT(95) +INPUT(96) +INPUT(99) +INPUT(100) +INPUT(101) +INPUT(102) +INPUT(103) +INPUT(104) +INPUT(105) +INPUT(106) +INPUT(107) +INPUT(108) +INPUT(111) +INPUT(112) +INPUT(113) +INPUT(114) +INPUT(115) +INPUT(116) +INPUT(117) +INPUT(118) +INPUT(119) +INPUT(120) +INPUT(123) +INPUT(124) +INPUT(125) +INPUT(126) +INPUT(127) +INPUT(128) +INPUT(129) +INPUT(130) +INPUT(131) +INPUT(132) +INPUT(135) +INPUT(136) +INPUT(137) +INPUT(138) +INPUT(139) +INPUT(140) +INPUT(141) +INPUT(142) +INPUT(143) +INPUT(144) +INPUT(145) +INPUT(146) +INPUT(147) +INPUT(148) +INPUT(149) +INPUT(150) +INPUT(151) +INPUT(152) +INPUT(153) +INPUT(154) +INPUT(155) +INPUT(156) +INPUT(157) +INPUT(158) +INPUT(159) +INPUT(160) +INPUT(161) +INPUT(162) +INPUT(163) +INPUT(164) +INPUT(165) +INPUT(166) +INPUT(167) +INPUT(168) +INPUT(169) +INPUT(170) +INPUT(171) +INPUT(172) +INPUT(173) +INPUT(174) +INPUT(175) +INPUT(176) +INPUT(177) +INPUT(178) +INPUT(179) +INPUT(180) +INPUT(181) +INPUT(182) +INPUT(183) +INPUT(184) +INPUT(185) +INPUT(186) +INPUT(187) +INPUT(188) +INPUT(189) +INPUT(190) +INPUT(191) +INPUT(192) +INPUT(193) +INPUT(194) +INPUT(195) +INPUT(196) +INPUT(197) +INPUT(198) +INPUT(199) +INPUT(200) +INPUT(201) +INPUT(202) +INPUT(203) +INPUT(204) +INPUT(205) +INPUT(206) +INPUT(207) +INPUT(208) +INPUT(209) +INPUT(210) +INPUT(211) +INPUT(212) +INPUT(213) +INPUT(214) +INPUT(215) +INPUT(216) +INPUT(217) +INPUT(218) +INPUT(219) +INPUT(224) +INPUT(227) +INPUT(230) +INPUT(231) +INPUT(234) +INPUT(237) +INPUT(241) +INPUT(246) +INPUT(253) +INPUT(256) +INPUT(259) +INPUT(262) +INPUT(263) +INPUT(266) +INPUT(269) +INPUT(272) +INPUT(275) +INPUT(278) +INPUT(281) +INPUT(284) +INPUT(287) +INPUT(290) +INPUT(294) +INPUT(297) +INPUT(301) +INPUT(305) +INPUT(309) +INPUT(313) +INPUT(316) +INPUT(319) +INPUT(322) +INPUT(325) +INPUT(328) +INPUT(331) +INPUT(334) +INPUT(337) +INPUT(340) +INPUT(343) +INPUT(346) +INPUT(349) +INPUT(352) +INPUT(355) + +OUTPUT(143) +OUTPUT(144) +OUTPUT(145) +OUTPUT(146) +OUTPUT(147) +OUTPUT(148) +OUTPUT(149) +OUTPUT(150) +OUTPUT(151) +OUTPUT(152) +OUTPUT(153) +OUTPUT(154) +OUTPUT(155) +OUTPUT(156) +OUTPUT(157) +OUTPUT(158) +OUTPUT(159) +OUTPUT(160) +OUTPUT(161) +OUTPUT(162) +OUTPUT(163) +OUTPUT(164) +OUTPUT(165) +OUTPUT(166) +OUTPUT(167) +OUTPUT(168) +OUTPUT(169) +OUTPUT(170) +OUTPUT(171) +OUTPUT(172) +OUTPUT(173) +OUTPUT(174) +OUTPUT(175) +OUTPUT(176) +OUTPUT(177) +OUTPUT(178) +OUTPUT(179) +OUTPUT(180) +OUTPUT(181) +OUTPUT(182) +OUTPUT(183) +OUTPUT(184) +OUTPUT(185) +OUTPUT(186) +OUTPUT(187) +OUTPUT(188) +OUTPUT(189) +OUTPUT(190) +OUTPUT(191) +OUTPUT(192) +OUTPUT(193) +OUTPUT(194) +OUTPUT(195) +OUTPUT(196) +OUTPUT(197) +OUTPUT(198) +OUTPUT(199) +OUTPUT(200) +OUTPUT(201) +OUTPUT(202) +OUTPUT(203) +OUTPUT(204) +OUTPUT(205) +OUTPUT(206) +OUTPUT(207) +OUTPUT(208) +OUTPUT(209) +OUTPUT(210) +OUTPUT(211) +OUTPUT(212) +OUTPUT(213) +OUTPUT(214) +OUTPUT(215) +OUTPUT(216) +OUTPUT(217) +OUTPUT(218) +OUTPUT(398) +OUTPUT(400) +OUTPUT(401) +OUTPUT(419) +OUTPUT(420) +OUTPUT(456) +OUTPUT(457) +OUTPUT(458) +OUTPUT(487) +OUTPUT(488) +OUTPUT(489) +OUTPUT(490) +OUTPUT(491) +OUTPUT(492) +OUTPUT(493) +OUTPUT(494) +OUTPUT(792) +OUTPUT(799) +OUTPUT(805) +OUTPUT(1026) +OUTPUT(1028) +OUTPUT(1029) +OUTPUT(1269) +OUTPUT(1277) +OUTPUT(1448) +OUTPUT(1726) +OUTPUT(1816) +OUTPUT(1817) +OUTPUT(1818) +OUTPUT(1819) +OUTPUT(1820) +OUTPUT(1821) +OUTPUT(1969) +OUTPUT(1970) +OUTPUT(1971) +OUTPUT(2010) +OUTPUT(2012) +OUTPUT(2014) +OUTPUT(2016) +OUTPUT(2018) +OUTPUT(2020) +OUTPUT(2022) +OUTPUT(2387) +OUTPUT(2388) +OUTPUT(2389) +OUTPUT(2390) +OUTPUT(2496) +OUTPUT(2643) +OUTPUT(2644) +OUTPUT(2891) +OUTPUT(2925) +OUTPUT(2970) +OUTPUT(2971) +OUTPUT(3038) +OUTPUT(3079) +OUTPUT(3546) +OUTPUT(3671) +OUTPUT(3803) +OUTPUT(3804) +OUTPUT(3809) +OUTPUT(3851) +OUTPUT(3875) +OUTPUT(3881) +OUTPUT(3882) + +398 = BUFF(219) +400 = BUFF(219) +401 = BUFF(219) +405 = AND(1, 3) +408 = NOT(230) +419 = BUFF(253) +420 = BUFF(253) +425 = NOT(262) +456 = BUFF(290) +457 = BUFF(290) +458 = BUFF(290) +485 = AND(309, 305, 301, 297) +486 = NOT(405) +487 = NOT(44) +488 = NOT(132) +489 = NOT(82) +490 = NOT(96) +491 = NOT(69) +492 = NOT(120) +493 = NOT(57) +494 = NOT(108) +495 = AND(2, 15, 237) +496 = BUFF(237) +499 = AND(37, 37) +500 = BUFF(219) +503 = BUFF(8) +506 = BUFF(8) +509 = BUFF(227) +521 = BUFF(234) +533 = NOT(241) +537 = NOT(246) +543 = AND(11, 246) +544 = AND(132, 82, 96, 44) +547 = AND(120, 57, 108, 69) +550 = BUFF(227) +562 = BUFF(234) +574 = NOT(256) +578 = NOT(259) +582 = BUFF(319) +594 = BUFF(322) +606 = NOT(328) +607 = NOT(331) +608 = NOT(334) +609 = NOT(337) +610 = NOT(340) +611 = NOT(343) +612 = NOT(352) +613 = BUFF(319) +625 = BUFF(322) +637 = BUFF(16) +643 = BUFF(16) +650 = NOT(355) +651 = AND(7, 237) +655 = NOT(263) +659 = NOT(266) +663 = NOT(269) +667 = NOT(272) +671 = NOT(275) +675 = NOT(278) +679 = NOT(281) +683 = NOT(284) +687 = NOT(287) +693 = BUFF(29) +699 = BUFF(29) +705 = NOT(294) +711 = NOT(297) +715 = NOT(301) +719 = NOT(305) +723 = NOT(309) +727 = NOT(313) +730 = NOT(316) +733 = NOT(346) +734 = NOT(349) +735 = BUFF(259) +738 = BUFF(256) +741 = BUFF(263) +744 = BUFF(269) +747 = BUFF(266) +750 = BUFF(275) +753 = BUFF(272) +756 = BUFF(281) +759 = BUFF(278) +762 = BUFF(287) +765 = BUFF(284) +768 = BUFF(294) +771 = BUFF(301) +774 = BUFF(297) +777 = BUFF(309) +780 = BUFF(305) +783 = BUFF(316) +786 = BUFF(313) +792 = NOT(485) +799 = NOT(495) +800 = NOT(499) +805 = BUFF(500) +900 = NAND(331, 606) +901 = NAND(328, 607) +902 = NAND(337, 608) +903 = NAND(334, 609) +904 = NAND(343, 610) +905 = NAND(340, 611) +998 = NAND(349, 733) +999 = NAND(346, 734) +1026 = AND(94, 500) +1027 = AND(325, 651) +1028 = NOT(651) +1029 = NAND(231, 651) +1032 = NOT(544) +1033 = NOT(547) +1034 = AND(547, 544) +1037 = BUFF(503) +1042 = NOT(509) +1053 = NOT(521) +1064 = AND(80, 509, 521) +1065 = AND(68, 509, 521) +1066 = AND(79, 509, 521) +1067 = AND(78, 509, 521) +1068 = AND(77, 509, 521) +1069 = AND(11, 537) +1070 = BUFF(503) +1075 = NOT(550) +1086 = NOT(562) +1097 = AND(76, 550, 562) +1098 = AND(75, 550, 562) +1099 = AND(74, 550, 562) +1100 = AND(73, 550, 562) +1101 = AND(72, 550, 562) +1102 = NOT(582) +1113 = NOT(594) +1124 = AND(114, 582, 594) +1125 = AND(113, 582, 594) +1126 = AND(112, 582, 594) +1127 = AND(111, 582, 594) +1128 = AND(582, 594) +1129 = NAND(900, 901) +1133 = NAND(902, 903) +1137 = NAND(904, 905) +1140 = NOT(741) +1141 = NAND(741, 612) +1142 = NOT(744) +1143 = NOT(747) +1144 = NOT(750) +1145 = NOT(753) +1146 = NOT(613) +1157 = NOT(625) +1168 = AND(118, 613, 625) +1169 = AND(107, 613, 625) +1170 = AND(117, 613, 625) +1171 = AND(116, 613, 625) +1172 = AND(115, 613, 625) +1173 = NOT(637) +1178 = NOT(643) +1184 = NOT(768) +1185 = NAND(768, 650) +1186 = NOT(771) +1187 = NOT(774) +1188 = NOT(777) +1189 = NOT(780) +1190 = BUFF(506) +1195 = BUFF(506) +1200 = NOT(693) +1205 = NOT(699) +1210 = NOT(735) +1211 = NOT(738) +1212 = NOT(756) +1213 = NOT(759) +1214 = NOT(762) +1215 = NOT(765) +1216 = NAND(998, 999) +1219 = BUFF(574) +1222 = BUFF(578) +1225 = BUFF(655) +1228 = BUFF(659) +1231 = BUFF(663) +1234 = BUFF(667) +1237 = BUFF(671) +1240 = BUFF(675) +1243 = BUFF(679) +1246 = BUFF(683) +1249 = NOT(783) +1250 = NOT(786) +1251 = BUFF(687) +1254 = BUFF(705) +1257 = BUFF(711) +1260 = BUFF(715) +1263 = BUFF(719) +1266 = BUFF(723) +1269 = NOT(1027) +1275 = AND(325, 1032) +1276 = AND(231, 1033) +1277 = BUFF(1034) +1302 = OR(1069, 543) +1351 = NAND(352, 1140) +1352 = NAND(747, 1142) +1353 = NAND(744, 1143) +1354 = NAND(753, 1144) +1355 = NAND(750, 1145) +1395 = NAND(355, 1184) +1396 = NAND(774, 1186) +1397 = NAND(771, 1187) +1398 = NAND(780, 1188) +1399 = NAND(777, 1189) +1422 = NAND(738, 1210) +1423 = NAND(735, 1211) +1424 = NAND(759, 1212) +1425 = NAND(756, 1213) +1426 = NAND(765, 1214) +1427 = NAND(762, 1215) +1440 = NAND(786, 1249) +1441 = NAND(783, 1250) +1448 = NOT(1034) +1449 = NOT(1275) +1450 = NOT(1276) +1451 = AND(93, 1042, 1053) +1452 = AND(55, 509, 1053) +1453 = AND(67, 1042, 521) +1454 = AND(81, 1042, 1053) +1455 = AND(43, 509, 1053) +1456 = AND(56, 1042, 521) +1457 = AND(92, 1042, 1053) +1458 = AND(54, 509, 1053) +1459 = AND(66, 1042, 521) +1460 = AND(91, 1042, 1053) +1461 = AND(53, 509, 1053) +1462 = AND(65, 1042, 521) +1463 = AND(90, 1042, 1053) +1464 = AND(52, 509, 1053) +1465 = AND(64, 1042, 521) +1466 = AND(89, 1075, 1086) +1467 = AND(51, 550, 1086) +1468 = AND(63, 1075, 562) +1469 = AND(88, 1075, 1086) +1470 = AND(50, 550, 1086) +1471 = AND(62, 1075, 562) +1472 = AND(87, 1075, 1086) +1473 = AND(49, 550, 1086) +1474 = AND(1075, 562) +1475 = AND(86, 1075, 1086) +1476 = AND(48, 550, 1086) +1477 = AND(61, 1075, 562) +1478 = AND(85, 1075, 1086) +1479 = AND(47, 550, 1086) +1480 = AND(60, 1075, 562) +1481 = AND(138, 1102, 1113) +1482 = AND(102, 582, 1113) +1483 = AND(126, 1102, 594) +1484 = AND(137, 1102, 1113) +1485 = AND(101, 582, 1113) +1486 = AND(125, 1102, 594) +1487 = AND(136, 1102, 1113) +1488 = AND(100, 582, 1113) +1489 = AND(124, 1102, 594) +1490 = AND(135, 1102, 1113) +1491 = AND(99, 582, 1113) +1492 = AND(123, 1102, 594) +1493 = AND(1102, 1113) +1494 = AND(582, 1113) +1495 = AND(1102, 594) +1496 = NOT(1129) +1499 = NOT(1133) +1502 = NAND(1351, 1141) +1506 = NAND(1352, 1353) +1510 = NAND(1354, 1355) +1513 = BUFF(1137) +1516 = BUFF(1137) +1519 = NOT(1219) +1520 = NOT(1222) +1521 = NOT(1225) +1522 = NOT(1228) +1523 = NOT(1231) +1524 = NOT(1234) +1525 = NOT(1237) +1526 = NOT(1240) +1527 = NOT(1243) +1528 = NOT(1246) +1529 = AND(142, 1146, 1157) +1530 = AND(106, 613, 1157) +1531 = AND(130, 1146, 625) +1532 = AND(131, 1146, 1157) +1533 = AND(95, 613, 1157) +1534 = AND(119, 1146, 625) +1535 = AND(141, 1146, 1157) +1536 = AND(105, 613, 1157) +1537 = AND(129, 1146, 625) +1538 = AND(140, 1146, 1157) +1539 = AND(104, 613, 1157) +1540 = AND(128, 1146, 625) +1541 = AND(139, 1146, 1157) +1542 = AND(103, 613, 1157) +1543 = AND(127, 1146, 625) +1544 = AND(19, 1173) +1545 = AND(4, 1173) +1546 = AND(20, 1173) +1547 = AND(5, 1173) +1548 = AND(21, 1178) +1549 = AND(22, 1178) +1550 = AND(23, 1178) +1551 = AND(6, 1178) +1552 = AND(24, 1178) +1553 = NAND(1395, 1185) +1557 = NAND(1396, 1397) +1561 = NAND(1398, 1399) +1564 = AND(25, 1200) +1565 = AND(32, 1200) +1566 = AND(26, 1200) +1567 = AND(33, 1200) +1568 = AND(27, 1205) +1569 = AND(34, 1205) +1570 = AND(35, 1205) +1571 = AND(28, 1205) +1572 = NOT(1251) +1573 = NOT(1254) +1574 = NOT(1257) +1575 = NOT(1260) +1576 = NOT(1263) +1577 = NOT(1266) +1578 = NAND(1422, 1423) +1581 = NOT(1216) +1582 = NAND(1426, 1427) +1585 = NAND(1424, 1425) +1588 = NAND(1440, 1441) +1591 = AND(1449, 1450) +1596 = OR(1451, 1452, 1453, 1064) +1600 = OR(1454, 1455, 1456, 1065) +1606 = OR(1457, 1458, 1459, 1066) +1612 = OR(1460, 1461, 1462, 1067) +1615 = OR(1463, 1464, 1465, 1068) +1619 = OR(1466, 1467, 1468, 1097) +1624 = OR(1469, 1470, 1471, 1098) +1628 = OR(1472, 1473, 1474, 1099) +1631 = OR(1475, 1476, 1477, 1100) +1634 = OR(1478, 1479, 1480, 1101) +1637 = OR(1481, 1482, 1483, 1124) +1642 = OR(1484, 1485, 1486, 1125) +1647 = OR(1487, 1488, 1489, 1126) +1651 = OR(1490, 1491, 1492, 1127) +1656 = OR(1493, 1494, 1495, 1128) +1676 = OR(1532, 1533, 1534, 1169) +1681 = OR(1535, 1536, 1537, 1170) +1686 = OR(1538, 1539, 1540, 1171) +1690 = OR(1541, 1542, 1543, 1172) +1708 = OR(1529, 1530, 1531, 1168) +1726 = BUFF(1591) +1770 = NOT(1502) +1773 = NOT(1506) +1776 = NOT(1513) +1777 = NOT(1516) +1778 = BUFF(1510) +1781 = BUFF(1510) +1784 = AND(1133, 1129, 1513) +1785 = AND(1499, 1496, 1516) +1795 = NOT(1553) +1798 = NOT(1557) +1801 = BUFF(1561) +1804 = BUFF(1561) +1807 = NOT(1588) +1808 = NOT(1578) +1809 = NAND(1578, 1581) +1810 = NOT(1582) +1811 = NOT(1585) +1813 = AND(1596, 241) +1814 = AND(1606, 241) +1815 = AND(1600, 241) +1816 = NOT(1642) +1817 = NOT(1647) +1818 = NOT(1637) +1819 = NOT(1624) +1820 = NOT(1619) +1821 = NOT(1615) +1822 = AND(496, 224, 36, 1591) +1823 = AND(496, 224, 1591, 486) +1824 = BUFF(1596) +1827 = NOT(1606) +1830 = AND(1600, 537) +1831 = AND(1606, 537) +1832 = AND(1619, 246) +1833 = NOT(1596) +1836 = NOT(1600) +1841 = NOT(1606) +1848 = BUFF(1612) +1852 = BUFF(1615) +1856 = BUFF(1619) +1863 = BUFF(1624) +1870 = BUFF(1628) +1875 = BUFF(1631) +1880 = BUFF(1634) +1885 = NAND(727, 1651) +1888 = NAND(730, 1656) +1891 = BUFF(1686) +1894 = AND(1637, 425) +1897 = NOT(1642) +1908 = AND(1496, 1133, 1776) +1909 = AND(1129, 1499, 1777) +1910 = AND(1600, 637) +1911 = AND(1606, 637) +1912 = AND(1612, 637) +1913 = AND(1615, 637) +1914 = AND(1619, 643) +1915 = AND(1624, 643) +1916 = AND(1628, 643) +1917 = AND(1631, 643) +1918 = AND(1634, 643) +1919 = NOT(1708) +1928 = AND(1676, 693) +1929 = AND(1681, 693) +1930 = AND(1686, 693) +1931 = AND(1690, 693) +1932 = AND(1637, 699) +1933 = AND(1642, 699) +1934 = AND(1647, 699) +1935 = AND(1651, 699) +1936 = BUFF(1600) +1939 = NAND(1216, 1808) +1940 = NAND(1585, 1810) +1941 = NAND(1582, 1811) +1942 = BUFF(1676) +1945 = BUFF(1686) +1948 = BUFF(1681) +1951 = BUFF(1637) +1954 = BUFF(1690) +1957 = BUFF(1647) +1960 = BUFF(1642) +1963 = BUFF(1656) +1966 = BUFF(1651) +1969 = OR(533, 1815) +1970 = NOT(1822) +1971 = NOT(1823) +2010 = BUFF(1848) +2012 = BUFF(1852) +2014 = BUFF(1856) +2016 = BUFF(1863) +2018 = BUFF(1870) +2020 = BUFF(1875) +2022 = BUFF(1880) +2028 = NOT(1778) +2029 = NOT(1781) +2030 = NOR(1908, 1784) +2031 = NOR(1909, 1785) +2032 = AND(1506, 1502, 1778) +2033 = AND(1773, 1770, 1781) +2034 = OR(1571, 1935) +2040 = NOT(1801) +2041 = NOT(1804) +2042 = AND(1557, 1553, 1801) +2043 = AND(1798, 1795, 1804) +2046 = NAND(1939, 1809) +2049 = NAND(1940, 1941) +2052 = OR(1544, 1910) +2055 = OR(1545, 1911) +2058 = OR(1546, 1912) +2061 = OR(1547, 1913) +2064 = OR(1548, 1914) +2067 = OR(1549, 1915) +2070 = OR(1550, 1916) +2073 = OR(1551, 1917) +2076 = OR(1552, 1918) +2079 = OR(1564, 1928) +2095 = OR(1565, 1929) +2098 = OR(1566, 1930) +2101 = OR(1567, 1931) +2104 = OR(1568, 1932) +2107 = OR(1569, 1933) +2110 = OR(1570, 1934) +2113 = AND(1897, 1894, 40) +2119 = NOT(1894) +2120 = NAND(408, 1827) +2125 = AND(1824, 537) +2126 = AND(1852, 246) +2127 = AND(1848, 537) +2128 = NOT(1848) +2135 = NOT(1852) +2141 = NOT(1863) +2144 = NOT(1870) +2147 = NOT(1875) +2150 = NOT(1880) +2153 = AND(727, 1885) +2154 = AND(1885, 1651) +2155 = AND(730, 1888) +2156 = AND(1888, 1656) +2157 = AND(1770, 1506, 2028) +2158 = AND(1502, 1773, 2029) +2171 = NOT(1942) +2172 = NAND(1942, 1919) +2173 = NOT(1945) +2174 = NOT(1948) +2175 = NOT(1951) +2176 = NOT(1954) +2177 = AND(1795, 1557, 2040) +2178 = AND(1553, 1798, 2041) +2185 = BUFF(1836) +2188 = BUFF(1833) +2191 = BUFF(1841) +2194 = NOT(1856) +2197 = NOT(1827) +2200 = NOT(1936) +2201 = BUFF(1836) +2204 = BUFF(1833) +2207 = BUFF(1841) +2210 = BUFF(1824) +2213 = BUFF(1841) +2216 = BUFF(1841) +2219 = NAND(2031, 2030) +2234 = NOT(1957) +2235 = NOT(1960) +2236 = NOT(1963) +2237 = NOT(1966) +2250 = AND(40, 1897, 2119) +2266 = OR(1831, 2126) +2269 = OR(2127, 1832) +2291 = OR(2153, 2154) +2294 = OR(2155, 2156) +2297 = NOR(2157, 2032) +2298 = NOR(2158, 2033) +2300 = NOT(2046) +2301 = NOT(2049) +2302 = NAND(2052, 1519) +2303 = NOT(2052) +2304 = NAND(2055, 1520) +2305 = NOT(2055) +2306 = NAND(2058, 1521) +2307 = NOT(2058) +2308 = NAND(2061, 1522) +2309 = NOT(2061) +2310 = NAND(2064, 1523) +2311 = NOT(2064) +2312 = NAND(2067, 1524) +2313 = NOT(2067) +2314 = NAND(2070, 1525) +2315 = NOT(2070) +2316 = NAND(2073, 1526) +2317 = NOT(2073) +2318 = NAND(2076, 1527) +2319 = NOT(2076) +2320 = NAND(2079, 1528) +2321 = NOT(2079) +2322 = NAND(1708, 2171) +2323 = NAND(1948, 2173) +2324 = NAND(1945, 2174) +2325 = NAND(1954, 2175) +2326 = NAND(1951, 2176) +2327 = NOR(2177, 2042) +2328 = NOR(2178, 2043) +2329 = NAND(2095, 1572) +2330 = NOT(2095) +2331 = NAND(2098, 1573) +2332 = NOT(2098) +2333 = NAND(2101, 1574) +2334 = NOT(2101) +2335 = NAND(2104, 1575) +2336 = NOT(2104) +2337 = NAND(2107, 1576) +2338 = NOT(2107) +2339 = NAND(2110, 1577) +2340 = NOT(2110) +2354 = NAND(1960, 2234) +2355 = NAND(1957, 2235) +2356 = NAND(1966, 2236) +2357 = NAND(1963, 2237) +2358 = AND(2120, 533) +2359 = NOT(2113) +2364 = NOT(2185) +2365 = NOT(2188) +2366 = NOT(2191) +2367 = NOT(2194) +2368 = BUFF(2120) +2372 = NOT(2201) +2373 = NOT(2204) +2374 = NOT(2207) +2375 = NOT(2210) +2376 = NOT(2213) +2377 = NOT(2113) +2382 = BUFF(2113) +2386 = AND(2120, 246) +2387 = BUFF(2266) +2388 = BUFF(2266) +2389 = BUFF(2269) +2390 = BUFF(2269) +2391 = BUFF(2113) +2395 = NOT(2113) +2400 = NAND(2219, 2300) +2403 = NOT(2216) +2406 = NOT(2219) +2407 = NAND(1219, 2303) +2408 = NAND(1222, 2305) +2409 = NAND(1225, 2307) +2410 = NAND(1228, 2309) +2411 = NAND(1231, 2311) +2412 = NAND(1234, 2313) +2413 = NAND(1237, 2315) +2414 = NAND(1240, 2317) +2415 = NAND(1243, 2319) +2416 = NAND(1246, 2321) +2417 = NAND(2322, 2172) +2421 = NAND(2323, 2324) +2425 = NAND(2325, 2326) +2428 = NAND(1251, 2330) +2429 = NAND(1254, 2332) +2430 = NAND(1257, 2334) +2431 = NAND(1260, 2336) +2432 = NAND(1263, 2338) +2433 = NAND(1266, 2340) +2434 = BUFF(2128) +2437 = BUFF(2135) +2440 = BUFF(2144) +2443 = BUFF(2141) +2446 = BUFF(2150) +2449 = BUFF(2147) +2452 = NOT(2197) +2453 = NAND(2197, 2200) +2454 = BUFF(2128) +2457 = BUFF(2144) +2460 = BUFF(2141) +2463 = BUFF(2150) +2466 = BUFF(2147) +2469 = NOT(2120) +2472 = BUFF(2128) +2475 = BUFF(2135) +2478 = BUFF(2128) +2481 = BUFF(2135) +2484 = NAND(2298, 2297) +2487 = NAND(2356, 2357) +2490 = NAND(2354, 2355) +2493 = NAND(2328, 2327) +2496 = OR(2358, 1814) +2503 = NAND(2188, 2364) +2504 = NAND(2185, 2365) +2510 = NAND(2204, 2372) +2511 = NAND(2201, 2373) +2521 = OR(1830, 2386) +2528 = NAND(2046, 2406) +2531 = NOT(2291) +2534 = NOT(2294) +2537 = BUFF(2250) +2540 = BUFF(2250) +2544 = NAND(2302, 2407) +2545 = NAND(2304, 2408) +2546 = NAND(2306, 2409) +2547 = NAND(2308, 2410) +2548 = NAND(2310, 2411) +2549 = NAND(2312, 2412) +2550 = NAND(2314, 2413) +2551 = NAND(2316, 2414) +2552 = NAND(2318, 2415) +2553 = NAND(2320, 2416) +2563 = NAND(2329, 2428) +2564 = NAND(2331, 2429) +2565 = NAND(2333, 2430) +2566 = NAND(2335, 2431) +2567 = NAND(2337, 2432) +2568 = NAND(2339, 2433) +2579 = NAND(1936, 2452) +2603 = BUFF(2359) +2607 = AND(1880, 2377) +2608 = AND(1676, 2377) +2609 = AND(1681, 2377) +2610 = AND(1891, 2377) +2611 = AND(1856, 2382) +2612 = AND(1863, 2382) +2613 = NAND(2503, 2504) +2617 = NOT(2434) +2618 = NAND(2434, 2366) +2619 = NAND(2437, 2367) +2620 = NOT(2437) +2621 = NOT(2368) +2624 = NAND(2510, 2511) +2628 = NOT(2454) +2629 = NAND(2454, 2374) +2630 = NOT(2472) +2631 = AND(1856, 2391) +2632 = AND(1863, 2391) +2633 = AND(1880, 2395) +2634 = AND(1676, 2395) +2635 = AND(1681, 2395) +2636 = AND(1891, 2395) +2638 = NOT(2382) +2643 = BUFF(2521) +2644 = BUFF(2521) +2645 = NOT(2475) +2646 = NOT(2391) +2652 = NAND(2528, 2400) +2655 = NOT(2478) +2656 = NOT(2481) +2659 = BUFF(2359) +2663 = NOT(2484) +2664 = NAND(2484, 2301) +2665 = NOT(2553) +2666 = NOT(2552) +2667 = NOT(2551) +2668 = NOT(2550) +2669 = NOT(2549) +2670 = NOT(2548) +2671 = NOT(2547) +2672 = NOT(2546) +2673 = NOT(2545) +2674 = NOT(2544) +2675 = NOT(2568) +2676 = NOT(2567) +2677 = NOT(2566) +2678 = NOT(2565) +2679 = NOT(2564) +2680 = NOT(2563) +2681 = NOT(2417) +2684 = NOT(2421) +2687 = BUFF(2425) +2690 = BUFF(2425) +2693 = NOT(2493) +2694 = NAND(2493, 1807) +2695 = NOT(2440) +2696 = NOT(2443) +2697 = NOT(2446) +2698 = NOT(2449) +2699 = NOT(2457) +2700 = NOT(2460) +2701 = NOT(2463) +2702 = NOT(2466) +2703 = NAND(2579, 2453) +2706 = NOT(2469) +2707 = NOT(2487) +2708 = NOT(2490) +2709 = AND(2294, 2534) +2710 = AND(2291, 2531) +2719 = NAND(2191, 2617) +2720 = NAND(2194, 2620) +2726 = NAND(2207, 2628) +2729 = BUFF(2537) +2738 = BUFF(2537) +2743 = NOT(2652) +2747 = NAND(2049, 2663) +2748 = AND(2665, 2666, 2667, 2668, 2669) +2749 = AND(2670, 2671, 2672, 2673, 2674) +2750 = AND(2034, 2675) +2751 = AND(2676, 2677, 2678, 2679, 2680) +2760 = NAND(1588, 2693) +2761 = BUFF(2540) +2766 = BUFF(2540) +2771 = NAND(2443, 2695) +2772 = NAND(2440, 2696) +2773 = NAND(2449, 2697) +2774 = NAND(2446, 2698) +2775 = NAND(2460, 2699) +2776 = NAND(2457, 2700) +2777 = NAND(2466, 2701) +2778 = NAND(2463, 2702) +2781 = NAND(2490, 2707) +2782 = NAND(2487, 2708) +2783 = OR(2709, 2534) +2784 = OR(2710, 2531) +2789 = AND(1856, 2638) +2790 = AND(1863, 2638) +2791 = AND(1870, 2638) +2792 = AND(1875, 2638) +2793 = NOT(2613) +2796 = NAND(2719, 2618) +2800 = NAND(2619, 2720) +2803 = NOT(2624) +2806 = NAND(2726, 2629) +2809 = AND(1856, 2646) +2810 = AND(1863, 2646) +2811 = AND(1870, 2646) +2812 = AND(1875, 2646) +2817 = AND(2743, 14) +2820 = BUFF(2603) +2826 = NAND(2747, 2664) +2829 = AND(2748, 2749) +2830 = AND(2750, 2751) +2831 = BUFF(2659) +2837 = NOT(2687) +2838 = NOT(2690) +2839 = AND(2421, 2417, 2687) +2840 = AND(2684, 2681, 2690) +2841 = NAND(2760, 2694) +2844 = BUFF(2603) +2854 = BUFF(2603) +2859 = BUFF(2659) +2869 = BUFF(2659) +2874 = NAND(2773, 2774) +2877 = NAND(2771, 2772) +2880 = NOT(2703) +2881 = NAND(2703, 2706) +2882 = NAND(2777, 2778) +2885 = NAND(2775, 2776) +2888 = NAND(2781, 2782) +2891 = NAND(2783, 2784) +2894 = AND(2607, 2729) +2895 = AND(2608, 2729) +2896 = AND(2609, 2729) +2897 = AND(2610, 2729) +2898 = OR(2789, 2611) +2899 = OR(2790, 2612) +2900 = AND(2791, 1037) +2901 = AND(2792, 1037) +2914 = OR(2809, 2631) +2915 = OR(2810, 2632) +2916 = AND(2811, 1070) +2917 = AND(2812, 1070) +2918 = AND(2633, 2738) +2919 = AND(2634, 2738) +2920 = AND(2635, 2738) +2921 = AND(2636, 2738) +2925 = BUFF(2817) +2931 = AND(2829, 2830, 1302) +2938 = AND(2681, 2421, 2837) +2939 = AND(2417, 2684, 2838) +2963 = NAND(2469, 2880) +2970 = NOT(2841) +2971 = NOT(2826) +2972 = NOT(2894) +2975 = NOT(2895) +2978 = NOT(2896) +2981 = NOT(2897) +2984 = AND(2898, 1037) +2985 = AND(2899, 1037) +2986 = NOT(2900) +2989 = NOT(2901) +2992 = NOT(2796) +2995 = BUFF(2800) +2998 = BUFF(2800) +3001 = BUFF(2806) +3004 = BUFF(2806) +3007 = AND(574, 2820) +3008 = AND(2914, 1070) +3009 = AND(2915, 1070) +3010 = NOT(2916) +3013 = NOT(2917) +3016 = NOT(2918) +3019 = NOT(2919) +3022 = NOT(2920) +3025 = NOT(2921) +3028 = NOT(2817) +3029 = AND(574, 2831) +3030 = NOT(2820) +3035 = AND(578, 2820) +3036 = AND(655, 2820) +3037 = AND(659, 2820) +3038 = BUFF(2931) +3039 = NOT(2831) +3044 = AND(578, 2831) +3045 = AND(655, 2831) +3046 = AND(659, 2831) +3047 = NOR(2938, 2839) +3048 = NOR(2939, 2840) +3049 = NOT(2888) +3050 = NOT(2844) +3053 = AND(663, 2844) +3054 = AND(667, 2844) +3055 = AND(671, 2844) +3056 = AND(675, 2844) +3057 = AND(679, 2854) +3058 = AND(683, 2854) +3059 = AND(687, 2854) +3060 = AND(705, 2854) +3061 = NOT(2859) +3064 = AND(663, 2859) +3065 = AND(667, 2859) +3066 = AND(671, 2859) +3067 = AND(675, 2859) +3068 = AND(679, 2869) +3069 = AND(683, 2869) +3070 = AND(687, 2869) +3071 = AND(705, 2869) +3072 = NOT(2874) +3073 = NOT(2877) +3074 = NOT(2882) +3075 = NOT(2885) +3076 = NAND(2881, 2963) +3079 = NOT(2931) +3088 = NOT(2984) +3091 = NOT(2985) +3110 = NOT(3008) +3113 = NOT(3009) +3137 = AND(3055, 1190) +3140 = AND(3056, 1190) +3143 = AND(3057, 2761) +3146 = AND(3058, 2761) +3149 = AND(3059, 2761) +3152 = AND(3060, 2761) +3157 = AND(3066, 1195) +3160 = AND(3067, 1195) +3163 = AND(3068, 2766) +3166 = AND(3069, 2766) +3169 = AND(3070, 2766) +3172 = AND(3071, 2766) +3175 = NAND(2877, 3072) +3176 = NAND(2874, 3073) +3177 = NAND(2885, 3074) +3178 = NAND(2882, 3075) +3180 = NAND(3048, 3047) +3187 = NOT(2995) +3188 = NOT(2998) +3189 = NOT(3001) +3190 = NOT(3004) +3191 = AND(2796, 2613, 2995) +3192 = AND(2992, 2793, 2998) +3193 = AND(2624, 2368, 3001) +3194 = AND(2803, 2621, 3004) +3195 = NAND(3076, 2375) +3196 = NOT(3076) +3197 = AND(687, 3030) +3208 = AND(687, 3039) +3215 = AND(705, 3030) +3216 = AND(711, 3030) +3217 = AND(715, 3030) +3218 = AND(705, 3039) +3219 = AND(711, 3039) +3220 = AND(715, 3039) +3222 = AND(719, 3050) +3223 = AND(723, 3050) +3230 = AND(719, 3061) +3231 = AND(723, 3061) +3238 = NAND(3175, 3176) +3241 = NAND(3177, 3178) +3244 = BUFF(2981) +3247 = BUFF(2978) +3250 = BUFF(2975) +3253 = BUFF(2972) +3256 = BUFF(2989) +3259 = BUFF(2986) +3262 = BUFF(3025) +3265 = BUFF(3022) +3268 = BUFF(3019) +3271 = BUFF(3016) +3274 = BUFF(3013) +3277 = BUFF(3010) +3281 = AND(2793, 2796, 3187) +3282 = AND(2613, 2992, 3188) +3283 = AND(2621, 2624, 3189) +3284 = AND(2368, 2803, 3190) +3286 = NAND(2210, 3196) +3288 = OR(3197, 3007) +3289 = NAND(3180, 3049) +3291 = AND(3152, 2981) +3293 = AND(3149, 2978) +3295 = AND(3146, 2975) +3296 = AND(2972, 3143) +3299 = AND(3140, 2989) +3301 = AND(3137, 2986) +3302 = OR(3208, 3029) +3304 = AND(3172, 3025) +3306 = AND(3169, 3022) +3308 = AND(3166, 3019) +3309 = AND(3016, 3163) +3312 = AND(3160, 3013) +3314 = AND(3157, 3010) +3315 = OR(3215, 3035) +3318 = OR(3216, 3036) +3321 = OR(3217, 3037) +3324 = OR(3218, 3044) +3327 = OR(3219, 3045) +3330 = OR(3220, 3046) +3333 = NOT(3180) +3334 = OR(3222, 3053) +3335 = OR(3223, 3054) +3336 = OR(3230, 3064) +3337 = OR(3231, 3065) +3340 = BUFF(3152) +3344 = BUFF(3149) +3348 = BUFF(3146) +3352 = BUFF(3143) +3356 = BUFF(3140) +3360 = BUFF(3137) +3364 = BUFF(3091) +3367 = BUFF(3088) +3370 = BUFF(3172) +3374 = BUFF(3169) +3378 = BUFF(3166) +3382 = BUFF(3163) +3386 = BUFF(3160) +3390 = BUFF(3157) +3394 = BUFF(3113) +3397 = BUFF(3110) +3400 = NAND(3195, 3286) +3401 = NOR(3281, 3191) +3402 = NOR(3282, 3192) +3403 = NOR(3283, 3193) +3404 = NOR(3284, 3194) +3405 = NOT(3238) +3406 = NOT(3241) +3409 = AND(3288, 1836) +3410 = NAND(2888, 3333) +3412 = NOT(3244) +3414 = NOT(3247) +3416 = NOT(3250) +3418 = NOT(3253) +3420 = NOT(3256) +3422 = NOT(3259) +3428 = AND(3302, 1836) +3430 = NOT(3262) +3432 = NOT(3265) +3434 = NOT(3268) +3436 = NOT(3271) +3438 = NOT(3274) +3440 = NOT(3277) +3450 = AND(3334, 1190) +3453 = AND(3335, 1190) +3456 = AND(3336, 1195) +3459 = AND(3337, 1195) +3478 = AND(3400, 533) +3479 = AND(3318, 2128) +3480 = AND(3315, 1841) +3481 = NAND(3410, 3289) +3482 = NOT(3340) +3483 = NAND(3340, 3412) +3484 = NOT(3344) +3485 = NAND(3344, 3414) +3486 = NOT(3348) +3487 = NAND(3348, 3416) +3488 = NOT(3352) +3489 = NAND(3352, 3418) +3490 = NOT(3356) +3491 = NAND(3356, 3420) +3492 = NOT(3360) +3493 = NAND(3360, 3422) +3494 = NOT(3364) +3496 = NOT(3367) +3498 = AND(3321, 2135) +3499 = AND(3327, 2128) +3500 = AND(3324, 1841) +3501 = NOT(3370) +3502 = NAND(3370, 3430) +3503 = NOT(3374) +3504 = NAND(3374, 3432) +3505 = NOT(3378) +3506 = NAND(3378, 3434) +3507 = NOT(3382) +3508 = NAND(3382, 3436) +3509 = NOT(3386) +3510 = NAND(3386, 3438) +3511 = NOT(3390) +3512 = NAND(3390, 3440) +3513 = NOT(3394) +3515 = NOT(3397) +3517 = AND(3330, 2135) +3522 = NAND(3402, 3401) +3525 = NAND(3404, 3403) +3528 = BUFF(3318) +3531 = BUFF(3315) +3534 = BUFF(3321) +3537 = BUFF(3327) +3540 = BUFF(3324) +3543 = BUFF(3330) +3546 = OR(3478, 1813) +3551 = NOT(3481) +3552 = NAND(3244, 3482) +3553 = NAND(3247, 3484) +3554 = NAND(3250, 3486) +3555 = NAND(3253, 3488) +3556 = NAND(3256, 3490) +3557 = NAND(3259, 3492) +3558 = AND(3453, 3091) +3559 = AND(3450, 3088) +3563 = NAND(3262, 3501) +3564 = NAND(3265, 3503) +3565 = NAND(3268, 3505) +3566 = NAND(3271, 3507) +3567 = NAND(3274, 3509) +3568 = NAND(3277, 3511) +3569 = AND(3459, 3113) +3570 = AND(3456, 3110) +3576 = BUFF(3453) +3579 = BUFF(3450) +3585 = BUFF(3459) +3588 = BUFF(3456) +3592 = NOT(3522) +3593 = NAND(3522, 3405) +3594 = NOT(3525) +3595 = NAND(3525, 3406) +3596 = NOT(3528) +3597 = NAND(3528, 2630) +3598 = NAND(3531, 2376) +3599 = NOT(3531) +3600 = AND(3551, 800) +3603 = NAND(3552, 3483) +3608 = NAND(3553, 3485) +3612 = NAND(3554, 3487) +3615 = NAND(3555, 3489) +3616 = NAND(3556, 3491) +3622 = NAND(3557, 3493) +3629 = NOT(3534) +3630 = NAND(3534, 2645) +3631 = NOT(3537) +3632 = NAND(3537, 2655) +3633 = NAND(3540, 2403) +3634 = NOT(3540) +3635 = NAND(3563, 3502) +3640 = NAND(3564, 3504) +3644 = NAND(3565, 3506) +3647 = NAND(3566, 3508) +3648 = NAND(3567, 3510) +3654 = NAND(3568, 3512) +3661 = NOT(3543) +3662 = NAND(3543, 2656) +3667 = NAND(3238, 3592) +3668 = NAND(3241, 3594) +3669 = NAND(2472, 3596) +3670 = NAND(2213, 3599) +3671 = BUFF(3600) +3691 = NOT(3576) +3692 = NAND(3576, 3494) +3693 = NOT(3579) +3694 = NAND(3579, 3496) +3695 = NAND(2475, 3629) +3696 = NAND(2478, 3631) +3697 = NAND(2216, 3634) +3716 = NOT(3585) +3717 = NAND(3585, 3513) +3718 = NOT(3588) +3719 = NAND(3588, 3515) +3720 = NAND(2481, 3661) +3721 = NAND(3667, 3593) +3722 = NAND(3668, 3595) +3723 = NAND(3669, 3597) +3726 = NAND(3670, 3598) +3727 = NOT(3600) +3728 = NAND(3364, 3691) +3729 = NAND(3367, 3693) +3730 = NAND(3695, 3630) +3731 = AND(3608, 3615, 3612, 3603) +3732 = AND(3603, 3293) +3733 = AND(3608, 3603, 3295) +3734 = AND(3612, 3603, 3296, 3608) +3735 = AND(3616, 3301) +3736 = AND(3622, 3616, 3558) +3737 = NAND(3696, 3632) +3740 = NAND(3697, 3633) +3741 = NAND(3394, 3716) +3742 = NAND(3397, 3718) +3743 = NAND(3720, 3662) +3744 = AND(3640, 3647, 3644, 3635) +3745 = AND(3635, 3306) +3746 = AND(3640, 3635, 3308) +3747 = AND(3644, 3635, 3309, 3640) +3748 = AND(3648, 3314) +3749 = AND(3654, 3648, 3569) +3750 = NOT(3721) +3753 = AND(3722, 246) +3754 = NAND(3728, 3692) +3758 = NAND(3729, 3694) +3761 = NOT(3731) +3762 = OR(3291, 3732, 3733, 3734) +3767 = NAND(3741, 3717) +3771 = NAND(3742, 3719) +3774 = NOT(3744) +3775 = OR(3304, 3745, 3746, 3747) +3778 = AND(3723, 3480) +3779 = AND(3726, 3723, 3409) +3780 = OR(2125, 3753) +3790 = AND(3750, 800) +3793 = AND(3737, 3500) +3794 = AND(3740, 3737, 3428) +3802 = OR(3479, 3778, 3779) +3803 = BUFF(3780) +3804 = BUFF(3780) +3805 = NOT(3762) +3806 = AND(3622, 3730, 3754, 3616, 3758) +3807 = AND(3754, 3616, 3559, 3622) +3808 = AND(3758, 3754, 3616, 3498, 3622) +3809 = BUFF(3790) +3811 = OR(3499, 3793, 3794) +3812 = NOT(3775) +3813 = AND(3654, 3743, 3767, 3648, 3771) +3814 = AND(3767, 3648, 3570, 3654) +3815 = AND(3771, 3767, 3648, 3517, 3654) +3816 = OR(3299, 3735, 3736, 3807, 3808) +3817 = AND(3806, 3802) +3818 = NAND(3805, 3761) +3819 = NOT(3790) +3820 = OR(3312, 3748, 3749, 3814, 3815) +3821 = AND(3813, 3811) +3822 = NAND(3812, 3774) +3823 = OR(3816, 3817) +3826 = AND(3727, 3819, 2841) +3827 = OR(3820, 3821) +3834 = NOT(3823) +3835 = AND(3818, 3823) +3836 = NOT(3827) +3837 = AND(3822, 3827) +3838 = AND(3762, 3834) +3839 = AND(3775, 3836) +3840 = OR(3838, 3835) +3843 = OR(3839, 3837) +3851 = BUFF(3843) +3852 = NAND(3843, 3840) +3857 = AND(3843, 3852) +3858 = AND(3852, 3840) +3859 = OR(3857, 3858) +3864 = NOT(3859) +3869 = AND(3859, 3864) +3870 = OR(3869, 3864) +3875 = NOT(3870) +3876 = AND(2826, 3028, 3870) +3877 = AND(3826, 3876, 1591) +3881 = BUFF(3877) +3882 = NOT(3877) diff --git a/benchmarks/iscas85/c3540.bench b/benchmarks/iscas85/c3540.bench new file mode 100644 index 00000000..4e473faf --- /dev/null +++ b/benchmarks/iscas85/c3540.bench @@ -0,0 +1,1749 @@ +# c3540 +# 50 inputs +# 22 outputs +# 490 inverters +# 1179 gates ( 721 ANDs + 788 NANDs + 92 ORs + 68 NORs + 223 buffers ) + +INPUT(1) +INPUT(13) +INPUT(20) +INPUT(33) +INPUT(41) +INPUT(45) +INPUT(50) +INPUT(58) +INPUT(68) +INPUT(77) +INPUT(87) +INPUT(97) +INPUT(107) +INPUT(116) +INPUT(124) +INPUT(125) +INPUT(128) +INPUT(132) +INPUT(137) +INPUT(143) +INPUT(150) +INPUT(159) +INPUT(169) +INPUT(179) +INPUT(190) +INPUT(200) +INPUT(213) +INPUT(222) +INPUT(223) +INPUT(226) +INPUT(232) +INPUT(238) +INPUT(244) +INPUT(250) +INPUT(257) +INPUT(264) +INPUT(270) +INPUT(274) +INPUT(283) +INPUT(294) +INPUT(303) +INPUT(311) +INPUT(317) +INPUT(322) +INPUT(326) +INPUT(329) +INPUT(330) +INPUT(343) +INPUT(349) +INPUT(350) + +OUTPUT(1713) +OUTPUT(1947) +OUTPUT(3195) +OUTPUT(3833) +OUTPUT(3987) +OUTPUT(4028) +OUTPUT(4145) +OUTPUT(4589) +OUTPUT(4667) +OUTPUT(4815) +OUTPUT(4944) +OUTPUT(5002) +OUTPUT(5045) +OUTPUT(5047) +OUTPUT(5078) +OUTPUT(5102) +OUTPUT(5120) +OUTPUT(5121) +OUTPUT(5192) +OUTPUT(5231) +OUTPUT(5360) +OUTPUT(5361) + +655 = BUFF(50) +665 = NOT(50) +670 = BUFF(58) +679 = NOT(58) +683 = BUFF(68) +686 = NOT(68) +690 = BUFF(68) +699 = BUFF(77) +702 = NOT(77) +706 = BUFF(77) +715 = BUFF(87) +724 = NOT(87) +727 = BUFF(97) +736 = NOT(97) +740 = BUFF(107) +749 = NOT(107) +753 = BUFF(116) +763 = NOT(116) +768 = OR(257, 264) +769 = NOT(1) +772 = BUFF(1) +779 = NOT(1) +782 = BUFF(13) +786 = NOT(13) +793 = AND(13, 20) +794 = NOT(20) +798 = BUFF(20) +803 = NOT(20) +820 = NOT(33) +821 = BUFF(33) +825 = NOT(33) +829 = AND(33, 41) +832 = NOT(41) +835 = OR(41, 45) +836 = BUFF(45) +839 = NOT(45) +842 = NOT(50) +845 = BUFF(58) +848 = NOT(58) +851 = BUFF(68) +854 = NOT(68) +858 = BUFF(87) +861 = NOT(87) +864 = BUFF(97) +867 = NOT(97) +870 = NOT(107) +874 = BUFF(1) +877 = BUFF(68) +880 = BUFF(107) +883 = NOT(20) +886 = BUFF(190) +889 = NOT(200) +890 = AND(20, 200) +891 = NAND(20, 200) +892 = AND(20, 179) +895 = NOT(20) +896 = OR(349, 33) +913 = NAND(1, 13) +914 = NAND(1, 20, 33) +915 = NOT(20) +916 = NOT(33) +917 = BUFF(179) +920 = NOT(213) +923 = BUFF(343) +926 = BUFF(226) +929 = BUFF(232) +932 = BUFF(238) +935 = BUFF(244) +938 = BUFF(250) +941 = BUFF(257) +944 = BUFF(264) +947 = BUFF(270) +950 = BUFF(50) +953 = BUFF(58) +956 = BUFF(58) +959 = BUFF(97) +962 = BUFF(97) +965 = BUFF(330) +1067 = AND(250, 768) +1117 = OR(820, 20) +1179 = OR(895, 169) +1196 = NOT(793) +1197 = OR(915, 1) +1202 = AND(913, 914) +1219 = OR(916, 1) +1250 = AND(842, 848, 854) +1251 = NAND(226, 655) +1252 = NAND(232, 670) +1253 = NAND(238, 690) +1254 = NAND(244, 706) +1255 = NAND(250, 715) +1256 = NAND(257, 727) +1257 = NAND(264, 740) +1258 = NAND(270, 753) +1259 = NOT(926) +1260 = NOT(929) +1261 = NOT(932) +1262 = NOT(935) +1263 = NAND(679, 686) +1264 = NAND(736, 749) +1267 = NAND(683, 699) +1268 = BUFF(665) +1271 = NOT(953) +1272 = NOT(959) +1273 = BUFF(839) +1276 = BUFF(839) +1279 = BUFF(782) +1298 = BUFF(825) +1302 = BUFF(832) +1306 = AND(779, 835) +1315 = AND(779, 836, 832) +1322 = AND(769, 836) +1325 = AND(772, 786, 798) +1328 = NAND(772, 786, 798) +1331 = NAND(772, 786) +1334 = BUFF(874) +1337 = NAND(782, 794, 45) +1338 = NAND(842, 848, 854) +1339 = NOT(956) +1340 = AND(861, 867, 870) +1343 = NAND(861, 867, 870) +1344 = NOT(962) +1345 = NOT(803) +1346 = NOT(803) +1347 = NOT(803) +1348 = NOT(803) +1349 = NOT(803) +1350 = NOT(803) +1351 = NOT(803) +1352 = NOT(803) +1353 = OR(883, 886) +1358 = NOR(883, 886) +1363 = BUFF(892) +1366 = NOT(892) +1369 = BUFF(821) +1384 = BUFF(825) +1401 = NOT(896) +1402 = NOT(896) +1403 = NOT(896) +1404 = NOT(896) +1405 = NOT(896) +1406 = NOT(896) +1407 = NOT(896) +1408 = NOT(896) +1409 = OR(1, 1196) +1426 = NOT(829) +1427 = NOT(829) +1452 = AND(769, 782, 794) +1459 = NOT(917) +1460 = NOT(965) +1461 = OR(920, 923) +1464 = NOR(920, 923) +1467 = NOT(938) +1468 = NOT(941) +1469 = NOT(944) +1470 = NOT(947) +1471 = BUFF(679) +1474 = NOT(950) +1475 = BUFF(686) +1478 = BUFF(702) +1481 = BUFF(724) +1484 = BUFF(736) +1487 = BUFF(749) +1490 = BUFF(763) +1493 = BUFF(877) +1496 = BUFF(877) +1499 = BUFF(880) +1502 = BUFF(880) +1505 = NAND(702, 1250) +1507 = AND(1251, 1252, 1253, 1254) +1508 = AND(1255, 1256, 1257, 1258) +1509 = NAND(929, 1259) +1510 = NAND(926, 1260) +1511 = NAND(935, 1261) +1512 = NAND(932, 1262) +1520 = AND(655, 1263) +1562 = AND(874, 1337) +1579 = NOT(1117) +1580 = AND(803, 1117) +1581 = AND(1338, 1345) +1582 = NOT(1117) +1583 = AND(803, 1117) +1584 = NOT(1117) +1585 = AND(803, 1117) +1586 = AND(854, 1347) +1587 = NOT(1117) +1588 = AND(803, 1117) +1589 = AND(77, 1348) +1590 = NOT(1117) +1591 = AND(803, 1117) +1592 = AND(1343, 1349) +1593 = NOT(1117) +1594 = AND(803, 1117) +1595 = NOT(1117) +1596 = AND(803, 1117) +1597 = AND(870, 1351) +1598 = NOT(1117) +1599 = AND(803, 1117) +1600 = AND(116, 1352) +1643 = AND(222, 1401) +1644 = AND(223, 1402) +1645 = AND(226, 1403) +1646 = AND(232, 1404) +1647 = AND(238, 1405) +1648 = AND(244, 1406) +1649 = AND(250, 1407) +1650 = AND(257, 1408) +1667 = AND(1, 13, 1426) +1670 = AND(1, 13, 1427) +1673 = NOT(1202) +1674 = NOT(1202) +1675 = NOT(1202) +1676 = NOT(1202) +1677 = NOT(1202) +1678 = NOT(1202) +1679 = NOT(1202) +1680 = NOT(1202) +1691 = NAND(941, 1467) +1692 = NAND(938, 1468) +1693 = NAND(947, 1469) +1694 = NAND(944, 1470) +1713 = NOT(1505) +1714 = AND(87, 1264) +1715 = NAND(1509, 1510) +1718 = NAND(1511, 1512) +1721 = NAND(1507, 1508) +1722 = AND(763, 1340) +1725 = NAND(763, 1340) +1726 = NOT(1268) +1727 = NAND(1493, 1271) +1728 = NOT(1493) +1729 = AND(683, 1268) +1730 = NAND(1499, 1272) +1731 = NOT(1499) +1735 = NAND(87, 1264) +1736 = NOT(1273) +1737 = NOT(1276) +1738 = NAND(1325, 821) +1747 = NAND(1325, 825) +1756 = NAND(772, 1279, 798) +1761 = NAND(772, 786, 798, 1302) +1764 = NAND(1496, 1339) +1765 = NOT(1496) +1766 = NAND(1502, 1344) +1767 = NOT(1502) +1768 = NOT(1328) +1769 = NOT(1334) +1770 = NOT(1331) +1787 = AND(845, 1579) +1788 = AND(150, 1580) +1789 = AND(851, 1582) +1790 = AND(159, 1583) +1791 = AND(77, 1584) +1792 = AND(50, 1585) +1793 = AND(858, 1587) +1794 = AND(845, 1588) +1795 = AND(864, 1590) +1796 = AND(851, 1591) +1797 = AND(107, 1593) +1798 = AND(77, 1594) +1799 = AND(116, 1595) +1800 = AND(858, 1596) +1801 = AND(283, 1598) +1802 = AND(864, 1599) +1803 = AND(200, 1363) +1806 = AND(889, 1363) +1809 = AND(890, 1366) +1812 = AND(891, 1366) +1815 = NAND(1298, 1302) +1818 = NAND(821, 1302) +1821 = NAND(772, 1279, 1179) +1824 = NAND(786, 794, 1298) +1833 = NAND(786, 1298) +1842 = NOT(1369) +1843 = NOT(1369) +1844 = NOT(1369) +1845 = NOT(1369) +1846 = NOT(1369) +1847 = NOT(1369) +1848 = NOT(1369) +1849 = NOT(1384) +1850 = AND(1384, 896) +1851 = NOT(1384) +1852 = AND(1384, 896) +1853 = NOT(1384) +1854 = AND(1384, 896) +1855 = NOT(1384) +1856 = AND(1384, 896) +1857 = NOT(1384) +1858 = AND(1384, 896) +1859 = NOT(1384) +1860 = AND(1384, 896) +1861 = NOT(1384) +1862 = AND(1384, 896) +1863 = NOT(1384) +1864 = AND(1384, 896) +1869 = AND(1202, 1409) +1870 = NOR(50, 1409) +1873 = NOT(1306) +1874 = AND(1202, 1409) +1875 = NOR(58, 1409) +1878 = NOT(1306) +1879 = AND(1202, 1409) +1880 = NOR(68, 1409) +1883 = NOT(1306) +1884 = AND(1202, 1409) +1885 = NOR(77, 1409) +1888 = NOT(1306) +1889 = AND(1202, 1409) +1890 = NOR(87, 1409) +1893 = NOT(1322) +1894 = AND(1202, 1409) +1895 = NOR(97, 1409) +1898 = NOT(1315) +1899 = AND(1202, 1409) +1900 = NOR(107, 1409) +1903 = NOT(1315) +1904 = AND(1202, 1409) +1905 = NOR(116, 1409) +1908 = NOT(1315) +1909 = AND(1452, 213) +1912 = NAND(1452, 213) +1913 = AND(1452, 213, 343) +1917 = NAND(1452, 213, 343) +1922 = AND(1452, 213, 343) +1926 = NAND(1452, 213, 343) +1930 = BUFF(1464) +1933 = NAND(1691, 1692) +1936 = NAND(1693, 1694) +1939 = NOT(1471) +1940 = NAND(1471, 1474) +1941 = NOT(1475) +1942 = NOT(1478) +1943 = NOT(1481) +1944 = NOT(1484) +1945 = NOT(1487) +1946 = NOT(1490) +1947 = NOT(1714) +1960 = NAND(953, 1728) +1961 = NAND(959, 1731) +1966 = AND(1520, 1276) +1981 = NAND(956, 1765) +1982 = NAND(962, 1767) +1983 = AND(1067, 1768) +1986 = OR(1581, 1787, 1788) +1987 = OR(1586, 1791, 1792) +1988 = OR(1589, 1793, 1794) +1989 = OR(1592, 1795, 1796) +1990 = OR(1597, 1799, 1800) +1991 = OR(1600, 1801, 1802) +2022 = AND(77, 1849) +2023 = AND(223, 1850) +2024 = AND(87, 1851) +2025 = AND(226, 1852) +2026 = AND(97, 1853) +2027 = AND(232, 1854) +2028 = AND(107, 1855) +2029 = AND(238, 1856) +2030 = AND(116, 1857) +2031 = AND(244, 1858) +2032 = AND(283, 1859) +2033 = AND(250, 1860) +2034 = AND(294, 1861) +2035 = AND(257, 1862) +2036 = AND(303, 1863) +2037 = AND(264, 1864) +2038 = BUFF(1667) +2043 = NOT(1667) +2052 = BUFF(1670) +2057 = NOT(1670) +2068 = AND(50, 1197, 1869) +2073 = AND(58, 1197, 1874) +2078 = AND(68, 1197, 1879) +2083 = AND(77, 1197, 1884) +2088 = AND(87, 1219, 1889) +2093 = AND(97, 1219, 1894) +2098 = AND(107, 1219, 1899) +2103 = AND(116, 1219, 1904) +2121 = NOT(1562) +2122 = NOT(1562) +2123 = NOT(1562) +2124 = NOT(1562) +2125 = NOT(1562) +2126 = NOT(1562) +2127 = NOT(1562) +2128 = NOT(1562) +2133 = NAND(950, 1939) +2134 = NAND(1478, 1941) +2135 = NAND(1475, 1942) +2136 = NAND(1484, 1943) +2137 = NAND(1481, 1944) +2138 = NAND(1490, 1945) +2139 = NAND(1487, 1946) +2141 = NOT(1933) +2142 = NOT(1936) +2143 = NOT(1738) +2144 = AND(1738, 1747) +2145 = NOT(1747) +2146 = NAND(1727, 1960) +2147 = NAND(1730, 1961) +2148 = AND(1722, 1267, 665, 58) +2149 = NOT(1738) +2150 = AND(1738, 1747) +2151 = NOT(1747) +2152 = NOT(1738) +2153 = NOT(1747) +2154 = AND(1738, 1747) +2155 = NOT(1738) +2156 = NOT(1747) +2157 = AND(1738, 1747) +2158 = BUFF(1761) +2175 = BUFF(1761) +2178 = NAND(1764, 1981) +2179 = NAND(1766, 1982) +2180 = NOT(1756) +2181 = AND(1756, 1328) +2183 = NOT(1756) +2184 = AND(1331, 1756) +2185 = NAND(1358, 1812) +2188 = NAND(1358, 1809) +2191 = NAND(1353, 1812) +2194 = NAND(1353, 1809) +2197 = NAND(1358, 1806) +2200 = NAND(1358, 1803) +2203 = NAND(1353, 1806) +2206 = NAND(1353, 1803) +2209 = NOT(1815) +2210 = NOT(1818) +2211 = AND(1815, 1818) +2212 = BUFF(1821) +2221 = BUFF(1821) +2230 = NOT(1833) +2231 = NOT(1833) +2232 = NOT(1833) +2233 = NOT(1833) +2234 = NOT(1824) +2235 = NOT(1824) +2236 = NOT(1824) +2237 = NOT(1824) +2238 = OR(2022, 1643, 2023) +2239 = OR(2024, 1644, 2025) +2240 = OR(2026, 1645, 2027) +2241 = OR(2028, 1646, 2029) +2242 = OR(2030, 1647, 2031) +2243 = OR(2032, 1648, 2033) +2244 = OR(2034, 1649, 2035) +2245 = OR(2036, 1650, 2037) +2270 = AND(1986, 1673) +2277 = AND(1987, 1675) +2282 = AND(1988, 1676) +2287 = AND(1989, 1677) +2294 = AND(1990, 1679) +2299 = AND(1991, 1680) +2304 = BUFF(1917) +2307 = AND(1930, 350) +2310 = NAND(1930, 350) +2313 = BUFF(1715) +2316 = BUFF(1718) +2319 = BUFF(1715) +2322 = BUFF(1718) +2325 = NAND(1940, 2133) +2328 = NAND(2134, 2135) +2331 = NAND(2136, 2137) +2334 = NAND(2138, 2139) +2341 = NAND(1936, 2141) +2342 = NAND(1933, 2142) +2347 = AND(724, 2144) +2348 = AND(2146, 699, 1726) +2349 = AND(753, 2147) +2350 = AND(2148, 1273) +2351 = AND(736, 2150) +2352 = AND(1735, 2153) +2353 = AND(763, 2154) +2354 = AND(1725, 2156) +2355 = AND(749, 2157) +2374 = NOT(2178) +2375 = NOT(2179) +2376 = AND(1520, 2180) +2379 = AND(1721, 2181) +2398 = AND(665, 2211) +2417 = AND(2057, 226, 1873) +2418 = AND(2057, 274, 1306) +2419 = AND(2052, 2238) +2420 = AND(2057, 232, 1878) +2421 = AND(2057, 274, 1306) +2422 = AND(2052, 2239) +2425 = AND(2057, 238, 1883) +2426 = AND(2057, 274, 1306) +2427 = AND(2052, 2240) +2430 = AND(2057, 244, 1888) +2431 = AND(2057, 274, 1306) +2432 = AND(2052, 2241) +2435 = AND(2043, 250, 1893) +2436 = AND(2043, 274, 1322) +2437 = AND(2038, 2242) +2438 = AND(2043, 257, 1898) +2439 = AND(2043, 274, 1315) +2440 = AND(2038, 2243) +2443 = AND(2043, 264, 1903) +2444 = AND(2043, 274, 1315) +2445 = AND(2038, 2244) +2448 = AND(2043, 270, 1908) +2449 = AND(2043, 274, 1315) +2450 = AND(2038, 2245) +2467 = NOT(2313) +2468 = NOT(2316) +2469 = NOT(2319) +2470 = NOT(2322) +2471 = NAND(2341, 2342) +2474 = NOT(2325) +2475 = NOT(2328) +2476 = NOT(2331) +2477 = NOT(2334) +2478 = OR(2348, 1729) +2481 = NOT(2175) +2482 = AND(2175, 1334) +2483 = AND(2349, 2183) +2486 = AND(2374, 1346) +2487 = AND(2375, 1350) +2488 = BUFF(2185) +2497 = BUFF(2188) +2506 = BUFF(2191) +2515 = BUFF(2194) +2524 = BUFF(2197) +2533 = BUFF(2200) +2542 = BUFF(2203) +2551 = BUFF(2206) +2560 = BUFF(2185) +2569 = BUFF(2188) +2578 = BUFF(2191) +2587 = BUFF(2194) +2596 = BUFF(2197) +2605 = BUFF(2200) +2614 = BUFF(2203) +2623 = BUFF(2206) +2632 = NOT(2212) +2633 = AND(2212, 1833) +2634 = NOT(2212) +2635 = AND(2212, 1833) +2636 = NOT(2212) +2637 = AND(2212, 1833) +2638 = NOT(2212) +2639 = AND(2212, 1833) +2640 = NOT(2221) +2641 = AND(2221, 1824) +2642 = NOT(2221) +2643 = AND(2221, 1824) +2644 = NOT(2221) +2645 = AND(2221, 1824) +2646 = NOT(2221) +2647 = AND(2221, 1824) +2648 = OR(2270, 1870, 2068) +2652 = NOR(2270, 1870, 2068) +2656 = OR(2417, 2418, 2419) +2659 = OR(2420, 2421, 2422) +2662 = OR(2277, 1880, 2078) +2666 = NOR(2277, 1880, 2078) +2670 = OR(2425, 2426, 2427) +2673 = OR(2282, 1885, 2083) +2677 = NOR(2282, 1885, 2083) +2681 = OR(2430, 2431, 2432) +2684 = OR(2287, 1890, 2088) +2688 = NOR(2287, 1890, 2088) +2692 = OR(2435, 2436, 2437) +2697 = OR(2438, 2439, 2440) +2702 = OR(2294, 1900, 2098) +2706 = NOR(2294, 1900, 2098) +2710 = OR(2443, 2444, 2445) +2715 = OR(2299, 1905, 2103) +2719 = NOR(2299, 1905, 2103) +2723 = OR(2448, 2449, 2450) +2728 = NOT(2304) +2729 = NOT(2158) +2730 = AND(1562, 2158) +2731 = NOT(2158) +2732 = AND(1562, 2158) +2733 = NOT(2158) +2734 = AND(1562, 2158) +2735 = NOT(2158) +2736 = AND(1562, 2158) +2737 = NOT(2158) +2738 = AND(1562, 2158) +2739 = NOT(2158) +2740 = AND(1562, 2158) +2741 = NOT(2158) +2742 = AND(1562, 2158) +2743 = NOT(2158) +2744 = AND(1562, 2158) +2745 = OR(2376, 1983, 2379) +2746 = NOR(2376, 1983, 2379) +2748 = NAND(2316, 2467) +2749 = NAND(2313, 2468) +2750 = NAND(2322, 2469) +2751 = NAND(2319, 2470) +2754 = NAND(2328, 2474) +2755 = NAND(2325, 2475) +2756 = NAND(2334, 2476) +2757 = NAND(2331, 2477) +2758 = AND(1520, 2481) +2761 = AND(1722, 2482) +2764 = AND(2478, 1770) +2768 = OR(2486, 1789, 1790) +2769 = OR(2487, 1797, 1798) +2898 = AND(665, 2633) +2899 = AND(679, 2635) +2900 = AND(686, 2637) +2901 = AND(702, 2639) +2962 = NOT(2746) +2966 = NAND(2748, 2749) +2967 = NAND(2750, 2751) +2970 = BUFF(2471) +2973 = NAND(2754, 2755) +2977 = NAND(2756, 2757) +2980 = AND(2471, 2143) +2984 = NOT(2488) +2985 = NOT(2497) +2986 = NOT(2506) +2987 = NOT(2515) +2988 = NOT(2524) +2989 = NOT(2533) +2990 = NOT(2542) +2991 = NOT(2551) +2992 = NOT(2488) +2993 = NOT(2497) +2994 = NOT(2506) +2995 = NOT(2515) +2996 = NOT(2524) +2997 = NOT(2533) +2998 = NOT(2542) +2999 = NOT(2551) +3000 = NOT(2488) +3001 = NOT(2497) +3002 = NOT(2506) +3003 = NOT(2515) +3004 = NOT(2524) +3005 = NOT(2533) +3006 = NOT(2542) +3007 = NOT(2551) +3008 = NOT(2488) +3009 = NOT(2497) +3010 = NOT(2506) +3011 = NOT(2515) +3012 = NOT(2524) +3013 = NOT(2533) +3014 = NOT(2542) +3015 = NOT(2551) +3016 = NOT(2488) +3017 = NOT(2497) +3018 = NOT(2506) +3019 = NOT(2515) +3020 = NOT(2524) +3021 = NOT(2533) +3022 = NOT(2542) +3023 = NOT(2551) +3024 = NOT(2488) +3025 = NOT(2497) +3026 = NOT(2506) +3027 = NOT(2515) +3028 = NOT(2524) +3029 = NOT(2533) +3030 = NOT(2542) +3031 = NOT(2551) +3032 = NOT(2488) +3033 = NOT(2497) +3034 = NOT(2506) +3035 = NOT(2515) +3036 = NOT(2524) +3037 = NOT(2533) +3038 = NOT(2542) +3039 = NOT(2551) +3040 = NOT(2488) +3041 = NOT(2497) +3042 = NOT(2506) +3043 = NOT(2515) +3044 = NOT(2524) +3045 = NOT(2533) +3046 = NOT(2542) +3047 = NOT(2551) +3048 = NOT(2560) +3049 = NOT(2569) +3050 = NOT(2578) +3051 = NOT(2587) +3052 = NOT(2596) +3053 = NOT(2605) +3054 = NOT(2614) +3055 = NOT(2623) +3056 = NOT(2560) +3057 = NOT(2569) +3058 = NOT(2578) +3059 = NOT(2587) +3060 = NOT(2596) +3061 = NOT(2605) +3062 = NOT(2614) +3063 = NOT(2623) +3064 = NOT(2560) +3065 = NOT(2569) +3066 = NOT(2578) +3067 = NOT(2587) +3068 = NOT(2596) +3069 = NOT(2605) +3070 = NOT(2614) +3071 = NOT(2623) +3072 = NOT(2560) +3073 = NOT(2569) +3074 = NOT(2578) +3075 = NOT(2587) +3076 = NOT(2596) +3077 = NOT(2605) +3078 = NOT(2614) +3079 = NOT(2623) +3080 = NOT(2560) +3081 = NOT(2569) +3082 = NOT(2578) +3083 = NOT(2587) +3084 = NOT(2596) +3085 = NOT(2605) +3086 = NOT(2614) +3087 = NOT(2623) +3088 = NOT(2560) +3089 = NOT(2569) +3090 = NOT(2578) +3091 = NOT(2587) +3092 = NOT(2596) +3093 = NOT(2605) +3094 = NOT(2614) +3095 = NOT(2623) +3096 = NOT(2560) +3097 = NOT(2569) +3098 = NOT(2578) +3099 = NOT(2587) +3100 = NOT(2596) +3101 = NOT(2605) +3102 = NOT(2614) +3103 = NOT(2623) +3104 = NOT(2560) +3105 = NOT(2569) +3106 = NOT(2578) +3107 = NOT(2587) +3108 = NOT(2596) +3109 = NOT(2605) +3110 = NOT(2614) +3111 = NOT(2623) +3112 = BUFF(2656) +3115 = NOT(2656) +3118 = NOT(2652) +3119 = AND(2768, 1674) +3122 = BUFF(2659) +3125 = NOT(2659) +3128 = BUFF(2670) +3131 = NOT(2670) +3134 = NOT(2666) +3135 = BUFF(2681) +3138 = NOT(2681) +3141 = NOT(2677) +3142 = BUFF(2692) +3145 = NOT(2692) +3148 = NOT(2688) +3149 = AND(2769, 1678) +3152 = BUFF(2697) +3155 = NOT(2697) +3158 = BUFF(2710) +3161 = NOT(2710) +3164 = NOT(2706) +3165 = BUFF(2723) +3168 = NOT(2723) +3171 = NOT(2719) +3172 = AND(1909, 2648) +3175 = AND(1913, 2662) +3178 = AND(1913, 2673) +3181 = AND(1913, 2684) +3184 = AND(1922, 2702) +3187 = AND(1922, 2715) +3190 = NOT(2692) +3191 = NOT(2697) +3192 = NOT(2710) +3193 = NOT(2723) +3194 = AND(2692, 2697, 2710, 2723, 1459) +3195 = NAND(2745, 2962) +3196 = NOT(2966) +3206 = OR(2980, 2145, 2347) +3207 = AND(124, 2984) +3208 = AND(159, 2985) +3209 = AND(150, 2986) +3210 = AND(143, 2987) +3211 = AND(137, 2988) +3212 = AND(132, 2989) +3213 = AND(128, 2990) +3214 = AND(125, 2991) +3215 = AND(125, 2992) +3216 = AND(655, 2993) +3217 = AND(159, 2994) +3218 = AND(150, 2995) +3219 = AND(143, 2996) +3220 = AND(137, 2997) +3221 = AND(132, 2998) +3222 = AND(128, 2999) +3223 = AND(128, 3000) +3224 = AND(670, 3001) +3225 = AND(655, 3002) +3226 = AND(159, 3003) +3227 = AND(150, 3004) +3228 = AND(143, 3005) +3229 = AND(137, 3006) +3230 = AND(132, 3007) +3231 = AND(132, 3008) +3232 = AND(690, 3009) +3233 = AND(670, 3010) +3234 = AND(655, 3011) +3235 = AND(159, 3012) +3236 = AND(150, 3013) +3237 = AND(143, 3014) +3238 = AND(137, 3015) +3239 = AND(137, 3016) +3240 = AND(706, 3017) +3241 = AND(690, 3018) +3242 = AND(670, 3019) +3243 = AND(655, 3020) +3244 = AND(159, 3021) +3245 = AND(150, 3022) +3246 = AND(143, 3023) +3247 = AND(143, 3024) +3248 = AND(715, 3025) +3249 = AND(706, 3026) +3250 = AND(690, 3027) +3251 = AND(670, 3028) +3252 = AND(655, 3029) +3253 = AND(159, 3030) +3254 = AND(150, 3031) +3255 = AND(150, 3032) +3256 = AND(727, 3033) +3257 = AND(715, 3034) +3258 = AND(706, 3035) +3259 = AND(690, 3036) +3260 = AND(670, 3037) +3261 = AND(655, 3038) +3262 = AND(159, 3039) +3263 = AND(159, 3040) +3264 = AND(740, 3041) +3265 = AND(727, 3042) +3266 = AND(715, 3043) +3267 = AND(706, 3044) +3268 = AND(690, 3045) +3269 = AND(670, 3046) +3270 = AND(655, 3047) +3271 = AND(283, 3048) +3272 = AND(670, 3049) +3273 = AND(690, 3050) +3274 = AND(706, 3051) +3275 = AND(715, 3052) +3276 = AND(727, 3053) +3277 = AND(740, 3054) +3278 = AND(753, 3055) +3279 = AND(294, 3056) +3280 = AND(690, 3057) +3281 = AND(706, 3058) +3282 = AND(715, 3059) +3283 = AND(727, 3060) +3284 = AND(740, 3061) +3285 = AND(753, 3062) +3286 = AND(283, 3063) +3287 = AND(303, 3064) +3288 = AND(706, 3065) +3289 = AND(715, 3066) +3290 = AND(727, 3067) +3291 = AND(740, 3068) +3292 = AND(753, 3069) +3293 = AND(283, 3070) +3294 = AND(294, 3071) +3295 = AND(311, 3072) +3296 = AND(715, 3073) +3297 = AND(727, 3074) +3298 = AND(740, 3075) +3299 = AND(753, 3076) +3300 = AND(283, 3077) +3301 = AND(294, 3078) +3302 = AND(303, 3079) +3303 = AND(317, 3080) +3304 = AND(727, 3081) +3305 = AND(740, 3082) +3306 = AND(753, 3083) +3307 = AND(283, 3084) +3308 = AND(294, 3085) +3309 = AND(303, 3086) +3310 = AND(311, 3087) +3311 = AND(322, 3088) +3312 = AND(740, 3089) +3313 = AND(753, 3090) +3314 = AND(283, 3091) +3315 = AND(294, 3092) +3316 = AND(303, 3093) +3317 = AND(311, 3094) +3318 = AND(317, 3095) +3319 = AND(326, 3096) +3320 = AND(753, 3097) +3321 = AND(283, 3098) +3322 = AND(294, 3099) +3323 = AND(303, 3100) +3324 = AND(311, 3101) +3325 = AND(317, 3102) +3326 = AND(322, 3103) +3327 = AND(329, 3104) +3328 = AND(283, 3105) +3329 = AND(294, 3106) +3330 = AND(303, 3107) +3331 = AND(311, 3108) +3332 = AND(317, 3109) +3333 = AND(322, 3110) +3334 = AND(326, 3111) +3383 = AND(3190, 3191, 3192, 3193, 917) +3384 = BUFF(2977) +3387 = AND(3196, 1736) +3388 = AND(2977, 2149) +3389 = AND(2973, 1737) +3390 = NOR(3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214) +3391 = NOR(3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222) +3392 = NOR(3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230) +3393 = NOR(3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238) +3394 = NOR(3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246) +3395 = NOR(3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254) +3396 = NOR(3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262) +3397 = NOR(3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270) +3398 = NOR(3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278) +3399 = NOR(3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286) +3400 = NOR(3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294) +3401 = NOR(3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302) +3402 = NOR(3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310) +3403 = NOR(3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318) +3404 = NOR(3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326) +3405 = NOR(3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334) +3406 = AND(3206, 2641) +3407 = AND(169, 2648, 3112) +3410 = AND(179, 2648, 3115) +3413 = AND(190, 2652, 3115) +3414 = AND(200, 2652, 3112) +3415 = OR(3119, 1875, 2073) +3419 = NOR(3119, 1875, 2073) +3423 = AND(169, 2662, 3128) +3426 = AND(179, 2662, 3131) +3429 = AND(190, 2666, 3131) +3430 = AND(200, 2666, 3128) +3431 = AND(169, 2673, 3135) +3434 = AND(179, 2673, 3138) +3437 = AND(190, 2677, 3138) +3438 = AND(200, 2677, 3135) +3439 = AND(169, 2684, 3142) +3442 = AND(179, 2684, 3145) +3445 = AND(190, 2688, 3145) +3446 = AND(200, 2688, 3142) +3447 = OR(3149, 1895, 2093) +3451 = NOR(3149, 1895, 2093) +3455 = AND(169, 2702, 3158) +3458 = AND(179, 2702, 3161) +3461 = AND(190, 2706, 3161) +3462 = AND(200, 2706, 3158) +3463 = AND(169, 2715, 3165) +3466 = AND(179, 2715, 3168) +3469 = AND(190, 2719, 3168) +3470 = AND(200, 2719, 3165) +3471 = OR(3194, 3383) +3472 = BUFF(2967) +3475 = BUFF(2970) +3478 = BUFF(2967) +3481 = BUFF(2970) +3484 = BUFF(2973) +3487 = BUFF(2973) +3490 = BUFF(3172) +3493 = BUFF(3172) +3496 = BUFF(3175) +3499 = BUFF(3175) +3502 = BUFF(3178) +3505 = BUFF(3178) +3508 = BUFF(3181) +3511 = BUFF(3181) +3514 = BUFF(3184) +3517 = BUFF(3184) +3520 = BUFF(3187) +3523 = BUFF(3187) +3534 = NOR(3387, 2350) +3535 = OR(3388, 2151, 2351) +3536 = NOR(3389, 1966) +3537 = AND(3390, 2209) +3538 = AND(3398, 2210) +3539 = AND(3391, 1842) +3540 = AND(3399, 1369) +3541 = AND(3392, 1843) +3542 = AND(3400, 1369) +3543 = AND(3393, 1844) +3544 = AND(3401, 1369) +3545 = AND(3394, 1845) +3546 = AND(3402, 1369) +3547 = AND(3395, 1846) +3548 = AND(3403, 1369) +3549 = AND(3396, 1847) +3550 = AND(3404, 1369) +3551 = AND(3397, 1848) +3552 = AND(3405, 1369) +3557 = OR(3413, 3414, 3118) +3568 = OR(3429, 3430, 3134) +3573 = OR(3437, 3438, 3141) +3578 = OR(3445, 3446, 3148) +3589 = OR(3461, 3462, 3164) +3594 = OR(3469, 3470, 3171) +3605 = AND(3471, 2728) +3626 = NOT(3478) +3627 = NOT(3481) +3628 = NOT(3487) +3629 = NOT(3484) +3630 = NOT(3472) +3631 = NOT(3475) +3632 = AND(3536, 2152) +3633 = AND(3534, 2155) +3634 = OR(3537, 3538, 2398) +3635 = OR(3539, 3540) +3636 = OR(3541, 3542) +3637 = OR(3543, 3544) +3638 = OR(3545, 3546) +3639 = OR(3547, 3548) +3640 = OR(3549, 3550) +3641 = OR(3551, 3552) +3642 = AND(3535, 2643) +3643 = OR(3407, 3410) +3644 = NOR(3407, 3410) +3645 = AND(169, 3415, 3122) +3648 = AND(179, 3415, 3125) +3651 = AND(190, 3419, 3125) +3652 = AND(200, 3419, 3122) +3653 = NOT(3419) +3654 = OR(3423, 3426) +3657 = NOR(3423, 3426) +3658 = OR(3431, 3434) +3661 = NOR(3431, 3434) +3662 = OR(3439, 3442) +3663 = NOR(3439, 3442) +3664 = AND(169, 3447, 3152) +3667 = AND(179, 3447, 3155) +3670 = AND(190, 3451, 3155) +3671 = AND(200, 3451, 3152) +3672 = NOT(3451) +3673 = OR(3455, 3458) +3676 = NOR(3455, 3458) +3677 = OR(3463, 3466) +3680 = NOR(3463, 3466) +3681 = NOT(3493) +3682 = AND(1909, 3415) +3685 = NOT(3496) +3686 = NOT(3499) +3687 = NOT(3502) +3688 = NOT(3505) +3689 = NOT(3511) +3690 = AND(1922, 3447) +3693 = NOT(3517) +3694 = NOT(3520) +3695 = NOT(3523) +3696 = NOT(3514) +3697 = BUFF(3384) +3700 = BUFF(3384) +3703 = NOT(3490) +3704 = NOT(3508) +3705 = NAND(3475, 3630) +3706 = NAND(3472, 3631) +3707 = NAND(3481, 3626) +3708 = NAND(3478, 3627) +3711 = OR(3632, 2352, 2353) +3712 = OR(3633, 2354, 2355) +3713 = AND(3634, 2632) +3714 = AND(3635, 2634) +3715 = AND(3636, 2636) +3716 = AND(3637, 2638) +3717 = AND(3638, 2640) +3718 = AND(3639, 2642) +3719 = AND(3640, 2644) +3720 = AND(3641, 2646) +3721 = AND(3644, 3557) +3731 = OR(3651, 3652, 3653) +3734 = AND(3657, 3568) +3740 = AND(3661, 3573) +3743 = AND(3663, 3578) +3753 = OR(3670, 3671, 3672) +3756 = AND(3676, 3589) +3762 = AND(3680, 3594) +3765 = NOT(3643) +3766 = NOT(3662) +3773 = NAND(3705, 3706) +3774 = NAND(3707, 3708) +3775 = NAND(3700, 3628) +3776 = NOT(3700) +3777 = NAND(3697, 3629) +3778 = NOT(3697) +3779 = AND(3712, 2645) +3780 = AND(3711, 2647) +3786 = OR(3645, 3648) +3789 = NOR(3645, 3648) +3800 = OR(3664, 3667) +3803 = NOR(3664, 3667) +3809 = AND(3654, 1917) +3812 = AND(3658, 1917) +3815 = AND(3673, 1926) +3818 = AND(3677, 1926) +3821 = BUFF(3682) +3824 = BUFF(3682) +3827 = BUFF(3690) +3830 = BUFF(3690) +3833 = NAND(3773, 3774) +3834 = NAND(3487, 3776) +3835 = NAND(3484, 3778) +3838 = AND(3789, 3731) +3845 = AND(3803, 3753) +3850 = BUFF(3721) +3855 = BUFF(3734) +3858 = BUFF(3740) +3861 = BUFF(3743) +3865 = BUFF(3756) +3868 = BUFF(3762) +3884 = NAND(3775, 3834) +3885 = NAND(3777, 3835) +3894 = NAND(3721, 3786) +3895 = NAND(3743, 3800) +3898 = NOT(3821) +3899 = NOT(3824) +3906 = NOT(3830) +3911 = NOT(3827) +3912 = AND(3786, 1912) +3913 = BUFF(3812) +3916 = AND(3800, 1917) +3917 = BUFF(3818) +3920 = NOT(3809) +3921 = BUFF(3818) +3924 = NOT(3884) +3925 = NOT(3885) +3926 = AND(3721, 3838, 3734, 3740) +3930 = NAND(3721, 3838, 3654) +3931 = NAND(3658, 3838, 3734, 3721) +3932 = AND(3743, 3845, 3756, 3762) +3935 = NAND(3743, 3845, 3673) +3936 = NAND(3677, 3845, 3756, 3743) +3937 = BUFF(3838) +3940 = BUFF(3845) +3947 = NOT(3912) +3948 = NOT(3916) +3950 = BUFF(3850) +3953 = BUFF(3850) +3956 = BUFF(3855) +3959 = BUFF(3855) +3962 = BUFF(3858) +3965 = BUFF(3858) +3968 = BUFF(3861) +3971 = BUFF(3861) +3974 = BUFF(3865) +3977 = BUFF(3865) +3980 = BUFF(3868) +3983 = BUFF(3868) +3987 = NAND(3924, 3925) +3992 = NAND(3765, 3894, 3930, 3931) +3996 = NAND(3766, 3895, 3935, 3936) +4013 = NOT(3921) +4028 = AND(3932, 3926) +4029 = NAND(3953, 3681) +4030 = NAND(3959, 3686) +4031 = NAND(3965, 3688) +4032 = NAND(3971, 3689) +4033 = NAND(3977, 3693) +4034 = NAND(3983, 3695) +4035 = BUFF(3926) +4042 = NOT(3953) +4043 = NOT(3956) +4044 = NAND(3956, 3685) +4045 = NOT(3959) +4046 = NOT(3962) +4047 = NAND(3962, 3687) +4048 = NOT(3965) +4049 = NOT(3971) +4050 = NOT(3977) +4051 = NOT(3980) +4052 = NAND(3980, 3694) +4053 = NOT(3983) +4054 = NOT(3974) +4055 = NAND(3974, 3696) +4056 = AND(3932, 2304) +4057 = NOT(3950) +4058 = NAND(3950, 3703) +4059 = BUFF(3937) +4062 = BUFF(3937) +4065 = NOT(3968) +4066 = NAND(3968, 3704) +4067 = BUFF(3940) +4070 = BUFF(3940) +4073 = NAND(3926, 3996) +4074 = NOT(3992) +4075 = NAND(3493, 4042) +4076 = NAND(3499, 4045) +4077 = NAND(3505, 4048) +4078 = NAND(3511, 4049) +4079 = NAND(3517, 4050) +4080 = NAND(3523, 4053) +4085 = NAND(3496, 4043) +4086 = NAND(3502, 4046) +4088 = NAND(3520, 4051) +4090 = NAND(3514, 4054) +4091 = AND(3996, 1926) +4094 = OR(3605, 4056) +4098 = NAND(3490, 4057) +4101 = NAND(3508, 4065) +4104 = AND(4073, 4074) +4105 = NAND(4075, 4029) +4106 = NAND(4062, 3899) +4107 = NAND(4076, 4030) +4108 = NAND(4077, 4031) +4109 = NAND(4078, 4032) +4110 = NAND(4070, 3906) +4111 = NAND(4079, 4033) +4112 = NAND(4080, 4034) +4113 = NOT(4059) +4114 = NAND(4059, 3898) +4115 = NOT(4062) +4116 = NAND(4085, 4044) +4119 = NAND(4086, 4047) +4122 = NOT(4070) +4123 = NAND(4088, 4052) +4126 = NOT(4067) +4127 = NAND(4067, 3911) +4128 = NAND(4090, 4055) +4139 = NAND(4098, 4058) +4142 = NAND(4101, 4066) +4145 = NOT(4104) +4146 = NOT(4105) +4147 = NAND(3824, 4115) +4148 = NOT(4107) +4149 = NOT(4108) +4150 = NOT(4109) +4151 = NAND(3830, 4122) +4152 = NOT(4111) +4153 = NOT(4112) +4154 = NAND(3821, 4113) +4161 = NAND(3827, 4126) +4167 = BUFF(4091) +4174 = BUFF(4094) +4182 = BUFF(4091) +4186 = AND(330, 4094) +4189 = AND(4146, 2230) +4190 = NAND(4147, 4106) +4191 = AND(4148, 2232) +4192 = AND(4149, 2233) +4193 = AND(4150, 2234) +4194 = NAND(4151, 4110) +4195 = AND(4152, 2236) +4196 = AND(4153, 2237) +4197 = NAND(4154, 4114) +4200 = BUFF(4116) +4203 = BUFF(4116) +4209 = BUFF(4119) +4213 = BUFF(4119) +4218 = NAND(4161, 4127) +4223 = BUFF(4123) +4238 = AND(4128, 3917) +4239 = NOT(4139) +4241 = NOT(4142) +4242 = AND(330, 4123) +4247 = BUFF(4128) +4251 = NOR(3713, 4189, 2898) +4252 = NOT(4190) +4253 = NOR(3715, 4191, 2900) +4254 = NOR(3716, 4192, 2901) +4255 = NOR(3717, 4193, 3406) +4256 = NOT(4194) +4257 = NOR(3719, 4195, 3779) +4258 = NOR(3720, 4196, 3780) +4283 = AND(4167, 4035) +4284 = AND(4174, 4035) +4287 = OR(3815, 4238) +4291 = NOT(4186) +4295 = NOT(4167) +4296 = BUFF(4167) +4299 = NOT(4182) +4303 = AND(4252, 2231) +4304 = AND(4256, 2235) +4305 = BUFF(4197) +4310 = OR(3992, 4283) +4316 = AND(4174, 4213, 4203) +4317 = AND(4174, 4209) +4318 = AND(4223, 4128, 4218) +4319 = AND(4223, 4128) +4322 = AND(4167, 4209) +4325 = NAND(4203, 3913) +4326 = NAND(4203, 4213, 4167) +4327 = NAND(4218, 3815) +4328 = NAND(4218, 4128, 3917) +4329 = NAND(4247, 4013) +4330 = NOT(4247) +4331 = AND(330, 4094, 4295) +4335 = AND(4251, 2730) +4338 = AND(4253, 2734) +4341 = AND(4254, 2736) +4344 = AND(4255, 2738) +4347 = AND(4257, 2742) +4350 = AND(4258, 2744) +4353 = BUFF(4197) +4356 = BUFF(4203) +4359 = BUFF(4209) +4362 = BUFF(4218) +4365 = BUFF(4242) +4368 = BUFF(4242) +4371 = AND(4223, 4223) +4376 = NOR(3714, 4303, 2899) +4377 = NOR(3718, 4304, 3642) +4387 = AND(330, 4317) +4390 = AND(330, 4318) +4393 = NAND(3921, 4330) +4398 = BUFF(4287) +4413 = BUFF(4284) +4416 = NAND(3920, 4325, 4326) +4421 = OR(3812, 4322) +4427 = NAND(3948, 4327, 4328) +4430 = BUFF(4287) +4435 = AND(330, 4316) +4442 = OR(4331, 4296) +4443 = AND(4174, 4305, 4203, 4213) +4446 = NAND(4305, 3809) +4447 = NAND(4305, 4200, 3913) +4448 = NAND(4305, 4200, 4213, 4167) +4452 = NOT(4356) +4458 = NAND(4329, 4393) +4461 = NOT(4365) +4462 = NOT(4368) +4463 = NAND(4371, 1460) +4464 = NOT(4371) +4465 = BUFF(4310) +4468 = NOR(4331, 4296) +4472 = AND(4376, 2732) +4475 = AND(4377, 2740) +4479 = BUFF(4310) +4484 = NOT(4353) +4486 = NOT(4359) +4487 = NAND(4359, 4299) +4491 = NOT(4362) +4493 = AND(330, 4319) +4496 = NOT(4398) +4497 = AND(4287, 4398) +4498 = AND(4442, 1769) +4503 = NAND(3947, 4446, 4447, 4448) +4506 = NOT(4413) +4507 = NOT(4435) +4508 = NOT(4421) +4509 = NAND(4421, 4452) +4510 = NOT(4427) +4511 = NAND(4427, 4241) +4515 = NAND(965, 4464) +4526 = NOT(4416) +4527 = NAND(4416, 4484) +4528 = NAND(4182, 4486) +4529 = NOT(4430) +4530 = NAND(4430, 4491) +4531 = BUFF(4387) +4534 = BUFF(4387) +4537 = BUFF(4390) +4540 = BUFF(4390) +4545 = AND(330, 4319, 4496) +4549 = AND(330, 4443) +4552 = NAND(4356, 4508) +4555 = NAND(4142, 4510) +4558 = NOT(4493) +4559 = NAND(4463, 4515) +4562 = NOT(4465) +4563 = AND(4310, 4465) +4564 = BUFF(4468) +4568 = NOT(4479) +4569 = BUFF(4443) +4572 = NAND(4353, 4526) +4573 = NAND(4362, 4529) +4576 = NAND(4487, 4528) +4581 = BUFF(4458) +4584 = BUFF(4458) +4587 = OR(2758, 4498, 2761) +4588 = NOR(2758, 4498, 2761) +4589 = OR(4545, 4497) +4593 = NAND(4552, 4509) +4596 = NOT(4531) +4597 = NOT(4534) +4599 = NAND(4555, 4511) +4602 = NOT(4537) +4603 = NOT(4540) +4608 = AND(330, 4284, 4562) +4613 = BUFF(4503) +4616 = BUFF(4503) +4619 = NAND(4572, 4527) +4623 = NAND(4573, 4530) +4628 = NOT(4588) +4629 = NAND(4569, 4506) +4630 = NOT(4569) +4635 = NOT(4576) +4636 = NAND(4576, 4291) +4640 = NOT(4581) +4641 = NAND(4581, 4461) +4642 = NOT(4584) +4643 = NAND(4584, 4462) +4644 = NOR(4608, 4563) +4647 = AND(4559, 2128) +4650 = AND(4559, 2743) +4656 = BUFF(4549) +4659 = BUFF(4549) +4664 = BUFF(4564) +4667 = AND(4587, 4628) +4668 = NAND(4413, 4630) +4669 = NOT(4616) +4670 = NAND(4616, 4239) +4673 = NOT(4619) +4674 = NAND(4619, 4507) +4675 = NAND(4186, 4635) +4676 = NOT(4623) +4677 = NAND(4623, 4558) +4678 = NAND(4365, 4640) +4679 = NAND(4368, 4642) +4687 = NOT(4613) +4688 = NAND(4613, 4568) +4691 = BUFF(4593) +4694 = BUFF(4593) +4697 = BUFF(4599) +4700 = BUFF(4599) +4704 = NAND(4629, 4668) +4705 = NAND(4139, 4669) +4706 = NOT(4656) +4707 = NOT(4659) +4708 = NAND(4435, 4673) +4711 = NAND(4675, 4636) +4716 = NAND(4493, 4676) +4717 = NAND(4678, 4641) +4721 = NAND(4679, 4643) +4722 = BUFF(4644) +4726 = NOT(4664) +4727 = OR(4647, 4650, 4350) +4730 = NOR(4647, 4650, 4350) +4733 = NAND(4479, 4687) +4740 = NAND(4705, 4670) +4743 = NAND(4708, 4674) +4747 = NOT(4691) +4748 = NAND(4691, 4596) +4749 = NOT(4694) +4750 = NAND(4694, 4597) +4753 = NOT(4697) +4754 = NAND(4697, 4602) +4755 = NOT(4700) +4756 = NAND(4700, 4603) +4757 = NAND(4716, 4677) +4769 = NAND(4733, 4688) +4772 = AND(330, 4704) +4775 = NOT(4721) +4778 = NOT(4730) +4786 = NAND(4531, 4747) +4787 = NAND(4534, 4749) +4788 = NAND(4537, 4753) +4789 = NAND(4540, 4755) +4794 = AND(4711, 2124) +4797 = AND(4711, 2735) +4800 = AND(4717, 2127) +4805 = BUFF(4722) +4808 = AND(4717, 4468) +4812 = BUFF(4727) +4815 = AND(4727, 4778) +4816 = NOT(4769) +4817 = NOT(4772) +4818 = NAND(4786, 4748) +4822 = NAND(4787, 4750) +4823 = NAND(4788, 4754) +4826 = NAND(4789, 4756) +4829 = NAND(4775, 4726) +4830 = NOT(4775) +4831 = AND(4743, 2122) +4838 = AND(4757, 2126) +4844 = BUFF(4740) +4847 = BUFF(4740) +4850 = BUFF(4743) +4854 = BUFF(4757) +4859 = NAND(4772, 4816) +4860 = NAND(4769, 4817) +4868 = NOT(4826) +4870 = NOT(4805) +4872 = NOT(4808) +4873 = NAND(4664, 4830) +4876 = OR(4794, 4797, 4341) +4880 = NOR(4794, 4797, 4341) +4885 = NOT(4812) +4889 = NOT(4822) +4895 = NAND(4859, 4860) +4896 = NOT(4844) +4897 = NAND(4844, 4706) +4898 = NOT(4847) +4899 = NAND(4847, 4707) +4900 = NOR(4868, 4564) +4901 = AND(4717, 4757, 4823, 4564) +4902 = NOT(4850) +4904 = NOT(4854) +4905 = NAND(4854, 4872) +4906 = NAND(4873, 4829) +4907 = AND(4818, 2123) +4913 = AND(4823, 2125) +4916 = AND(4818, 4644) +4920 = NOT(4880) +4921 = AND(4895, 2184) +4924 = NAND(4656, 4896) +4925 = NAND(4659, 4898) +4926 = OR(4900, 4901) +4928 = NAND(4889, 4870) +4929 = NOT(4889) +4930 = NAND(4808, 4904) +4931 = NOT(4906) +4937 = BUFF(4876) +4940 = BUFF(4876) +4944 = AND(4876, 4920) +4946 = NAND(4924, 4897) +4949 = NAND(4925, 4899) +4950 = NAND(4916, 4902) +4951 = NOT(4916) +4952 = NAND(4805, 4929) +4953 = NAND(4930, 4905) +4954 = AND(4926, 2737) +4957 = AND(4931, 2741) +4964 = OR(2764, 2483, 4921) +4965 = NOR(2764, 2483, 4921) +4968 = NOT(4949) +4969 = NAND(4850, 4951) +4970 = NAND(4952, 4928) +4973 = AND(4953, 2739) +4978 = NOT(4937) +4979 = NOT(4940) +4980 = NOT(4965) +4981 = NOR(4968, 4722) +4982 = AND(4818, 4743, 4946, 4722) +4983 = NAND(4950, 4969) +4984 = NOT(4970) +4985 = AND(4946, 2121) +4988 = OR(4913, 4954, 4344) +4991 = NOR(4913, 4954, 4344) +4996 = OR(4800, 4957, 4347) +4999 = NOR(4800, 4957, 4347) +5002 = AND(4964, 4980) +5007 = OR(4981, 4982) +5010 = AND(4983, 2731) +5013 = AND(4984, 2733) +5018 = OR(4838, 4973, 4475) +5021 = NOR(4838, 4973, 4475) +5026 = NOT(4991) +5029 = NOT(4999) +5030 = AND(5007, 2729) +5039 = BUFF(4996) +5042 = BUFF(4988) +5045 = AND(4988, 5026) +5046 = NOT(5021) +5047 = AND(4996, 5029) +5050 = OR(4831, 5010, 4472) +5055 = NOR(4831, 5010, 4472) +5058 = OR(4907, 5013, 4338) +5061 = NOR(4907, 5013, 4338) +5066 = AND(4730, 4999, 5021, 4991) +5070 = BUFF(5018) +5078 = AND(5018, 5046) +5080 = OR(4985, 5030, 4335) +5085 = NOR(4985, 5030, 4335) +5094 = NAND(5039, 4885) +5095 = NOT(5039) +5097 = NOT(5042) +5102 = AND(5050, 5050) +5103 = NOT(5061) +5108 = NAND(4812, 5095) +5109 = NOT(5070) +5110 = NAND(5070, 5097) +5111 = BUFF(5058) +5114 = AND(5050, 1461) +5117 = BUFF(5050) +5120 = AND(5080, 5080) +5121 = AND(5058, 5103) +5122 = NAND(5094, 5108) +5125 = NAND(5042, 5109) +5128 = AND(1461, 5080) +5133 = AND(4880, 5061, 5055, 5085) +5136 = AND(5055, 5085, 1464) +5139 = BUFF(5080) +5145 = NAND(5125, 5110) +5151 = BUFF(5111) +5154 = BUFF(5111) +5159 = NOT(5117) +5160 = BUFF(5114) +5163 = BUFF(5114) +5166 = AND(5066, 5133) +5173 = AND(5066, 5133) +5174 = BUFF(5122) +5177 = BUFF(5122) +5182 = NOT(5139) +5183 = NAND(5139, 5159) +5184 = BUFF(5128) +5188 = BUFF(5128) +5192 = NOT(5166) +5193 = NOR(5136, 5173) +5196 = NAND(5151, 4978) +5197 = NOT(5151) +5198 = NAND(5154, 4979) +5199 = NOT(5154) +5201 = NOT(5160) +5203 = NOT(5163) +5205 = BUFF(5145) +5209 = BUFF(5145) +5212 = NAND(5117, 5182) +5215 = AND(213, 5193) +5217 = NOT(5174) +5219 = NOT(5177) +5220 = NAND(4937, 5197) +5221 = NAND(4940, 5199) +5222 = NOT(5184) +5223 = NAND(5184, 5201) +5224 = NAND(5188, 5203) +5225 = NOT(5188) +5228 = NAND(5183, 5212) +5231 = NOT(5215) +5232 = NAND(5205, 5217) +5233 = NOT(5205) +5234 = NAND(5209, 5219) +5235 = NOT(5209) +5236 = NAND(5196, 5220) +5240 = NAND(5198, 5221) +5242 = NAND(5160, 5222) +5243 = NAND(5163, 5225) +5245 = NAND(5174, 5233) +5246 = NAND(5177, 5235) +5250 = NOT(5240) +5253 = NOT(5228) +5254 = NAND(5242, 5223) +5257 = NAND(5243, 5224) +5258 = NAND(5232, 5245) +5261 = NAND(5234, 5246) +5266 = NOT(5257) +5269 = BUFF(5236) +5277 = AND(5236, 5254, 2307) +5278 = AND(5250, 5254, 2310) +5279 = NOT(5261) +5283 = NOT(5269) +5284 = NAND(5269, 5253) +5285 = AND(5236, 5266, 2310) +5286 = AND(5250, 5266, 2307) +5289 = BUFF(5258) +5292 = BUFF(5258) +5295 = NAND(5228, 5283) +5298 = OR(5277, 5285, 5278, 5286) +5303 = BUFF(5279) +5306 = BUFF(5279) +5309 = NAND(5295, 5284) +5312 = NOT(5292) +5313 = NOT(5289) +5322 = NOT(5306) +5323 = NOT(5303) +5324 = BUFF(5298) +5327 = BUFF(5298) +5332 = BUFF(5309) +5335 = BUFF(5309) +5340 = NAND(5324, 5323) +5341 = NAND(5327, 5322) +5344 = NOT(5327) +5345 = NOT(5324) +5348 = NAND(5332, 5313) +5349 = NAND(5335, 5312) +5350 = NAND(5303, 5345) +5351 = NAND(5306, 5344) +5352 = NOT(5335) +5353 = NOT(5332) +5354 = NAND(5289, 5353) +5355 = NAND(5292, 5352) +5356 = NAND(5350, 5340) +5357 = NAND(5351, 5341) +5358 = NAND(5348, 5354) +5359 = NAND(5349, 5355) +5360 = AND(5356, 5357) +5361 = NAND(5358, 5359) diff --git a/benchmarks/iscas85/c432.bench b/benchmarks/iscas85/c432.bench new file mode 100644 index 00000000..5c3d91c9 --- /dev/null +++ b/benchmarks/iscas85/c432.bench @@ -0,0 +1,211 @@ +# c432 +# 36 inputs +# 7 outputs +# 40 inverters +# 120 gates ( 4 ANDs + 119 NANDs + 19 NORs + 18 XORs ) + +INPUT(1) +INPUT(4) +INPUT(8) +INPUT(11) +INPUT(14) +INPUT(17) +INPUT(21) +INPUT(24) +INPUT(27) +INPUT(30) +INPUT(34) +INPUT(37) +INPUT(40) +INPUT(43) +INPUT(47) +INPUT(50) +INPUT(53) +INPUT(56) +INPUT(60) +INPUT(63) +INPUT(66) +INPUT(69) +INPUT(73) +INPUT(76) +INPUT(79) +INPUT(82) +INPUT(86) +INPUT(89) +INPUT(92) +INPUT(95) +INPUT(99) +INPUT(102) +INPUT(105) +INPUT(108) +INPUT(112) +INPUT(115) + +OUTPUT(223) +OUTPUT(329) +OUTPUT(370) +OUTPUT(421) +OUTPUT(430) +OUTPUT(431) +OUTPUT(432) + +118 = NOT(1) +119 = NOT(4) +122 = NOT(11) +123 = NOT(17) +126 = NOT(24) +127 = NOT(30) +130 = NOT(37) +131 = NOT(43) +134 = NOT(50) +135 = NOT(56) +138 = NOT(63) +139 = NOT(69) +142 = NOT(76) +143 = NOT(82) +146 = NOT(89) +147 = NOT(95) +150 = NOT(102) +151 = NOT(108) +154 = NAND(118, 4) +157 = NOR(8, 119) +158 = NOR(14, 119) +159 = NAND(122, 17) +162 = NAND(126, 30) +165 = NAND(130, 43) +168 = NAND(134, 56) +171 = NAND(138, 69) +174 = NAND(142, 82) +177 = NAND(146, 95) +180 = NAND(150, 108) +183 = NOR(21, 123) +184 = NOR(27, 123) +185 = NOR(34, 127) +186 = NOR(40, 127) +187 = NOR(47, 131) +188 = NOR(53, 131) +189 = NOR(60, 135) +190 = NOR(66, 135) +191 = NOR(73, 139) +192 = NOR(79, 139) +193 = NOR(86, 143) +194 = NOR(92, 143) +195 = NOR(99, 147) +196 = NOR(105, 147) +197 = NOR(112, 151) +198 = NOR(115, 151) +199 = AND(154, 159, 162, 165, 168, 171, 174, 177, 180) +203 = NOT(199) +213 = NOT(199) +223 = NOT(199) +224 = XOR(203, 154) +227 = XOR(203, 159) +230 = XOR(203, 162) +233 = XOR(203, 165) +236 = XOR(203, 168) +239 = XOR(203, 171) +242 = NAND(1, 213) +243 = XOR(203, 174) +246 = NAND(213, 11) +247 = XOR(203, 177) +250 = NAND(213, 24) +251 = XOR(203, 180) +254 = NAND(213, 37) +255 = NAND(213, 50) +256 = NAND(213, 63) +257 = NAND(213, 76) +258 = NAND(213, 89) +259 = NAND(213, 102) +260 = NAND(224, 157) +263 = NAND(224, 158) +264 = NAND(227, 183) +267 = NAND(230, 185) +270 = NAND(233, 187) +273 = NAND(236, 189) +276 = NAND(239, 191) +279 = NAND(243, 193) +282 = NAND(247, 195) +285 = NAND(251, 197) +288 = NAND(227, 184) +289 = NAND(230, 186) +290 = NAND(233, 188) +291 = NAND(236, 190) +292 = NAND(239, 192) +293 = NAND(243, 194) +294 = NAND(247, 196) +295 = NAND(251, 198) +296 = AND(260, 264, 267, 270, 273, 276, 279, 282, 285) +300 = NOT(263) +301 = NOT(288) +302 = NOT(289) +303 = NOT(290) +304 = NOT(291) +305 = NOT(292) +306 = NOT(293) +307 = NOT(294) +308 = NOT(295) +309 = NOT(296) +319 = NOT(296) +329 = NOT(296) +330 = XOR(309, 260) +331 = XOR(309, 264) +332 = XOR(309, 267) +333 = XOR(309, 270) +334 = NAND(8, 319) +335 = XOR(309, 273) +336 = NAND(319, 21) +337 = XOR(309, 276) +338 = NAND(319, 34) +339 = XOR(309, 279) +340 = NAND(319, 47) +341 = XOR(309, 282) +342 = NAND(319, 60) +343 = XOR(309, 285) +344 = NAND(319, 73) +345 = NAND(319, 86) +346 = NAND(319, 99) +347 = NAND(319, 112) +348 = NAND(330, 300) +349 = NAND(331, 301) +350 = NAND(332, 302) +351 = NAND(333, 303) +352 = NAND(335, 304) +353 = NAND(337, 305) +354 = NAND(339, 306) +355 = NAND(341, 307) +356 = NAND(343, 308) +357 = AND(348, 349, 350, 351, 352, 353, 354, 355, 356) +360 = NOT(357) +370 = NOT(357) +371 = NAND(14, 360) +372 = NAND(360, 27) +373 = NAND(360, 40) +374 = NAND(360, 53) +375 = NAND(360, 66) +376 = NAND(360, 79) +377 = NAND(360, 92) +378 = NAND(360, 105) +379 = NAND(360, 115) +380 = NAND(4, 242, 334, 371) +381 = NAND(246, 336, 372, 17) +386 = NAND(250, 338, 373, 30) +393 = NAND(254, 340, 374, 43) +399 = NAND(255, 342, 375, 56) +404 = NAND(256, 344, 376, 69) +407 = NAND(257, 345, 377, 82) +411 = NAND(258, 346, 378, 95) +414 = NAND(259, 347, 379, 108) +415 = NOT(380) +416 = AND(381, 386, 393, 399, 404, 407, 411, 414) +417 = NOT(393) +418 = NOT(404) +419 = NOT(407) +420 = NOT(411) +421 = NOR(415, 416) +422 = NAND(386, 417) +425 = NAND(386, 393, 418, 399) +428 = NAND(399, 393, 419) +429 = NAND(386, 393, 407, 420) +430 = NAND(381, 386, 422, 399) +431 = NAND(381, 386, 425, 428) +432 = NAND(381, 422, 425, 429) diff --git a/benchmarks/iscas85/c499.bench b/benchmarks/iscas85/c499.bench new file mode 100644 index 00000000..4b7c4f76 --- /dev/null +++ b/benchmarks/iscas85/c499.bench @@ -0,0 +1,283 @@ +# c499 +# 41 inputs +# 32 outputs +# 40 inverters +# 162 gates ( 56 ANDs + 40 NANDs + 2 ORs + 104 XORs ) + +INPUT(1) +INPUT(5) +INPUT(9) +INPUT(13) +INPUT(17) +INPUT(21) +INPUT(25) +INPUT(29) +INPUT(33) +INPUT(37) +INPUT(41) +INPUT(45) +INPUT(49) +INPUT(53) +INPUT(57) +INPUT(61) +INPUT(65) +INPUT(69) +INPUT(73) +INPUT(77) +INPUT(81) +INPUT(85) +INPUT(89) +INPUT(93) +INPUT(97) +INPUT(101) +INPUT(105) +INPUT(109) +INPUT(113) +INPUT(117) +INPUT(121) +INPUT(125) +INPUT(129) +INPUT(130) +INPUT(131) +INPUT(132) +INPUT(133) +INPUT(134) +INPUT(135) +INPUT(136) +INPUT(137) + +OUTPUT(724) +OUTPUT(725) +OUTPUT(726) +OUTPUT(727) +OUTPUT(728) +OUTPUT(729) +OUTPUT(730) +OUTPUT(731) +OUTPUT(732) +OUTPUT(733) +OUTPUT(734) +OUTPUT(735) +OUTPUT(736) +OUTPUT(737) +OUTPUT(738) +OUTPUT(739) +OUTPUT(740) +OUTPUT(741) +OUTPUT(742) +OUTPUT(743) +OUTPUT(744) +OUTPUT(745) +OUTPUT(746) +OUTPUT(747) +OUTPUT(748) +OUTPUT(749) +OUTPUT(750) +OUTPUT(751) +OUTPUT(752) +OUTPUT(753) +OUTPUT(754) +OUTPUT(755) + +250 = XOR(1, 5) +251 = XOR(9, 13) +252 = XOR(17, 21) +253 = XOR(25, 29) +254 = XOR(33, 37) +255 = XOR(41, 45) +256 = XOR(49, 53) +257 = XOR(57, 61) +258 = XOR(65, 69) +259 = XOR(73, 77) +260 = XOR(81, 85) +261 = XOR(89, 93) +262 = XOR(97, 101) +263 = XOR(105, 109) +264 = XOR(113, 117) +265 = XOR(121, 125) +266 = AND(129, 137) +267 = AND(130, 137) +268 = AND(131, 137) +269 = AND(132, 137) +270 = AND(133, 137) +271 = AND(134, 137) +272 = AND(135, 137) +273 = AND(136, 137) +274 = XOR(1, 17) +275 = XOR(33, 49) +276 = XOR(5, 21) +277 = XOR(37, 53) +278 = XOR(9, 25) +279 = XOR(41, 57) +280 = XOR(13, 29) +281 = XOR(45, 61) +282 = XOR(65, 81) +283 = XOR(97, 113) +284 = XOR(69, 85) +285 = XOR(101, 117) +286 = XOR(73, 89) +287 = XOR(105, 121) +288 = XOR(77, 93) +289 = XOR(109, 125) +290 = XOR(250, 251) +293 = XOR(252, 253) +296 = XOR(254, 255) +299 = XOR(256, 257) +302 = XOR(258, 259) +305 = XOR(260, 261) +308 = XOR(262, 263) +311 = XOR(264, 265) +314 = XOR(274, 275) +315 = XOR(276, 277) +316 = XOR(278, 279) +317 = XOR(280, 281) +318 = XOR(282, 283) +319 = XOR(284, 285) +320 = XOR(286, 287) +321 = XOR(288, 289) +338 = XOR(290, 293) +339 = XOR(296, 299) +340 = XOR(290, 296) +341 = XOR(293, 299) +342 = XOR(302, 305) +343 = XOR(308, 311) +344 = XOR(302, 308) +345 = XOR(305, 311) +346 = XOR(266, 342) +347 = XOR(267, 343) +348 = XOR(268, 344) +349 = XOR(269, 345) +350 = XOR(270, 338) +351 = XOR(271, 339) +352 = XOR(272, 340) +353 = XOR(273, 341) +354 = XOR(314, 346) +367 = XOR(315, 347) +380 = XOR(316, 348) +393 = XOR(317, 349) +406 = XOR(318, 350) +419 = XOR(319, 351) +432 = XOR(320, 352) +445 = XOR(321, 353) +554 = NOT(354) +555 = NOT(367) +556 = NOT(380) +557 = NOT(354) +558 = NOT(367) +559 = NOT(393) +560 = NOT(354) +561 = NOT(380) +562 = NOT(393) +563 = NOT(367) +564 = NOT(380) +565 = NOT(393) +566 = NOT(419) +567 = NOT(445) +568 = NOT(419) +569 = NOT(432) +570 = NOT(406) +571 = NOT(445) +572 = NOT(406) +573 = NOT(432) +574 = NOT(406) +575 = NOT(419) +576 = NOT(432) +577 = NOT(406) +578 = NOT(419) +579 = NOT(445) +580 = NOT(406) +581 = NOT(432) +582 = NOT(445) +583 = NOT(419) +584 = NOT(432) +585 = NOT(445) +586 = NOT(367) +587 = NOT(393) +588 = NOT(367) +589 = NOT(380) +590 = NOT(354) +591 = NOT(393) +592 = NOT(354) +593 = NOT(380) +594 = AND(554, 555, 556, 393) +595 = AND(557, 558, 380, 559) +596 = AND(560, 367, 561, 562) +597 = AND(354, 563, 564, 565) +598 = AND(574, 575, 576, 445) +599 = AND(577, 578, 432, 579) +600 = AND(580, 419, 581, 582) +601 = AND(406, 583, 584, 585) +602 = OR(594, 595, 596, 597) +607 = OR(598, 599, 600, 601) +620 = AND(406, 566, 432, 567, 602) +625 = AND(406, 568, 569, 445, 602) +630 = AND(570, 419, 432, 571, 602) +635 = AND(572, 419, 573, 445, 602) +640 = AND(354, 586, 380, 587, 607) +645 = AND(354, 588, 589, 393, 607) +650 = AND(590, 367, 380, 591, 607) +655 = AND(592, 367, 593, 393, 607) +692 = AND(354, 620) +693 = AND(367, 620) +694 = AND(380, 620) +695 = AND(393, 620) +696 = AND(354, 625) +697 = AND(367, 625) +698 = AND(380, 625) +699 = AND(393, 625) +700 = AND(354, 630) +701 = AND(367, 630) +702 = AND(380, 630) +703 = AND(393, 630) +704 = AND(354, 635) +705 = AND(367, 635) +706 = AND(380, 635) +707 = AND(393, 635) +708 = AND(406, 640) +709 = AND(419, 640) +710 = AND(432, 640) +711 = AND(445, 640) +712 = AND(406, 645) +713 = AND(419, 645) +714 = AND(432, 645) +715 = AND(445, 645) +716 = AND(406, 650) +717 = AND(419, 650) +718 = AND(432, 650) +719 = AND(445, 650) +720 = AND(406, 655) +721 = AND(419, 655) +722 = AND(432, 655) +723 = AND(445, 655) +724 = XOR(1, 692) +725 = XOR(5, 693) +726 = XOR(9, 694) +727 = XOR(13, 695) +728 = XOR(17, 696) +729 = XOR(21, 697) +730 = XOR(25, 698) +731 = XOR(29, 699) +732 = XOR(33, 700) +733 = XOR(37, 701) +734 = XOR(41, 702) +735 = XOR(45, 703) +736 = XOR(49, 704) +737 = XOR(53, 705) +738 = XOR(57, 706) +739 = XOR(61, 707) +740 = XOR(65, 708) +741 = XOR(69, 709) +742 = XOR(73, 710) +743 = XOR(77, 711) +744 = XOR(81, 712) +745 = XOR(85, 713) +746 = XOR(89, 714) +747 = XOR(93, 715) +748 = XOR(97, 716) +749 = XOR(101, 717) +750 = XOR(105, 718) +751 = XOR(109, 719) +752 = XOR(113, 720) +753 = XOR(117, 721) +754 = XOR(121, 722) +755 = XOR(125, 723) diff --git a/benchmarks/iscas85/c5315.bench b/benchmarks/iscas85/c5315.bench new file mode 100644 index 00000000..effb3c72 --- /dev/null +++ b/benchmarks/iscas85/c5315.bench @@ -0,0 +1,2616 @@ +# c5315 +# 178 inputs +# 123 outputs +# 581 inverters +# 1726 gates ( 1031 ANDs + 1035 NANDs + 214 ORs + 27 NORs + 313 buffers ) + +INPUT(1) +INPUT(4) +INPUT(11) +INPUT(14) +INPUT(17) +INPUT(20) +INPUT(23) +INPUT(24) +INPUT(25) +INPUT(26) +INPUT(27) +INPUT(31) +INPUT(34) +INPUT(37) +INPUT(40) +INPUT(43) +INPUT(46) +INPUT(49) +INPUT(52) +INPUT(53) +INPUT(54) +INPUT(61) +INPUT(64) +INPUT(67) +INPUT(70) +INPUT(73) +INPUT(76) +INPUT(79) +INPUT(80) +INPUT(81) +INPUT(82) +INPUT(83) +INPUT(86) +INPUT(87) +INPUT(88) +INPUT(91) +INPUT(94) +INPUT(97) +INPUT(100) +INPUT(103) +INPUT(106) +INPUT(109) +INPUT(112) +INPUT(113) +INPUT(114) +INPUT(115) +INPUT(116) +INPUT(117) +INPUT(118) +INPUT(119) +INPUT(120) +INPUT(121) +INPUT(122) +INPUT(123) +INPUT(126) +INPUT(127) +INPUT(128) +INPUT(129) +INPUT(130) +INPUT(131) +INPUT(132) +INPUT(135) +INPUT(136) +INPUT(137) +INPUT(140) +INPUT(141) +INPUT(145) +INPUT(146) +INPUT(149) +INPUT(152) +INPUT(155) +INPUT(158) +INPUT(161) +INPUT(164) +INPUT(167) +INPUT(170) +INPUT(173) +INPUT(176) +INPUT(179) +INPUT(182) +INPUT(185) +INPUT(188) +INPUT(191) +INPUT(194) +INPUT(197) +INPUT(200) +INPUT(203) +INPUT(206) +INPUT(209) +INPUT(210) +INPUT(217) +INPUT(218) +INPUT(225) +INPUT(226) +INPUT(233) +INPUT(234) +INPUT(241) +INPUT(242) +INPUT(245) +INPUT(248) +INPUT(251) +INPUT(254) +INPUT(257) +INPUT(264) +INPUT(265) +INPUT(272) +INPUT(273) +INPUT(280) +INPUT(281) +INPUT(288) +INPUT(289) +INPUT(292) +INPUT(293) +INPUT(299) +INPUT(302) +INPUT(307) +INPUT(308) +INPUT(315) +INPUT(316) +INPUT(323) +INPUT(324) +INPUT(331) +INPUT(332) +INPUT(335) +INPUT(338) +INPUT(341) +INPUT(348) +INPUT(351) +INPUT(358) +INPUT(361) +INPUT(366) +INPUT(369) +INPUT(372) +INPUT(373) +INPUT(374) +INPUT(386) +INPUT(389) +INPUT(400) +INPUT(411) +INPUT(422) +INPUT(435) +INPUT(446) +INPUT(457) +INPUT(468) +INPUT(479) +INPUT(490) +INPUT(503) +INPUT(514) +INPUT(523) +INPUT(534) +INPUT(545) +INPUT(549) +INPUT(552) +INPUT(556) +INPUT(559) +INPUT(562) +INPUT(566) +INPUT(571) +INPUT(574) +INPUT(577) +INPUT(580) +INPUT(583) +INPUT(588) +INPUT(591) +INPUT(592) +INPUT(595) +INPUT(596) +INPUT(597) +INPUT(598) +INPUT(599) +INPUT(603) +INPUT(607) +INPUT(610) +INPUT(613) +INPUT(616) +INPUT(619) +INPUT(625) +INPUT(631) + +OUTPUT(709) +OUTPUT(816) +OUTPUT(1066) +OUTPUT(1137) +OUTPUT(1138) +OUTPUT(1139) +OUTPUT(1140) +OUTPUT(1141) +OUTPUT(1142) +OUTPUT(1143) +OUTPUT(1144) +OUTPUT(1145) +OUTPUT(1147) +OUTPUT(1152) +OUTPUT(1153) +OUTPUT(1154) +OUTPUT(1155) +OUTPUT(1972) +OUTPUT(2054) +OUTPUT(2060) +OUTPUT(2061) +OUTPUT(2139) +OUTPUT(2142) +OUTPUT(2309) +OUTPUT(2387) +OUTPUT(2527) +OUTPUT(2584) +OUTPUT(2590) +OUTPUT(2623) +OUTPUT(3357) +OUTPUT(3358) +OUTPUT(3359) +OUTPUT(3360) +OUTPUT(3604) +OUTPUT(3613) +OUTPUT(4272) +OUTPUT(4275) +OUTPUT(4278) +OUTPUT(4279) +OUTPUT(4737) +OUTPUT(4738) +OUTPUT(4739) +OUTPUT(4740) +OUTPUT(5240) +OUTPUT(5388) +OUTPUT(6641) +OUTPUT(6643) +OUTPUT(6646) +OUTPUT(6648) +OUTPUT(6716) +OUTPUT(6877) +OUTPUT(6924) +OUTPUT(6925) +OUTPUT(6926) +OUTPUT(6927) +OUTPUT(7015) +OUTPUT(7363) +OUTPUT(7365) +OUTPUT(7432) +OUTPUT(7449) +OUTPUT(7465) +OUTPUT(7466) +OUTPUT(7467) +OUTPUT(7469) +OUTPUT(7470) +OUTPUT(7471) +OUTPUT(7472) +OUTPUT(7473) +OUTPUT(7474) +OUTPUT(7476) +OUTPUT(7503) +OUTPUT(7504) +OUTPUT(7506) +OUTPUT(7511) +OUTPUT(7515) +OUTPUT(7516) +OUTPUT(7517) +OUTPUT(7518) +OUTPUT(7519) +OUTPUT(7520) +OUTPUT(7521) +OUTPUT(7522) +OUTPUT(7600) +OUTPUT(7601) +OUTPUT(7602) +OUTPUT(7603) +OUTPUT(7604) +OUTPUT(7605) +OUTPUT(7606) +OUTPUT(7607) +OUTPUT(7626) +OUTPUT(7698) +OUTPUT(7699) +OUTPUT(7700) +OUTPUT(7701) +OUTPUT(7702) +OUTPUT(7703) +OUTPUT(7704) +OUTPUT(7705) +OUTPUT(7706) +OUTPUT(7707) +OUTPUT(7735) +OUTPUT(7736) +OUTPUT(7737) +OUTPUT(7738) +OUTPUT(7739) +OUTPUT(7740) +OUTPUT(7741) +OUTPUT(7742) +OUTPUT(7754) +OUTPUT(7755) +OUTPUT(7756) +OUTPUT(7757) +OUTPUT(7758) +OUTPUT(7759) +OUTPUT(7760) +OUTPUT(7761) +OUTPUT(8075) +OUTPUT(8076) +OUTPUT(8123) +OUTPUT(8124) +OUTPUT(8127) +OUTPUT(8128) + +709 = BUFF(141) +816 = BUFF(293) +1042 = AND(135, 631) +1043 = NOT(591) +1066 = BUFF(592) +1067 = NOT(595) +1080 = NOT(596) +1092 = NOT(597) +1104 = NOT(598) +1137 = NOT(545) +1138 = NOT(348) +1139 = NOT(366) +1140 = AND(552, 562) +1141 = NOT(549) +1142 = NOT(545) +1143 = NOT(545) +1144 = NOT(338) +1145 = NOT(358) +1146 = NAND(373, 1) +1147 = AND(141, 145) +1148 = NOT(592) +1149 = NOT(1042) +1150 = AND(1043, 27) +1151 = AND(386, 556) +1152 = NOT(245) +1153 = NOT(552) +1154 = NOT(562) +1155 = NOT(559) +1156 = AND(386, 559, 556, 552) +1157 = NOT(566) +1161 = BUFF(571) +1173 = BUFF(574) +1185 = BUFF(571) +1197 = BUFF(574) +1209 = BUFF(137) +1213 = BUFF(137) +1216 = BUFF(141) +1219 = NOT(583) +1223 = BUFF(577) +1235 = BUFF(580) +1247 = BUFF(577) +1259 = BUFF(580) +1271 = BUFF(254) +1280 = BUFF(251) +1292 = BUFF(251) +1303 = BUFF(248) +1315 = BUFF(248) +1327 = BUFF(610) +1339 = BUFF(607) +1351 = BUFF(613) +1363 = BUFF(616) +1375 = BUFF(210) +1378 = BUFF(210) +1381 = BUFF(218) +1384 = BUFF(218) +1387 = BUFF(226) +1390 = BUFF(226) +1393 = BUFF(234) +1396 = BUFF(234) +1415 = BUFF(257) +1418 = BUFF(257) +1421 = BUFF(265) +1424 = BUFF(265) +1427 = BUFF(273) +1430 = BUFF(273) +1433 = BUFF(281) +1436 = BUFF(281) +1455 = BUFF(335) +1462 = BUFF(335) +1469 = BUFF(206) +1475 = AND(27, 31) +1479 = BUFF(1) +1482 = BUFF(588) +1492 = BUFF(293) +1495 = BUFF(302) +1498 = BUFF(308) +1501 = BUFF(308) +1504 = BUFF(316) +1507 = BUFF(316) +1510 = BUFF(324) +1513 = BUFF(324) +1516 = BUFF(341) +1519 = BUFF(341) +1522 = BUFF(351) +1525 = BUFF(351) +1542 = BUFF(257) +1545 = BUFF(257) +1548 = BUFF(265) +1551 = BUFF(265) +1554 = BUFF(273) +1557 = BUFF(273) +1560 = BUFF(281) +1563 = BUFF(281) +1566 = BUFF(332) +1573 = BUFF(332) +1580 = BUFF(549) +1583 = AND(31, 27) +1588 = NOT(588) +1594 = BUFF(324) +1597 = BUFF(324) +1600 = BUFF(341) +1603 = BUFF(341) +1606 = BUFF(351) +1609 = BUFF(351) +1612 = BUFF(293) +1615 = BUFF(302) +1618 = BUFF(308) +1621 = BUFF(308) +1624 = BUFF(316) +1627 = BUFF(316) +1630 = BUFF(361) +1633 = BUFF(361) +1636 = BUFF(210) +1639 = BUFF(210) +1642 = BUFF(218) +1645 = BUFF(218) +1648 = BUFF(226) +1651 = BUFF(226) +1654 = BUFF(234) +1657 = BUFF(234) +1660 = NOT(324) +1663 = BUFF(242) +1675 = BUFF(242) +1685 = BUFF(254) +1697 = BUFF(610) +1709 = BUFF(607) +1721 = BUFF(625) +1727 = BUFF(619) +1731 = BUFF(613) +1743 = BUFF(616) +1755 = NOT(599) +1758 = NOT(603) +1761 = BUFF(619) +1769 = BUFF(625) +1777 = BUFF(619) +1785 = BUFF(625) +1793 = BUFF(619) +1800 = BUFF(625) +1807 = BUFF(619) +1814 = BUFF(625) +1821 = BUFF(299) +1824 = BUFF(446) +1827 = BUFF(457) +1830 = BUFF(468) +1833 = BUFF(422) +1836 = BUFF(435) +1839 = BUFF(389) +1842 = BUFF(400) +1845 = BUFF(411) +1848 = BUFF(374) +1851 = BUFF(4) +1854 = BUFF(446) +1857 = BUFF(457) +1860 = BUFF(468) +1863 = BUFF(435) +1866 = BUFF(389) +1869 = BUFF(400) +1872 = BUFF(411) +1875 = BUFF(422) +1878 = BUFF(374) +1881 = BUFF(479) +1884 = BUFF(490) +1887 = BUFF(503) +1890 = BUFF(514) +1893 = BUFF(523) +1896 = BUFF(534) +1899 = BUFF(54) +1902 = BUFF(479) +1905 = BUFF(503) +1908 = BUFF(514) +1911 = BUFF(523) +1914 = BUFF(534) +1917 = BUFF(490) +1920 = BUFF(361) +1923 = BUFF(369) +1926 = BUFF(341) +1929 = BUFF(351) +1932 = BUFF(308) +1935 = BUFF(316) +1938 = BUFF(293) +1941 = BUFF(302) +1944 = BUFF(281) +1947 = BUFF(289) +1950 = BUFF(265) +1953 = BUFF(273) +1956 = BUFF(234) +1959 = BUFF(257) +1962 = BUFF(218) +1965 = BUFF(226) +1968 = BUFF(210) +1972 = NOT(1146) +2054 = AND(136, 1148) +2060 = NOT(1150) +2061 = NOT(1151) +2139 = BUFF(1209) +2142 = BUFF(1216) +2309 = BUFF(1479) +2349 = AND(1104, 514) +2350 = OR(1067, 514) +2387 = BUFF(1580) +2527 = BUFF(1821) +2584 = NOT(1580) +2585 = AND(170, 1161, 1173) +2586 = AND(173, 1161, 1173) +2587 = AND(167, 1161, 1173) +2588 = AND(164, 1161, 1173) +2589 = AND(161, 1161, 1173) +2590 = NAND(1475, 140) +2591 = AND(185, 1185, 1197) +2592 = AND(158, 1185, 1197) +2593 = AND(152, 1185, 1197) +2594 = AND(146, 1185, 1197) +2595 = AND(170, 1223, 1235) +2596 = AND(173, 1223, 1235) +2597 = AND(167, 1223, 1235) +2598 = AND(164, 1223, 1235) +2599 = AND(161, 1223, 1235) +2600 = AND(185, 1247, 1259) +2601 = AND(158, 1247, 1259) +2602 = AND(152, 1247, 1259) +2603 = AND(146, 1247, 1259) +2604 = AND(106, 1731, 1743) +2605 = AND(61, 1327, 1339) +2606 = AND(106, 1697, 1709) +2607 = AND(49, 1697, 1709) +2608 = AND(103, 1697, 1709) +2609 = AND(40, 1697, 1709) +2610 = AND(37, 1697, 1709) +2611 = AND(20, 1327, 1339) +2612 = AND(17, 1327, 1339) +2613 = AND(70, 1327, 1339) +2614 = AND(64, 1327, 1339) +2615 = AND(49, 1731, 1743) +2616 = AND(103, 1731, 1743) +2617 = AND(40, 1731, 1743) +2618 = AND(37, 1731, 1743) +2619 = AND(20, 1351, 1363) +2620 = AND(17, 1351, 1363) +2621 = AND(70, 1351, 1363) +2622 = AND(64, 1351, 1363) +2623 = NOT(1475) +2624 = AND(123, 1758, 599) +2625 = AND(1777, 1785) +2626 = AND(61, 1351, 1363) +2627 = AND(1761, 1769) +2628 = NOT(1824) +2629 = NOT(1827) +2630 = NOT(1830) +2631 = NOT(1833) +2632 = NOT(1836) +2633 = NOT(1839) +2634 = NOT(1842) +2635 = NOT(1845) +2636 = NOT(1848) +2637 = NOT(1851) +2638 = NOT(1854) +2639 = NOT(1857) +2640 = NOT(1860) +2641 = NOT(1863) +2642 = NOT(1866) +2643 = NOT(1869) +2644 = NOT(1872) +2645 = NOT(1875) +2646 = NOT(1878) +2647 = BUFF(1209) +2653 = NOT(1161) +2664 = NOT(1173) +2675 = BUFF(1209) +2681 = NOT(1185) +2692 = NOT(1197) +2703 = AND(179, 1185, 1197) +2704 = BUFF(1479) +2709 = NOT(1881) +2710 = NOT(1884) +2711 = NOT(1887) +2712 = NOT(1890) +2713 = NOT(1893) +2714 = NOT(1896) +2715 = NOT(1899) +2716 = NOT(1902) +2717 = NOT(1905) +2718 = NOT(1908) +2719 = NOT(1911) +2720 = NOT(1914) +2721 = NOT(1917) +2722 = BUFF(1213) +2728 = NOT(1223) +2739 = NOT(1235) +2750 = BUFF(1213) +2756 = NOT(1247) +2767 = NOT(1259) +2778 = AND(179, 1247, 1259) +2779 = NOT(1327) +2790 = NOT(1339) +2801 = NOT(1351) +2812 = NOT(1363) +2823 = NOT(1375) +2824 = NOT(1378) +2825 = NOT(1381) +2826 = NOT(1384) +2827 = NOT(1387) +2828 = NOT(1390) +2829 = NOT(1393) +2830 = NOT(1396) +2831 = AND(1104, 457, 1378) +2832 = AND(1104, 468, 1384) +2833 = AND(1104, 422, 1390) +2834 = AND(1104, 435, 1396) +2835 = AND(1067, 1375) +2836 = AND(1067, 1381) +2837 = AND(1067, 1387) +2838 = AND(1067, 1393) +2839 = NOT(1415) +2840 = NOT(1418) +2841 = NOT(1421) +2842 = NOT(1424) +2843 = NOT(1427) +2844 = NOT(1430) +2845 = NOT(1433) +2846 = NOT(1436) +2847 = AND(1104, 389, 1418) +2848 = AND(1104, 400, 1424) +2849 = AND(1104, 411, 1430) +2850 = AND(1104, 374, 1436) +2851 = AND(1067, 1415) +2852 = AND(1067, 1421) +2853 = AND(1067, 1427) +2854 = AND(1067, 1433) +2855 = NOT(1455) +2861 = NOT(1462) +2867 = AND(292, 1455) +2868 = AND(288, 1455) +2869 = AND(280, 1455) +2870 = AND(272, 1455) +2871 = AND(264, 1455) +2872 = AND(241, 1462) +2873 = AND(233, 1462) +2874 = AND(225, 1462) +2875 = AND(217, 1462) +2876 = AND(209, 1462) +2877 = BUFF(1216) +2882 = NOT(1482) +2891 = NOT(1475) +2901 = NOT(1492) +2902 = NOT(1495) +2903 = NOT(1498) +2904 = NOT(1501) +2905 = NOT(1504) +2906 = NOT(1507) +2907 = AND(1303, 1495) +2908 = AND(1303, 479, 1501) +2909 = AND(1303, 490, 1507) +2910 = AND(1663, 1492) +2911 = AND(1663, 1498) +2912 = AND(1663, 1504) +2913 = NOT(1510) +2914 = NOT(1513) +2915 = NOT(1516) +2916 = NOT(1519) +2917 = NOT(1522) +2918 = NOT(1525) +2919 = AND(1104, 503, 1513) +2920 = NOT(2349) +2921 = AND(1104, 523, 1519) +2922 = AND(1104, 534, 1525) +2923 = AND(1067, 1510) +2924 = AND(1067, 1516) +2925 = AND(1067, 1522) +2926 = NOT(1542) +2927 = NOT(1545) +2928 = NOT(1548) +2929 = NOT(1551) +2930 = NOT(1554) +2931 = NOT(1557) +2932 = NOT(1560) +2933 = NOT(1563) +2934 = AND(1303, 389, 1545) +2935 = AND(1303, 400, 1551) +2936 = AND(1303, 411, 1557) +2937 = AND(1303, 374, 1563) +2938 = AND(1663, 1542) +2939 = AND(1663, 1548) +2940 = AND(1663, 1554) +2941 = AND(1663, 1560) +2942 = NOT(1566) +2948 = NOT(1573) +2954 = AND(372, 1566) +2955 = AND(366, 1566) +2956 = AND(358, 1566) +2957 = AND(348, 1566) +2958 = AND(338, 1566) +2959 = AND(331, 1573) +2960 = AND(323, 1573) +2961 = AND(315, 1573) +2962 = AND(307, 1573) +2963 = AND(299, 1573) +2964 = NOT(1588) +2969 = AND(83, 1588) +2970 = AND(86, 1588) +2971 = AND(88, 1588) +2972 = AND(88, 1588) +2973 = NOT(1594) +2974 = NOT(1597) +2975 = NOT(1600) +2976 = NOT(1603) +2977 = NOT(1606) +2978 = NOT(1609) +2979 = AND(1315, 503, 1597) +2980 = AND(1315, 514) +2981 = AND(1315, 523, 1603) +2982 = AND(1315, 534, 1609) +2983 = AND(1675, 1594) +2984 = OR(1675, 514) +2985 = AND(1675, 1600) +2986 = AND(1675, 1606) +2987 = NOT(1612) +2988 = NOT(1615) +2989 = NOT(1618) +2990 = NOT(1621) +2991 = NOT(1624) +2992 = NOT(1627) +2993 = AND(1315, 1615) +2994 = AND(1315, 479, 1621) +2995 = AND(1315, 490, 1627) +2996 = AND(1675, 1612) +2997 = AND(1675, 1618) +2998 = AND(1675, 1624) +2999 = NOT(1630) +3000 = BUFF(1469) +3003 = BUFF(1469) +3006 = NOT(1633) +3007 = BUFF(1469) +3010 = BUFF(1469) +3013 = AND(1315, 1630) +3014 = AND(1315, 1633) +3015 = NOT(1636) +3016 = NOT(1639) +3017 = NOT(1642) +3018 = NOT(1645) +3019 = NOT(1648) +3020 = NOT(1651) +3021 = NOT(1654) +3022 = NOT(1657) +3023 = AND(1303, 457, 1639) +3024 = AND(1303, 468, 1645) +3025 = AND(1303, 422, 1651) +3026 = AND(1303, 435, 1657) +3027 = AND(1663, 1636) +3028 = AND(1663, 1642) +3029 = AND(1663, 1648) +3030 = AND(1663, 1654) +3031 = NOT(1920) +3032 = NOT(1923) +3033 = NOT(1926) +3034 = NOT(1929) +3035 = BUFF(1660) +3038 = BUFF(1660) +3041 = NOT(1697) +3052 = NOT(1709) +3063 = NOT(1721) +3068 = NOT(1727) +3071 = AND(97, 1721) +3072 = AND(94, 1721) +3073 = AND(97, 1721) +3074 = AND(94, 1721) +3075 = NOT(1731) +3086 = NOT(1743) +3097 = NOT(1761) +3108 = NOT(1769) +3119 = NOT(1777) +3130 = NOT(1785) +3141 = NOT(1944) +3142 = NOT(1947) +3143 = NOT(1950) +3144 = NOT(1953) +3145 = NOT(1956) +3146 = NOT(1959) +3147 = NOT(1793) +3158 = NOT(1800) +3169 = NOT(1807) +3180 = NOT(1814) +3191 = BUFF(1821) +3194 = NOT(1932) +3195 = NOT(1935) +3196 = NOT(1938) +3197 = NOT(1941) +3198 = NOT(1962) +3199 = NOT(1965) +3200 = BUFF(1469) +3203 = NOT(1968) +3357 = BUFF(2704) +3358 = BUFF(2704) +3359 = BUFF(2704) +3360 = BUFF(2704) +3401 = AND(457, 1092, 2824) +3402 = AND(468, 1092, 2826) +3403 = AND(422, 1092, 2828) +3404 = AND(435, 1092, 2830) +3405 = AND(1080, 2823) +3406 = AND(1080, 2825) +3407 = AND(1080, 2827) +3408 = AND(1080, 2829) +3409 = AND(389, 1092, 2840) +3410 = AND(400, 1092, 2842) +3411 = AND(411, 1092, 2844) +3412 = AND(374, 1092, 2846) +3413 = AND(1080, 2839) +3414 = AND(1080, 2841) +3415 = AND(1080, 2843) +3416 = AND(1080, 2845) +3444 = AND(1280, 2902) +3445 = AND(479, 1280, 2904) +3446 = AND(490, 1280, 2906) +3447 = AND(1685, 2901) +3448 = AND(1685, 2903) +3449 = AND(1685, 2905) +3450 = AND(503, 1092, 2914) +3451 = AND(523, 1092, 2916) +3452 = AND(534, 1092, 2918) +3453 = AND(1080, 2913) +3454 = AND(1080, 2915) +3455 = AND(1080, 2917) +3456 = AND(2920, 2350) +3459 = AND(389, 1280, 2927) +3460 = AND(400, 1280, 2929) +3461 = AND(411, 1280, 2931) +3462 = AND(374, 1280, 2933) +3463 = AND(1685, 2926) +3464 = AND(1685, 2928) +3465 = AND(1685, 2930) +3466 = AND(1685, 2932) +3481 = AND(503, 1292, 2974) +3482 = NOT(2980) +3483 = AND(523, 1292, 2976) +3484 = AND(534, 1292, 2978) +3485 = AND(1271, 2973) +3486 = AND(1271, 2975) +3487 = AND(1271, 2977) +3488 = AND(1292, 2988) +3489 = AND(479, 1292, 2990) +3490 = AND(490, 1292, 2992) +3491 = AND(1271, 2987) +3492 = AND(1271, 2989) +3493 = AND(1271, 2991) +3502 = AND(1292, 2999) +3503 = AND(1292, 3006) +3504 = AND(457, 1280, 3016) +3505 = AND(468, 1280, 3018) +3506 = AND(422, 1280, 3020) +3507 = AND(435, 1280, 3022) +3508 = AND(1685, 3015) +3509 = AND(1685, 3017) +3510 = AND(1685, 3019) +3511 = AND(1685, 3021) +3512 = NAND(1923, 3031) +3513 = NAND(1920, 3032) +3514 = NAND(1929, 3033) +3515 = NAND(1926, 3034) +3558 = NAND(1947, 3141) +3559 = NAND(1944, 3142) +3560 = NAND(1953, 3143) +3561 = NAND(1950, 3144) +3562 = NAND(1959, 3145) +3563 = NAND(1956, 3146) +3604 = BUFF(3191) +3605 = NAND(1935, 3194) +3606 = NAND(1932, 3195) +3607 = NAND(1941, 3196) +3608 = NAND(1938, 3197) +3609 = NAND(1965, 3198) +3610 = NAND(1962, 3199) +3613 = NOT(3191) +3614 = AND(2882, 2891) +3615 = AND(1482, 2891) +3616 = AND(200, 2653, 1173) +3617 = AND(203, 2653, 1173) +3618 = AND(197, 2653, 1173) +3619 = AND(194, 2653, 1173) +3620 = AND(191, 2653, 1173) +3621 = AND(182, 2681, 1197) +3622 = AND(188, 2681, 1197) +3623 = AND(155, 2681, 1197) +3624 = AND(149, 2681, 1197) +3625 = AND(2882, 2891) +3626 = AND(1482, 2891) +3627 = AND(200, 2728, 1235) +3628 = AND(203, 2728, 1235) +3629 = AND(197, 2728, 1235) +3630 = AND(194, 2728, 1235) +3631 = AND(191, 2728, 1235) +3632 = AND(182, 2756, 1259) +3633 = AND(188, 2756, 1259) +3634 = AND(155, 2756, 1259) +3635 = AND(149, 2756, 1259) +3636 = AND(2882, 2891) +3637 = AND(1482, 2891) +3638 = AND(109, 3075, 1743) +3639 = AND(2882, 2891) +3640 = AND(1482, 2891) +3641 = AND(11, 2779, 1339) +3642 = AND(109, 3041, 1709) +3643 = AND(46, 3041, 1709) +3644 = AND(100, 3041, 1709) +3645 = AND(91, 3041, 1709) +3646 = AND(43, 3041, 1709) +3647 = AND(76, 2779, 1339) +3648 = AND(73, 2779, 1339) +3649 = AND(67, 2779, 1339) +3650 = AND(14, 2779, 1339) +3651 = AND(46, 3075, 1743) +3652 = AND(100, 3075, 1743) +3653 = AND(91, 3075, 1743) +3654 = AND(43, 3075, 1743) +3655 = AND(76, 2801, 1363) +3656 = AND(73, 2801, 1363) +3657 = AND(67, 2801, 1363) +3658 = AND(14, 2801, 1363) +3659 = AND(120, 3119, 1785) +3660 = AND(11, 2801, 1363) +3661 = AND(118, 3097, 1769) +3662 = AND(176, 2681, 1197) +3663 = AND(176, 2756, 1259) +3664 = OR(2831, 3401) +3665 = OR(2832, 3402) +3666 = OR(2833, 3403) +3667 = OR(2834, 3404) +3668 = OR(2835, 3405, 457) +3669 = OR(2836, 3406, 468) +3670 = OR(2837, 3407, 422) +3671 = OR(2838, 3408, 435) +3672 = OR(2847, 3409) +3673 = OR(2848, 3410) +3674 = OR(2849, 3411) +3675 = OR(2850, 3412) +3676 = OR(2851, 3413, 389) +3677 = OR(2852, 3414, 400) +3678 = OR(2853, 3415, 411) +3679 = OR(2854, 3416, 374) +3680 = AND(289, 2855) +3681 = AND(281, 2855) +3682 = AND(273, 2855) +3683 = AND(265, 2855) +3684 = AND(257, 2855) +3685 = AND(234, 2861) +3686 = AND(226, 2861) +3687 = AND(218, 2861) +3688 = AND(210, 2861) +3689 = AND(206, 2861) +3691 = NOT(2891) +3700 = OR(2907, 3444) +3701 = OR(2908, 3445) +3702 = OR(2909, 3446) +3703 = OR(2911, 3448, 479) +3704 = OR(2912, 3449, 490) +3705 = OR(2910, 3447) +3708 = OR(2919, 3450) +3709 = OR(2921, 3451) +3710 = OR(2922, 3452) +3711 = OR(2923, 3453, 503) +3712 = OR(2924, 3454, 523) +3713 = OR(2925, 3455, 534) +3715 = OR(2934, 3459) +3716 = OR(2935, 3460) +3717 = OR(2936, 3461) +3718 = OR(2937, 3462) +3719 = OR(2938, 3463, 389) +3720 = OR(2939, 3464, 400) +3721 = OR(2940, 3465, 411) +3722 = OR(2941, 3466, 374) +3723 = AND(369, 2942) +3724 = AND(361, 2942) +3725 = AND(351, 2942) +3726 = AND(341, 2942) +3727 = AND(324, 2948) +3728 = AND(316, 2948) +3729 = AND(308, 2948) +3730 = AND(302, 2948) +3731 = AND(293, 2948) +3732 = OR(2942, 2958) +3738 = AND(83, 2964) +3739 = AND(87, 2964) +3740 = AND(34, 2964) +3741 = AND(34, 2964) +3742 = OR(2979, 3481) +3743 = OR(2981, 3483) +3744 = OR(2982, 3484) +3745 = OR(2983, 3485, 503) +3746 = OR(2985, 3486, 523) +3747 = OR(2986, 3487, 534) +3748 = OR(2993, 3488) +3749 = OR(2994, 3489) +3750 = OR(2995, 3490) +3751 = OR(2997, 3492, 479) +3752 = OR(2998, 3493, 490) +3753 = NOT(3000) +3754 = NOT(3003) +3755 = NOT(3007) +3756 = NOT(3010) +3757 = OR(3013, 3502) +3758 = AND(1315, 446, 3003) +3759 = OR(3014, 3503) +3760 = AND(1315, 446, 3010) +3761 = AND(1675, 3000) +3762 = AND(1675, 3007) +3763 = OR(3023, 3504) +3764 = OR(3024, 3505) +3765 = OR(3025, 3506) +3766 = OR(3026, 3507) +3767 = OR(3027, 3508, 457) +3768 = OR(3028, 3509, 468) +3769 = OR(3029, 3510, 422) +3770 = OR(3030, 3511, 435) +3771 = NAND(3512, 3513) +3775 = NAND(3514, 3515) +3779 = NOT(3035) +3780 = NOT(3038) +3781 = AND(117, 3097, 1769) +3782 = AND(126, 3097, 1769) +3783 = AND(127, 3097, 1769) +3784 = AND(128, 3097, 1769) +3785 = AND(131, 3119, 1785) +3786 = AND(129, 3119, 1785) +3787 = AND(119, 3119, 1785) +3788 = AND(130, 3119, 1785) +3789 = NAND(3558, 3559) +3793 = NAND(3560, 3561) +3797 = NAND(3562, 3563) +3800 = AND(122, 3147, 1800) +3801 = AND(113, 3147, 1800) +3802 = AND(53, 3147, 1800) +3803 = AND(114, 3147, 1800) +3804 = AND(115, 3147, 1800) +3805 = AND(52, 3169, 1814) +3806 = AND(112, 3169, 1814) +3807 = AND(116, 3169, 1814) +3808 = AND(121, 3169, 1814) +3809 = AND(123, 3169, 1814) +3810 = NAND(3607, 3608) +3813 = NAND(3605, 3606) +3816 = AND(3482, 2984) +3819 = OR(2996, 3491) +3822 = NOT(3200) +3823 = NAND(3200, 3203) +3824 = NAND(3609, 3610) +3827 = NOT(3456) +3828 = OR(3739, 2970) +3829 = OR(3740, 2971) +3830 = OR(3741, 2972) +3831 = OR(3738, 2969) +3834 = NOT(3664) +3835 = NOT(3665) +3836 = NOT(3666) +3837 = NOT(3667) +3838 = NOT(3672) +3839 = NOT(3673) +3840 = NOT(3674) +3841 = NOT(3675) +3842 = OR(3681, 2868) +3849 = OR(3682, 2869) +3855 = OR(3683, 2870) +3861 = OR(3684, 2871) +3867 = OR(3685, 2872) +3873 = OR(3686, 2873) +3881 = OR(3687, 2874) +3887 = OR(3688, 2875) +3893 = OR(3689, 2876) +3908 = NOT(3701) +3909 = NOT(3702) +3911 = NOT(3700) +3914 = NOT(3708) +3915 = NOT(3709) +3916 = NOT(3710) +3917 = NOT(3715) +3918 = NOT(3716) +3919 = NOT(3717) +3920 = NOT(3718) +3921 = OR(3724, 2955) +3927 = OR(3725, 2956) +3933 = OR(3726, 2957) +3942 = OR(3727, 2959) +3948 = OR(3728, 2960) +3956 = OR(3729, 2961) +3962 = OR(3730, 2962) +3968 = OR(3731, 2963) +3975 = NOT(3742) +3976 = NOT(3743) +3977 = NOT(3744) +3978 = NOT(3749) +3979 = NOT(3750) +3980 = AND(446, 1292, 3754) +3981 = AND(446, 1292, 3756) +3982 = AND(1271, 3753) +3983 = AND(1271, 3755) +3984 = NOT(3757) +3987 = NOT(3759) +3988 = NOT(3763) +3989 = NOT(3764) +3990 = NOT(3765) +3991 = NOT(3766) +3998 = AND(3456, 3119, 3130) +4008 = OR(3723, 2954) +4011 = OR(3680, 2867) +4021 = NOT(3748) +4024 = NAND(1968, 3822) +4027 = NOT(3705) +4031 = AND(3828, 1583) +4032 = AND(24, 2882, 3691) +4033 = AND(25, 1482, 3691) +4034 = AND(26, 2882, 3691) +4035 = AND(81, 1482, 3691) +4036 = AND(3829, 1583) +4037 = AND(79, 2882, 3691) +4038 = AND(23, 1482, 3691) +4039 = AND(82, 2882, 3691) +4040 = AND(80, 1482, 3691) +4041 = AND(3830, 1583) +4042 = AND(3831, 1583) +4067 = AND(3732, 514) +4080 = AND(514, 3732) +4088 = AND(3834, 3668) +4091 = AND(3835, 3669) +4094 = AND(3836, 3670) +4097 = AND(3837, 3671) +4100 = AND(3838, 3676) +4103 = AND(3839, 3677) +4106 = AND(3840, 3678) +4109 = AND(3841, 3679) +4144 = AND(3908, 3703) +4147 = AND(3909, 3704) +4150 = BUFF(3705) +4153 = AND(3914, 3711) +4156 = AND(3915, 3712) +4159 = AND(3916, 3713) +4183 = OR(3758, 3980) +4184 = OR(3760, 3981) +4185 = OR(3761, 3982, 446) +4186 = OR(3762, 3983, 446) +4188 = NOT(3771) +4191 = NOT(3775) +4196 = AND(3775, 3771, 3035) +4197 = AND(3987, 3119, 3130) +4198 = AND(3920, 3722) +4199 = NOT(3816) +4200 = NOT(3789) +4203 = NOT(3793) +4206 = BUFF(3797) +4209 = BUFF(3797) +4212 = BUFF(3732) +4215 = BUFF(3732) +4219 = BUFF(3732) +4223 = NOT(3810) +4224 = NOT(3813) +4225 = AND(3918, 3720) +4228 = AND(3919, 3721) +4231 = AND(3991, 3770) +4234 = AND(3917, 3719) +4237 = AND(3989, 3768) +4240 = AND(3990, 3769) +4243 = AND(3988, 3767) +4246 = AND(3976, 3746) +4249 = AND(3977, 3747) +4252 = AND(3975, 3745) +4255 = AND(3978, 3751) +4258 = AND(3979, 3752) +4263 = NOT(3819) +4264 = NAND(4024, 3823) +4267 = NOT(3824) +4268 = AND(446, 3893) +4269 = NOT(3911) +4270 = NOT(3984) +4271 = AND(3893, 446) +4272 = NOT(4031) +4273 = OR(4032, 4033, 3614, 3615) +4274 = OR(4034, 4035, 3625, 3626) +4275 = NOT(4036) +4276 = OR(4037, 4038, 3636, 3637) +4277 = OR(4039, 4040, 3639, 3640) +4278 = NOT(4041) +4279 = NOT(4042) +4280 = AND(3887, 457) +4284 = AND(3881, 468) +4290 = AND(422, 3873) +4297 = AND(3867, 435) +4298 = AND(3861, 389) +4301 = AND(3855, 400) +4305 = AND(3849, 411) +4310 = AND(3842, 374) +4316 = AND(457, 3887) +4320 = AND(468, 3881) +4325 = AND(422, 3873) +4331 = AND(435, 3867) +4332 = AND(389, 3861) +4336 = AND(400, 3855) +4342 = AND(411, 3849) +4349 = AND(374, 3842) +4357 = NOT(3968) +4364 = NOT(3962) +4375 = BUFF(3962) +4379 = AND(3956, 479) +4385 = AND(490, 3948) +4392 = AND(3942, 503) +4396 = AND(3933, 523) +4400 = AND(3927, 534) +4405 = NOT(3921) +4412 = BUFF(3921) +4418 = NOT(3968) +4425 = NOT(3962) +4436 = BUFF(3962) +4440 = AND(479, 3956) +4445 = AND(490, 3948) +4451 = AND(503, 3942) +4456 = AND(523, 3933) +4462 = AND(534, 3927) +4469 = BUFF(3921) +4477 = NOT(3921) +4512 = BUFF(3968) +4515 = NOT(4183) +4516 = NOT(4184) +4521 = NOT(4008) +4523 = NOT(4011) +4524 = NOT(4198) +4532 = NOT(3984) +4547 = AND(3911, 3169, 3180) +4548 = BUFF(3893) +4551 = BUFF(3887) +4554 = BUFF(3881) +4557 = BUFF(3873) +4560 = BUFF(3867) +4563 = BUFF(3861) +4566 = BUFF(3855) +4569 = BUFF(3849) +4572 = BUFF(3842) +4575 = NOR(422, 3873) +4578 = BUFF(3893) +4581 = BUFF(3887) +4584 = BUFF(3881) +4587 = BUFF(3867) +4590 = BUFF(3861) +4593 = BUFF(3855) +4596 = BUFF(3849) +4599 = BUFF(3873) +4602 = BUFF(3842) +4605 = NOR(422, 3873) +4608 = NOR(374, 3842) +4611 = BUFF(3956) +4614 = BUFF(3948) +4617 = BUFF(3942) +4621 = BUFF(3933) +4624 = BUFF(3927) +4627 = NOR(490, 3948) +4630 = BUFF(3956) +4633 = BUFF(3942) +4637 = BUFF(3933) +4640 = BUFF(3927) +4643 = BUFF(3948) +4646 = NOR(490, 3948) +4649 = BUFF(3927) +4652 = BUFF(3933) +4655 = BUFF(3921) +4658 = BUFF(3942) +4662 = BUFF(3956) +4665 = BUFF(3948) +4668 = BUFF(3968) +4671 = BUFF(3962) +4674 = BUFF(3873) +4677 = BUFF(3867) +4680 = BUFF(3887) +4683 = BUFF(3881) +4686 = BUFF(3893) +4689 = BUFF(3849) +4692 = BUFF(3842) +4695 = BUFF(3861) +4698 = BUFF(3855) +4701 = NAND(3813, 4223) +4702 = NAND(3810, 4224) +4720 = NOT(4021) +4721 = NAND(4021, 4263) +4724 = NOT(4147) +4725 = NOT(4144) +4726 = NOT(4159) +4727 = NOT(4156) +4728 = NOT(4153) +4729 = NOT(4097) +4730 = NOT(4094) +4731 = NOT(4091) +4732 = NOT(4088) +4733 = NOT(4109) +4734 = NOT(4106) +4735 = NOT(4103) +4736 = NOT(4100) +4737 = AND(4273, 2877) +4738 = AND(4274, 2877) +4739 = AND(4276, 2877) +4740 = AND(4277, 2877) +4741 = AND(4150, 1758, 1755) +4855 = NOT(4212) +4856 = NAND(4212, 2712) +4908 = NAND(4215, 2718) +4909 = NOT(4215) +4939 = AND(4515, 4185) +4942 = AND(4516, 4186) +4947 = NOT(4219) +4953 = AND(4188, 3775, 3779) +4954 = AND(3771, 4191, 3780) +4955 = AND(4191, 4188, 3038) +4956 = AND(4109, 3097, 3108) +4957 = AND(4106, 3097, 3108) +4958 = AND(4103, 3097, 3108) +4959 = AND(4100, 3097, 3108) +4960 = AND(4159, 3119, 3130) +4961 = AND(4156, 3119, 3130) +4965 = NOT(4225) +4966 = NOT(4228) +4967 = NOT(4231) +4968 = NOT(4234) +4972 = NOT(4246) +4973 = NOT(4249) +4974 = NOT(4252) +4975 = NAND(4252, 4199) +4976 = NOT(4206) +4977 = NOT(4209) +4978 = AND(3793, 3789, 4206) +4979 = AND(4203, 4200, 4209) +4980 = AND(4097, 3147, 3158) +4981 = AND(4094, 3147, 3158) +4982 = AND(4091, 3147, 3158) +4983 = AND(4088, 3147, 3158) +4984 = AND(4153, 3169, 3180) +4985 = AND(4147, 3169, 3180) +4986 = AND(4144, 3169, 3180) +4987 = AND(4150, 3169, 3180) +5049 = NAND(4701, 4702) +5052 = NOT(4237) +5053 = NOT(4240) +5054 = NOT(4243) +5055 = NOT(4255) +5056 = NOT(4258) +5057 = NAND(3819, 4720) +5058 = NOT(4264) +5059 = NAND(4264, 4267) +5060 = AND(4724, 4725, 4269, 4027) +5061 = AND(4726, 4727, 3827, 4728) +5062 = AND(4729, 4730, 4731, 4732) +5063 = AND(4733, 4734, 4735, 4736) +5065 = AND(4357, 4375) +5066 = AND(4364, 4357, 4379) +5067 = AND(4418, 4436) +5068 = AND(4425, 4418, 4440) +5069 = NOT(4548) +5070 = NAND(4548, 2628) +5071 = NOT(4551) +5072 = NAND(4551, 2629) +5073 = NOT(4554) +5074 = NAND(4554, 2630) +5075 = NOT(4557) +5076 = NAND(4557, 2631) +5077 = NOT(4560) +5078 = NAND(4560, 2632) +5079 = NOT(4563) +5080 = NAND(4563, 2633) +5081 = NOT(4566) +5082 = NAND(4566, 2634) +5083 = NOT(4569) +5084 = NAND(4569, 2635) +5085 = NOT(4572) +5086 = NAND(4572, 2636) +5087 = NOT(4575) +5088 = NAND(4578, 2638) +5089 = NOT(4578) +5090 = NAND(4581, 2639) +5091 = NOT(4581) +5092 = NAND(4584, 2640) +5093 = NOT(4584) +5094 = NAND(4587, 2641) +5095 = NOT(4587) +5096 = NAND(4590, 2642) +5097 = NOT(4590) +5098 = NAND(4593, 2643) +5099 = NOT(4593) +5100 = NAND(4596, 2644) +5101 = NOT(4596) +5102 = NAND(4599, 2645) +5103 = NOT(4599) +5104 = NAND(4602, 2646) +5105 = NOT(4602) +5106 = NOT(4611) +5107 = NAND(4611, 2709) +5108 = NOT(4614) +5109 = NAND(4614, 2710) +5110 = NOT(4617) +5111 = NAND(4617, 2711) +5112 = NAND(1890, 4855) +5113 = NOT(4621) +5114 = NAND(4621, 2713) +5115 = NOT(4624) +5116 = NAND(4624, 2714) +5117 = AND(4364, 4379) +5118 = AND(4364, 4379) +5119 = AND(54, 4405) +5120 = NOT(4627) +5121 = NAND(4630, 2716) +5122 = NOT(4630) +5123 = NAND(4633, 2717) +5124 = NOT(4633) +5125 = NAND(1908, 4909) +5126 = NAND(4637, 2719) +5127 = NOT(4637) +5128 = NAND(4640, 2720) +5129 = NOT(4640) +5130 = NAND(4643, 2721) +5131 = NOT(4643) +5132 = AND(4425, 4440) +5133 = AND(4425, 4440) +5135 = NOT(4649) +5136 = NOT(4652) +5137 = NAND(4655, 4521) +5138 = NOT(4655) +5139 = NOT(4658) +5140 = NAND(4658, 4947) +5141 = NOT(4674) +5142 = NOT(4677) +5143 = NOT(4680) +5144 = NOT(4683) +5145 = NAND(4686, 4523) +5146 = NOT(4686) +5147 = NOR(4953, 4196) +5148 = NOR(4954, 4955) +5150 = NOT(4524) +5153 = NAND(4228, 4965) +5154 = NAND(4225, 4966) +5155 = NAND(4234, 4967) +5156 = NAND(4231, 4968) +5157 = NOT(4532) +5160 = NAND(4249, 4972) +5161 = NAND(4246, 4973) +5162 = NAND(3816, 4974) +5163 = AND(4200, 3793, 4976) +5164 = AND(3789, 4203, 4977) +5165 = AND(4942, 3147, 3158) +5166 = NOT(4512) +5169 = BUFF(4290) +5172 = NOT(4605) +5173 = BUFF(4325) +5176 = NOT(4608) +5177 = BUFF(4349) +5180 = BUFF(4405) +5183 = BUFF(4357) +5186 = BUFF(4357) +5189 = BUFF(4364) +5192 = BUFF(4364) +5195 = BUFF(4385) +5198 = NOT(4646) +5199 = BUFF(4418) +5202 = BUFF(4425) +5205 = BUFF(4445) +5208 = BUFF(4418) +5211 = BUFF(4425) +5214 = BUFF(4477) +5217 = BUFF(4469) +5220 = BUFF(4477) +5223 = NOT(4662) +5224 = NOT(4665) +5225 = NOT(4668) +5226 = NOT(4671) +5227 = NOT(4689) +5228 = NOT(4692) +5229 = NOT(4695) +5230 = NOT(4698) +5232 = NAND(4240, 5052) +5233 = NAND(4237, 5053) +5234 = NAND(4258, 5055) +5235 = NAND(4255, 5056) +5236 = NAND(4721, 5057) +5239 = NAND(3824, 5058) +5240 = AND(5060, 5061, 4270) +5241 = NOT(4939) +5242 = NAND(1824, 5069) +5243 = NAND(1827, 5071) +5244 = NAND(1830, 5073) +5245 = NAND(1833, 5075) +5246 = NAND(1836, 5077) +5247 = NAND(1839, 5079) +5248 = NAND(1842, 5081) +5249 = NAND(1845, 5083) +5250 = NAND(1848, 5085) +5252 = NAND(1854, 5089) +5253 = NAND(1857, 5091) +5254 = NAND(1860, 5093) +5255 = NAND(1863, 5095) +5256 = NAND(1866, 5097) +5257 = NAND(1869, 5099) +5258 = NAND(1872, 5101) +5259 = NAND(1875, 5103) +5260 = NAND(1878, 5105) +5261 = NAND(1881, 5106) +5262 = NAND(1884, 5108) +5263 = NAND(1887, 5110) +5264 = NAND(5112, 4856) +5274 = NAND(1893, 5113) +5275 = NAND(1896, 5115) +5282 = NAND(1902, 5122) +5283 = NAND(1905, 5124) +5284 = NAND(4908, 5125) +5298 = NAND(1911, 5127) +5299 = NAND(1914, 5129) +5300 = NAND(1917, 5131) +5303 = NAND(4652, 5135) +5304 = NAND(4649, 5136) +5305 = NAND(4008, 5138) +5306 = NAND(4219, 5139) +5307 = NAND(4677, 5141) +5308 = NAND(4674, 5142) +5309 = NAND(4683, 5143) +5310 = NAND(4680, 5144) +5311 = NAND(4011, 5146) +5312 = NOT(5049) +5315 = NAND(5153, 5154) +5319 = NAND(5155, 5156) +5324 = NAND(5160, 5161) +5328 = NAND(5162, 4975) +5331 = NOR(5163, 4978) +5332 = NOR(5164, 4979) +5346 = OR(4412, 5119) +5363 = NAND(4665, 5223) +5364 = NAND(4662, 5224) +5365 = NAND(4671, 5225) +5366 = NAND(4668, 5226) +5367 = NAND(4692, 5227) +5368 = NAND(4689, 5228) +5369 = NAND(4698, 5229) +5370 = NAND(4695, 5230) +5371 = NAND(5148, 5147) +5374 = BUFF(4939) +5377 = NAND(5232, 5233) +5382 = NAND(5234, 5235) +5385 = NAND(5239, 5059) +5388 = AND(5062, 5063, 5241) +5389 = NAND(5242, 5070) +5396 = NAND(5243, 5072) +5407 = NAND(5244, 5074) +5418 = NAND(5245, 5076) +5424 = NAND(5246, 5078) +5431 = NAND(5247, 5080) +5441 = NAND(5248, 5082) +5452 = NAND(5249, 5084) +5462 = NAND(5250, 5086) +5469 = NOT(5169) +5470 = NAND(5088, 5252) +5477 = NAND(5090, 5253) +5488 = NAND(5092, 5254) +5498 = NAND(5094, 5255) +5506 = NAND(5096, 5256) +5520 = NAND(5098, 5257) +5536 = NAND(5100, 5258) +5549 = NAND(5102, 5259) +5555 = NAND(5104, 5260) +5562 = NAND(5261, 5107) +5573 = NAND(5262, 5109) +5579 = NAND(5263, 5111) +5595 = NAND(5274, 5114) +5606 = NAND(5275, 5116) +5616 = NAND(5180, 2715) +5617 = NOT(5180) +5618 = NOT(5183) +5619 = NOT(5186) +5620 = NOT(5189) +5621 = NOT(5192) +5622 = NOT(5195) +5624 = NAND(5121, 5282) +5634 = NAND(5123, 5283) +5655 = NAND(5126, 5298) +5671 = NAND(5128, 5299) +5684 = NAND(5130, 5300) +5690 = NOT(5202) +5691 = NOT(5211) +5692 = NAND(5303, 5304) +5696 = NAND(5137, 5305) +5700 = NAND(5306, 5140) +5703 = NAND(5307, 5308) +5707 = NAND(5309, 5310) +5711 = NAND(5145, 5311) +5726 = AND(5166, 4512) +5727 = NOT(5173) +5728 = NOT(5177) +5730 = NOT(5199) +5731 = NOT(5205) +5732 = NOT(5208) +5733 = NOT(5214) +5734 = NOT(5217) +5735 = NOT(5220) +5736 = NAND(5365, 5366) +5739 = NAND(5363, 5364) +5742 = NAND(5369, 5370) +5745 = NAND(5367, 5368) +5755 = NOT(5236) +5756 = NAND(5332, 5331) +5954 = AND(5264, 4396) +5955 = NAND(1899, 5617) +5956 = NOT(5346) +6005 = AND(5284, 4456) +6006 = AND(5284, 4456) +6023 = NOT(5371) +6024 = NAND(5371, 5312) +6025 = NOT(5315) +6028 = NOT(5324) +6031 = BUFF(5319) +6034 = BUFF(5319) +6037 = BUFF(5328) +6040 = BUFF(5328) +6044 = NOT(5385) +6045 = OR(5166, 5726) +6048 = BUFF(5264) +6051 = BUFF(5284) +6054 = BUFF(5284) +6065 = NOT(5374) +6066 = NAND(5374, 5054) +6067 = NOT(5377) +6068 = NOT(5382) +6069 = NAND(5382, 5755) +6071 = AND(5470, 4316) +6072 = AND(5477, 5470, 4320) +6073 = AND(5488, 5470, 4325, 5477) +6074 = AND(5562, 4357, 4385, 4364) +6075 = AND(5389, 4280) +6076 = AND(5396, 5389, 4284) +6077 = AND(5407, 5389, 4290, 5396) +6078 = AND(5624, 4418, 4445, 4425) +6079 = NOT(5418) +6080 = AND(5396, 5418, 5407, 5389) +6083 = AND(5396, 4284) +6084 = AND(5407, 4290, 5396) +6085 = AND(5418, 5407, 5396) +6086 = AND(5396, 4284) +6087 = AND(4290, 5407, 5396) +6088 = AND(5407, 4290) +6089 = AND(5418, 5407) +6090 = AND(5407, 4290) +6091 = AND(5431, 5462, 5441, 5424, 5452) +6094 = AND(5424, 4298) +6095 = AND(5431, 5424, 4301) +6096 = AND(5441, 5424, 4305, 5431) +6097 = AND(5452, 5441, 5424, 4310, 5431) +6098 = AND(5431, 4301) +6099 = AND(5441, 4305, 5431) +6100 = AND(5452, 5441, 4310, 5431) +6101 = AND(4, 5462, 5441, 5452, 5431) +6102 = AND(4305, 5441) +6103 = AND(5452, 5441, 4310) +6104 = AND(4, 5462, 5441, 5452) +6105 = AND(5452, 4310) +6106 = AND(4, 5462, 5452) +6107 = AND(4, 5462) +6108 = AND(5549, 5488, 5477, 5470) +6111 = AND(5477, 4320) +6112 = AND(5488, 4325, 5477) +6113 = AND(5549, 5488, 5477) +6114 = AND(5477, 4320) +6115 = AND(5488, 4325, 5477) +6116 = AND(5488, 4325) +6117 = AND(5555, 5536, 5520, 5506, 5498) +6120 = AND(5498, 4332) +6121 = AND(5506, 5498, 4336) +6122 = AND(5520, 5498, 4342, 5506) +6123 = AND(5536, 5520, 5498, 4349, 5506) +6124 = AND(5506, 4336) +6125 = AND(5520, 4342, 5506) +6126 = AND(5536, 5520, 4349, 5506) +6127 = AND(5555, 5520, 5506, 5536) +6128 = AND(5506, 4336) +6129 = AND(5520, 4342, 5506) +6130 = AND(5536, 5520, 4349, 5506) +6131 = AND(5520, 4342) +6132 = AND(5536, 5520, 4349) +6133 = AND(5555, 5520, 5536) +6134 = AND(5520, 4342) +6135 = AND(5536, 5520, 4349) +6136 = AND(5536, 4349) +6137 = AND(5549, 5488) +6138 = AND(5555, 5536) +6139 = NOT(5573) +6140 = AND(4364, 5573, 5562, 4357) +6143 = AND(5562, 4385, 4364) +6144 = AND(5573, 5562, 4364) +6145 = AND(4385, 5562, 4364) +6146 = AND(5562, 4385) +6147 = AND(5573, 5562) +6148 = AND(5562, 4385) +6149 = AND(5264, 4405, 5595, 5579, 5606) +6152 = AND(5579, 4067) +6153 = AND(5264, 5579, 4396) +6154 = AND(5595, 5579, 4400, 5264) +6155 = AND(5606, 5595, 5579, 4412, 5264) +6156 = AND(5595, 4400, 5264) +6157 = AND(5606, 5595, 4412, 5264) +6158 = AND(54, 4405, 5595, 5606, 5264) +6159 = AND(4400, 5595) +6160 = AND(5606, 5595, 4412) +6161 = AND(54, 4405, 5595, 5606) +6162 = AND(5606, 4412) +6163 = AND(54, 4405, 5606) +6164 = NAND(5616, 5955) +6168 = AND(5684, 5624, 4425, 4418) +6171 = AND(5624, 4445, 4425) +6172 = AND(5684, 5624, 4425) +6173 = AND(5624, 4445, 4425) +6174 = AND(5624, 4445) +6175 = AND(4477, 5671, 5655, 5284, 5634) +6178 = AND(5634, 4080) +6179 = AND(5284, 5634, 4456) +6180 = AND(5655, 5634, 4462, 5284) +6181 = AND(5671, 5655, 5634, 4469, 5284) +6182 = AND(5655, 4462, 5284) +6183 = AND(5671, 5655, 4469, 5284) +6184 = AND(4477, 5655, 5284, 5671) +6185 = AND(5655, 4462, 5284) +6186 = AND(5671, 5655, 4469, 5284) +6187 = AND(5655, 4462) +6188 = AND(5671, 5655, 4469) +6189 = AND(4477, 5655, 5671) +6190 = AND(5655, 4462) +6191 = AND(5671, 5655, 4469) +6192 = AND(5671, 4469) +6193 = AND(5684, 5624) +6194 = AND(4477, 5671) +6197 = NOT(5692) +6200 = NOT(5696) +6203 = NOT(5703) +6206 = NOT(5707) +6209 = BUFF(5700) +6212 = BUFF(5700) +6215 = BUFF(5711) +6218 = BUFF(5711) +6221 = NAND(5049, 6023) +6234 = NOT(5756) +6235 = NAND(5756, 6044) +6238 = BUFF(5462) +6241 = BUFF(5389) +6244 = BUFF(5389) +6247 = BUFF(5396) +6250 = BUFF(5396) +6253 = BUFF(5407) +6256 = BUFF(5407) +6259 = BUFF(5424) +6262 = BUFF(5431) +6265 = BUFF(5441) +6268 = BUFF(5452) +6271 = BUFF(5549) +6274 = BUFF(5488) +6277 = BUFF(5470) +6280 = BUFF(5477) +6283 = BUFF(5549) +6286 = BUFF(5488) +6289 = BUFF(5470) +6292 = BUFF(5477) +6295 = BUFF(5555) +6298 = BUFF(5536) +6301 = BUFF(5498) +6304 = BUFF(5520) +6307 = BUFF(5506) +6310 = BUFF(5506) +6313 = BUFF(5555) +6316 = BUFF(5536) +6319 = BUFF(5498) +6322 = BUFF(5520) +6325 = BUFF(5562) +6328 = BUFF(5562) +6331 = BUFF(5579) +6335 = BUFF(5595) +6338 = BUFF(5606) +6341 = BUFF(5684) +6344 = BUFF(5624) +6347 = BUFF(5684) +6350 = BUFF(5624) +6353 = BUFF(5671) +6356 = BUFF(5634) +6359 = BUFF(5655) +6364 = BUFF(5671) +6367 = BUFF(5634) +6370 = BUFF(5655) +6373 = NOT(5736) +6374 = NOT(5739) +6375 = NOT(5742) +6376 = NOT(5745) +6377 = NAND(4243, 6065) +6378 = NAND(5236, 6068) +6382 = OR(4268, 6071, 6072, 6073) +6386 = OR(3968, 5065, 5066, 6074) +6388 = OR(4271, 6075, 6076, 6077) +6392 = OR(3968, 5067, 5068, 6078) +6397 = OR(4297, 6094, 6095, 6096, 6097) +6411 = OR(4320, 6116) +6415 = OR(4331, 6120, 6121, 6122, 6123) +6419 = OR(4342, 6136) +6427 = OR(4392, 6152, 6153, 6154, 6155) +6434 = NOT(6048) +6437 = OR(4440, 6174) +6441 = OR(4451, 6178, 6179, 6180, 6181) +6445 = OR(4462, 6192) +6448 = NOT(6051) +6449 = NOT(6054) +6466 = NAND(6221, 6024) +6469 = NOT(6031) +6470 = NOT(6034) +6471 = NOT(6037) +6472 = NOT(6040) +6473 = AND(5315, 4524, 6031) +6474 = AND(6025, 5150, 6034) +6475 = AND(5324, 4532, 6037) +6476 = AND(6028, 5157, 6040) +6477 = NAND(5385, 6234) +6478 = NAND(6045, 132) +6482 = OR(4280, 6083, 6084, 6085) +6486 = NOR(4280, 6086, 6087) +6490 = OR(4284, 6088, 6089) +6494 = NOR(4284, 6090) +6500 = OR(4298, 6098, 6099, 6100, 6101) +6504 = OR(4301, 6102, 6103, 6104) +6508 = OR(4305, 6105, 6106) +6512 = OR(4310, 6107) +6516 = OR(4316, 6111, 6112, 6113) +6526 = NOR(4316, 6114, 6115) +6536 = OR(4336, 6131, 6132, 6133) +6539 = OR(4332, 6124, 6125, 6126, 6127) +6553 = NOR(4336, 6134, 6135) +6556 = NOR(4332, 6128, 6129, 6130) +6566 = OR(4375, 5117, 6143, 6144) +6569 = NOR(4375, 5118, 6145) +6572 = OR(4379, 6146, 6147) +6575 = NOR(4379, 6148) +6580 = OR(4067, 5954, 6156, 6157, 6158) +6584 = OR(4396, 6159, 6160, 6161) +6587 = OR(4400, 6162, 6163) +6592 = OR(4436, 5132, 6171, 6172) +6599 = NOR(4436, 5133, 6173) +6606 = OR(4456, 6187, 6188, 6189) +6609 = OR(4080, 6005, 6182, 6183, 6184) +6619 = NOR(4456, 6190, 6191) +6622 = NOR(4080, 6006, 6185, 6186) +6630 = NAND(5739, 6373) +6631 = NAND(5736, 6374) +6632 = NAND(5745, 6375) +6633 = NAND(5742, 6376) +6634 = NAND(6377, 6066) +6637 = NAND(6069, 6378) +6640 = NOT(6164) +6641 = AND(6108, 6117) +6643 = AND(6140, 6149) +6646 = AND(6168, 6175) +6648 = AND(6080, 6091) +6650 = NAND(6238, 2637) +6651 = NOT(6238) +6653 = NOT(6241) +6655 = NOT(6244) +6657 = NOT(6247) +6659 = NOT(6250) +6660 = NAND(6253, 5087) +6661 = NOT(6253) +6662 = NAND(6256, 5469) +6663 = NOT(6256) +6664 = AND(6091, 4) +6666 = NOT(6259) +6668 = NOT(6262) +6670 = NOT(6265) +6672 = NOT(6268) +6675 = NOT(6117) +6680 = NOT(6280) +6681 = NOT(6292) +6682 = NOT(6307) +6683 = NOT(6310) +6689 = NAND(6325, 5120) +6690 = NOT(6325) +6691 = NAND(6328, 5622) +6692 = NOT(6328) +6693 = AND(6149, 54) +6695 = NOT(6331) +6698 = NOT(6335) +6699 = NAND(6338, 5956) +6700 = NOT(6338) +6703 = NOT(6175) +6708 = NOT(6209) +6709 = NOT(6212) +6710 = NOT(6215) +6711 = NOT(6218) +6712 = AND(5696, 5692, 6209) +6713 = AND(6200, 6197, 6212) +6714 = AND(5707, 5703, 6215) +6715 = AND(6206, 6203, 6218) +6716 = BUFF(6466) +6718 = AND(6164, 1777, 3130) +6719 = AND(5150, 5315, 6469) +6720 = AND(4524, 6025, 6470) +6721 = AND(5157, 5324, 6471) +6722 = AND(4532, 6028, 6472) +6724 = NAND(6477, 6235) +6739 = NOT(6271) +6740 = NOT(6274) +6741 = NOT(6277) +6744 = NOT(6283) +6745 = NOT(6286) +6746 = NOT(6289) +6751 = NOT(6295) +6752 = NOT(6298) +6753 = NOT(6301) +6754 = NOT(6304) +6755 = NOT(6322) +6760 = NOT(6313) +6761 = NOT(6316) +6762 = NOT(6319) +6772 = NOT(6341) +6773 = NOT(6344) +6776 = NOT(6347) +6777 = NOT(6350) +6782 = NOT(6353) +6783 = NOT(6356) +6784 = NOT(6359) +6785 = NOT(6370) +6790 = NOT(6364) +6791 = NOT(6367) +6792 = NAND(6630, 6631) +6795 = NAND(6632, 6633) +6801 = AND(6108, 6415) +6802 = AND(6427, 6140) +6803 = AND(6397, 6080) +6804 = AND(6168, 6441) +6805 = NOT(6466) +6806 = NAND(1851, 6651) +6807 = NOT(6482) +6808 = NAND(6482, 6653) +6809 = NOT(6486) +6810 = NAND(6486, 6655) +6811 = NOT(6490) +6812 = NAND(6490, 6657) +6813 = NOT(6494) +6814 = NAND(6494, 6659) +6815 = NAND(4575, 6661) +6816 = NAND(5169, 6663) +6817 = OR(6397, 6664) +6823 = NOT(6500) +6824 = NAND(6500, 6666) +6825 = NOT(6504) +6826 = NAND(6504, 6668) +6827 = NOT(6508) +6828 = NAND(6508, 6670) +6829 = NOT(6512) +6830 = NAND(6512, 6672) +6831 = NOT(6415) +6834 = NOT(6566) +6835 = NAND(6566, 5618) +6836 = NOT(6569) +6837 = NAND(6569, 5619) +6838 = NOT(6572) +6839 = NAND(6572, 5620) +6840 = NOT(6575) +6841 = NAND(6575, 5621) +6842 = NAND(4627, 6690) +6843 = NAND(5195, 6692) +6844 = OR(6427, 6693) +6850 = NOT(6580) +6851 = NAND(6580, 6695) +6852 = NOT(6584) +6853 = NAND(6584, 6434) +6854 = NOT(6587) +6855 = NAND(6587, 6698) +6856 = NAND(5346, 6700) +6857 = NOT(6441) +6860 = AND(6197, 5696, 6708) +6861 = AND(5692, 6200, 6709) +6862 = AND(6203, 5707, 6710) +6863 = AND(5703, 6206, 6711) +6866 = OR(4197, 6718, 3785) +6872 = NOR(6719, 6473) +6873 = NOR(6720, 6474) +6874 = NOR(6721, 6475) +6875 = NOR(6722, 6476) +6876 = NOT(6637) +6877 = BUFF(6724) +6879 = AND(6045, 6478) +6880 = AND(6478, 132) +6881 = OR(6411, 6137) +6884 = NOT(6516) +6885 = NOT(6411) +6888 = NOT(6526) +6889 = NOT(6536) +6890 = NAND(6536, 5176) +6891 = OR(6419, 6138) +6894 = NOT(6539) +6895 = NOT(6553) +6896 = NAND(6553, 5728) +6897 = NOT(6419) +6900 = NOT(6556) +6901 = OR(6437, 6193) +6904 = NOT(6592) +6905 = NOT(6437) +6908 = NOT(6599) +6909 = OR(6445, 6194) +6912 = NOT(6606) +6913 = NOT(6609) +6914 = NOT(6619) +6915 = NAND(6619, 5734) +6916 = NOT(6445) +6919 = NOT(6622) +6922 = NOT(6634) +6923 = NAND(6634, 6067) +6924 = OR(6382, 6801) +6925 = OR(6386, 6802) +6926 = OR(6388, 6803) +6927 = OR(6392, 6804) +6930 = NOT(6724) +6932 = NAND(6650, 6806) +6935 = NAND(6241, 6807) +6936 = NAND(6244, 6809) +6937 = NAND(6247, 6811) +6938 = NAND(6250, 6813) +6939 = NAND(6660, 6815) +6940 = NAND(6662, 6816) +6946 = NAND(6259, 6823) +6947 = NAND(6262, 6825) +6948 = NAND(6265, 6827) +6949 = NAND(6268, 6829) +6953 = NAND(5183, 6834) +6954 = NAND(5186, 6836) +6955 = NAND(5189, 6838) +6956 = NAND(5192, 6840) +6957 = NAND(6689, 6842) +6958 = NAND(6691, 6843) +6964 = NAND(6331, 6850) +6965 = NAND(6048, 6852) +6966 = NAND(6335, 6854) +6967 = NAND(6699, 6856) +6973 = NOR(6860, 6712) +6974 = NOR(6861, 6713) +6975 = NOR(6862, 6714) +6976 = NOR(6863, 6715) +6977 = NOT(6792) +6978 = NOT(6795) +6979 = OR(6879, 6880) +6987 = NAND(4608, 6889) +6990 = NAND(5177, 6895) +6999 = NAND(5217, 6914) +7002 = NAND(5377, 6922) +7003 = NAND(6873, 6872) +7006 = NAND(6875, 6874) +7011 = AND(6866, 2681, 2692) +7012 = AND(6866, 2756, 2767) +7013 = AND(6866, 2779, 2790) +7015 = NOT(6866) +7016 = AND(6866, 2801, 2812) +7018 = NAND(6935, 6808) +7019 = NAND(6936, 6810) +7020 = NAND(6937, 6812) +7021 = NAND(6938, 6814) +7022 = NOT(6939) +7023 = NOT(6817) +7028 = NAND(6946, 6824) +7031 = NAND(6947, 6826) +7034 = NAND(6948, 6828) +7037 = NAND(6949, 6830) +7040 = AND(6817, 6079) +7041 = AND(6831, 6675) +7044 = NAND(6953, 6835) +7045 = NAND(6954, 6837) +7046 = NAND(6955, 6839) +7047 = NAND(6956, 6841) +7048 = NOT(6957) +7049 = NOT(6844) +7054 = NAND(6964, 6851) +7057 = NAND(6965, 6853) +7060 = NAND(6966, 6855) +7064 = AND(6844, 6139) +7065 = AND(6857, 6703) +7072 = NOT(6881) +7073 = NAND(6881, 5172) +7074 = NOT(6885) +7075 = NAND(6885, 5727) +7076 = NAND(6890, 6987) +7079 = NOT(6891) +7080 = NAND(6896, 6990) +7083 = NOT(6897) +7084 = NOT(6901) +7085 = NAND(6901, 5198) +7086 = NOT(6905) +7087 = NAND(6905, 5731) +7088 = NOT(6909) +7089 = NAND(6909, 6912) +7090 = NAND(6915, 6999) +7093 = NOT(6916) +7094 = NAND(6974, 6973) +7097 = NAND(6976, 6975) +7101 = NAND(7002, 6923) +7105 = NOT(6932) +7110 = NOT(6967) +7114 = AND(6979, 603, 1755) +7115 = NOT(7019) +7116 = NOT(7021) +7125 = AND(6817, 7018) +7126 = AND(6817, 7020) +7127 = AND(6817, 7022) +7130 = NOT(7045) +7131 = NOT(7047) +7139 = AND(6844, 7044) +7140 = AND(6844, 7046) +7141 = AND(6844, 7048) +7146 = AND(6932, 1761, 3108) +7147 = AND(6967, 1777, 3130) +7149 = NOT(7003) +7150 = NOT(7006) +7151 = NAND(7006, 6876) +7152 = NAND(4605, 7072) +7153 = NAND(5173, 7074) +7158 = NAND(4646, 7084) +7159 = NAND(5205, 7086) +7160 = NAND(6606, 7088) +7166 = NOT(7037) +7167 = NOT(7034) +7168 = NOT(7031) +7169 = NOT(7028) +7170 = NOT(7060) +7171 = NOT(7057) +7172 = NOT(7054) +7173 = AND(7115, 7023) +7174 = AND(7116, 7023) +7175 = AND(6940, 7023) +7176 = AND(5418, 7023) +7177 = NOT(7041) +7178 = AND(7130, 7049) +7179 = AND(7131, 7049) +7180 = AND(6958, 7049) +7181 = AND(5573, 7049) +7182 = NOT(7065) +7183 = NOT(7094) +7184 = NAND(7094, 6977) +7185 = NOT(7097) +7186 = NAND(7097, 6978) +7187 = AND(7037, 1761, 3108) +7188 = AND(7034, 1761, 3108) +7189 = AND(7031, 1761, 3108) +7190 = OR(4956, 7146, 3781) +7196 = AND(7060, 1777, 3130) +7197 = AND(7057, 1777, 3130) +7198 = OR(4960, 7147, 3786) +7204 = NAND(7101, 7149) +7205 = NOT(7101) +7206 = NAND(6637, 7150) +7207 = AND(7028, 1793, 3158) +7208 = AND(7054, 1807, 3180) +7209 = NAND(7073, 7152) +7212 = NAND(7075, 7153) +7215 = NOT(7076) +7216 = NAND(7076, 7079) +7217 = NOT(7080) +7218 = NAND(7080, 7083) +7219 = NAND(7085, 7158) +7222 = NAND(7087, 7159) +7225 = NAND(7089, 7160) +7228 = NOT(7090) +7229 = NAND(7090, 7093) +7236 = OR(7173, 7125) +7239 = OR(7174, 7126) +7242 = OR(7175, 7127) +7245 = OR(7176, 7040) +7250 = OR(7178, 7139) +7257 = OR(7179, 7140) +7260 = OR(7180, 7141) +7263 = OR(7181, 7064) +7268 = NAND(6792, 7183) +7269 = NAND(6795, 7185) +7270 = OR(4957, 7187, 3782) +7276 = OR(4958, 7188, 3783) +7282 = OR(4959, 7189, 3784) +7288 = OR(4961, 7196, 3787) +7294 = OR(3998, 7197, 3788) +7300 = NAND(7003, 7205) +7301 = NAND(7206, 7151) +7304 = OR(4980, 7207, 3800) +7310 = OR(4984, 7208, 3805) +7320 = NAND(6891, 7215) +7321 = NAND(6897, 7217) +7328 = NAND(6916, 7228) +7338 = AND(7190, 1185, 2692) +7339 = AND(7198, 2681, 2692) +7340 = AND(7190, 1247, 2767) +7341 = AND(7198, 2756, 2767) +7342 = AND(7190, 1327, 2790) +7349 = AND(7198, 2779, 2790) +7357 = AND(7198, 2801, 2812) +7363 = NOT(7198) +7364 = AND(7190, 1351, 2812) +7365 = NOT(7190) +7394 = NAND(7268, 7184) +7397 = NAND(7269, 7186) +7402 = NAND(7204, 7300) +7405 = NOT(7209) +7406 = NAND(7209, 6884) +7407 = NOT(7212) +7408 = NAND(7212, 6888) +7409 = NAND(7320, 7216) +7412 = NAND(7321, 7218) +7415 = NOT(7219) +7416 = NAND(7219, 6904) +7417 = NOT(7222) +7418 = NAND(7222, 6908) +7419 = NOT(7225) +7420 = NAND(7225, 6913) +7421 = NAND(7328, 7229) +7424 = NOT(7245) +7425 = NOT(7242) +7426 = NOT(7239) +7427 = NOT(7236) +7428 = NOT(7263) +7429 = NOT(7260) +7430 = NOT(7257) +7431 = NOT(7250) +7432 = NOT(7250) +7433 = AND(7310, 2653, 2664) +7434 = AND(7304, 1161, 2664) +7435 = OR(7011, 7338, 3621, 2591) +7436 = AND(7270, 1185, 2692) +7437 = AND(7288, 2681, 2692) +7438 = AND(7276, 1185, 2692) +7439 = AND(7294, 2681, 2692) +7440 = AND(7282, 1185, 2692) +7441 = AND(7310, 2728, 2739) +7442 = AND(7304, 1223, 2739) +7443 = OR(7012, 7340, 3632, 2600) +7444 = AND(7270, 1247, 2767) +7445 = AND(7288, 2756, 2767) +7446 = AND(7276, 1247, 2767) +7447 = AND(7294, 2756, 2767) +7448 = AND(7282, 1247, 2767) +7449 = OR(7013, 7342, 3641, 2605) +7450 = AND(7310, 3041, 3052) +7451 = AND(7304, 1697, 3052) +7452 = AND(7294, 2779, 2790) +7453 = AND(7282, 1327, 2790) +7454 = AND(7288, 2779, 2790) +7455 = AND(7276, 1327, 2790) +7456 = AND(7270, 1327, 2790) +7457 = AND(7310, 3075, 3086) +7458 = AND(7304, 1731, 3086) +7459 = AND(7294, 2801, 2812) +7460 = AND(7282, 1351, 2812) +7461 = AND(7288, 2801, 2812) +7462 = AND(7276, 1351, 2812) +7463 = AND(7270, 1351, 2812) +7464 = AND(7250, 603, 599) +7465 = NOT(7310) +7466 = NOT(7294) +7467 = NOT(7288) +7468 = NOT(7301) +7469 = OR(7016, 7364, 3660, 2626) +7470 = NOT(7304) +7471 = NOT(7282) +7472 = NOT(7276) +7473 = NOT(7270) +7474 = BUFF(7394) +7476 = BUFF(7397) +7479 = AND(7301, 3068) +7481 = AND(7245, 1793, 3158) +7482 = AND(7242, 1793, 3158) +7483 = AND(7239, 1793, 3158) +7484 = AND(7236, 1793, 3158) +7485 = AND(7263, 1807, 3180) +7486 = AND(7260, 1807, 3180) +7487 = AND(7257, 1807, 3180) +7488 = AND(7250, 1807, 3180) +7489 = NAND(6979, 7250) +7492 = NAND(6516, 7405) +7493 = NAND(6526, 7407) +7498 = NAND(6592, 7415) +7499 = NAND(6599, 7417) +7500 = NAND(6609, 7419) +7503 = AND(7105, 7166, 7167, 7168, 7169, 7424, 7425, 7426, 7427) +7504 = AND(6640, 7110, 7170, 7171, 7172, 7428, 7429, 7430, 7431) +7505 = OR(7433, 7434, 3616, 2585) +7506 = AND(7435, 2675) +7507 = OR(7339, 7436, 3622, 2592) +7508 = OR(7437, 7438, 3623, 2593) +7509 = OR(7439, 7440, 3624, 2594) +7510 = OR(7441, 7442, 3627, 2595) +7511 = AND(7443, 2750) +7512 = OR(7341, 7444, 3633, 2601) +7513 = OR(7445, 7446, 3634, 2602) +7514 = OR(7447, 7448, 3635, 2603) +7515 = OR(7450, 7451, 3646, 2610) +7516 = OR(7452, 7453, 3647, 2611) +7517 = OR(7454, 7455, 3648, 2612) +7518 = OR(7349, 7456, 3649, 2613) +7519 = OR(7457, 7458, 3654, 2618) +7520 = OR(7459, 7460, 3655, 2619) +7521 = OR(7461, 7462, 3656, 2620) +7522 = OR(7357, 7463, 3657, 2621) +7525 = OR(4741, 7114, 2624, 7464) +7526 = AND(7468, 3119, 3130) +7527 = NOT(7394) +7528 = NOT(7397) +7529 = NOT(7402) +7530 = AND(7402, 3068) +7531 = OR(4981, 7481, 3801) +7537 = OR(4982, 7482, 3802) +7543 = OR(4983, 7483, 3803) +7549 = OR(5165, 7484, 3804) +7555 = OR(4985, 7485, 3806) +7561 = OR(4986, 7486, 3807) +7567 = OR(4547, 7487, 3808) +7573 = OR(4987, 7488, 3809) +7579 = NAND(7492, 7406) +7582 = NAND(7493, 7408) +7585 = NOT(7409) +7586 = NAND(7409, 6894) +7587 = NOT(7412) +7588 = NAND(7412, 6900) +7589 = NAND(7498, 7416) +7592 = NAND(7499, 7418) +7595 = NAND(7500, 7420) +7598 = NOT(7421) +7599 = NAND(7421, 6919) +7600 = AND(7505, 2647) +7601 = AND(7507, 2675) +7602 = AND(7508, 2675) +7603 = AND(7509, 2675) +7604 = AND(7510, 2722) +7605 = AND(7512, 2750) +7606 = AND(7513, 2750) +7607 = AND(7514, 2750) +7624 = AND(6979, 7489) +7625 = AND(7489, 7250) +7626 = AND(1149, 7525) +7631 = AND(562, 7527, 7528, 6805, 6930) +7636 = AND(7529, 3097, 3108) +7657 = NAND(6539, 7585) +7658 = NAND(6556, 7587) +7665 = NAND(6622, 7598) +7666 = AND(7555, 2653, 2664) +7667 = AND(7531, 1161, 2664) +7668 = AND(7561, 2653, 2664) +7669 = AND(7537, 1161, 2664) +7670 = AND(7567, 2653, 2664) +7671 = AND(7543, 1161, 2664) +7672 = AND(7573, 2653, 2664) +7673 = AND(7549, 1161, 2664) +7674 = AND(7555, 2728, 2739) +7675 = AND(7531, 1223, 2739) +7676 = AND(7561, 2728, 2739) +7677 = AND(7537, 1223, 2739) +7678 = AND(7567, 2728, 2739) +7679 = AND(7543, 1223, 2739) +7680 = AND(7573, 2728, 2739) +7681 = AND(7549, 1223, 2739) +7682 = AND(7573, 3075, 3086) +7683 = AND(7549, 1731, 3086) +7684 = AND(7573, 3041, 3052) +7685 = AND(7549, 1697, 3052) +7686 = AND(7567, 3041, 3052) +7687 = AND(7543, 1697, 3052) +7688 = AND(7561, 3041, 3052) +7689 = AND(7537, 1697, 3052) +7690 = AND(7555, 3041, 3052) +7691 = AND(7531, 1697, 3052) +7692 = AND(7567, 3075, 3086) +7693 = AND(7543, 1731, 3086) +7694 = AND(7561, 3075, 3086) +7695 = AND(7537, 1731, 3086) +7696 = AND(7555, 3075, 3086) +7697 = AND(7531, 1731, 3086) +7698 = OR(7624, 7625) +7699 = NOT(7573) +7700 = NOT(7567) +7701 = NOT(7561) +7702 = NOT(7555) +7703 = AND(1156, 7631, 245) +7704 = NOT(7549) +7705 = NOT(7543) +7706 = NOT(7537) +7707 = NOT(7531) +7708 = NOT(7579) +7709 = NAND(7579, 6739) +7710 = NOT(7582) +7711 = NAND(7582, 6744) +7712 = NAND(7657, 7586) +7715 = NAND(7658, 7588) +7718 = NOT(7589) +7719 = NAND(7589, 6772) +7720 = NOT(7592) +7721 = NAND(7592, 6776) +7722 = NOT(7595) +7723 = NAND(7595, 5733) +7724 = NAND(7665, 7599) +7727 = OR(7666, 7667, 3617, 2586) +7728 = OR(7668, 7669, 3618, 2587) +7729 = OR(7670, 7671, 3619, 2588) +7730 = OR(7672, 7673, 3620, 2589) +7731 = OR(7674, 7675, 3628, 2596) +7732 = OR(7676, 7677, 3629, 2597) +7733 = OR(7678, 7679, 3630, 2598) +7734 = OR(7680, 7681, 3631, 2599) +7735 = OR(7682, 7683, 3638, 2604) +7736 = OR(7684, 7685, 3642, 2606) +7737 = OR(7686, 7687, 3643, 2607) +7738 = OR(7688, 7689, 3644, 2608) +7739 = OR(7690, 7691, 3645, 2609) +7740 = OR(7692, 7693, 3651, 2615) +7741 = OR(7694, 7695, 3652, 2616) +7742 = OR(7696, 7697, 3653, 2617) +7743 = NAND(6271, 7708) +7744 = NAND(6283, 7710) +7749 = NAND(6341, 7718) +7750 = NAND(6347, 7720) +7751 = NAND(5214, 7722) +7754 = AND(7727, 2647) +7755 = AND(7728, 2647) +7756 = AND(7729, 2647) +7757 = AND(7730, 2647) +7758 = AND(7731, 2722) +7759 = AND(7732, 2722) +7760 = AND(7733, 2722) +7761 = AND(7734, 2722) +7762 = NAND(7743, 7709) +7765 = NAND(7744, 7711) +7768 = NOT(7712) +7769 = NAND(7712, 6751) +7770 = NOT(7715) +7771 = NAND(7715, 6760) +7772 = NAND(7749, 7719) +7775 = NAND(7750, 7721) +7778 = NAND(7751, 7723) +7781 = NOT(7724) +7782 = NAND(7724, 5735) +7787 = NAND(6295, 7768) +7788 = NAND(6313, 7770) +7795 = NAND(5220, 7781) +7796 = NOT(7762) +7797 = NAND(7762, 6740) +7798 = NOT(7765) +7799 = NAND(7765, 6745) +7800 = NAND(7787, 7769) +7803 = NAND(7788, 7771) +7806 = NOT(7772) +7807 = NAND(7772, 6773) +7808 = NOT(7775) +7809 = NAND(7775, 6777) +7810 = NOT(7778) +7811 = NAND(7778, 6782) +7812 = NAND(7795, 7782) +7815 = NAND(6274, 7796) +7816 = NAND(6286, 7798) +7821 = NAND(6344, 7806) +7822 = NAND(6350, 7808) +7823 = NAND(6353, 7810) +7826 = NAND(7815, 7797) +7829 = NAND(7816, 7799) +7832 = NOT(7800) +7833 = NAND(7800, 6752) +7834 = NOT(7803) +7835 = NAND(7803, 6761) +7836 = NAND(7821, 7807) +7839 = NAND(7822, 7809) +7842 = NAND(7823, 7811) +7845 = NOT(7812) +7846 = NAND(7812, 6790) +7851 = NAND(6298, 7832) +7852 = NAND(6316, 7834) +7859 = NAND(6364, 7845) +7860 = NOT(7826) +7861 = NAND(7826, 6741) +7862 = NOT(7829) +7863 = NAND(7829, 6746) +7864 = NAND(7851, 7833) +7867 = NAND(7852, 7835) +7870 = NOT(7836) +7871 = NAND(7836, 5730) +7872 = NOT(7839) +7873 = NAND(7839, 5732) +7874 = NOT(7842) +7875 = NAND(7842, 6783) +7876 = NAND(7859, 7846) +7879 = NAND(6277, 7860) +7880 = NAND(6289, 7862) +7885 = NAND(5199, 7870) +7886 = NAND(5208, 7872) +7887 = NAND(6356, 7874) +7890 = NAND(7879, 7861) +7893 = NAND(7880, 7863) +7896 = NOT(7864) +7897 = NAND(7864, 6753) +7898 = NOT(7867) +7899 = NAND(7867, 6762) +7900 = NAND(7885, 7871) +7903 = NAND(7886, 7873) +7906 = NAND(7887, 7875) +7909 = NOT(7876) +7910 = NAND(7876, 6791) +7917 = NAND(6301, 7896) +7918 = NAND(6319, 7898) +7923 = NAND(6367, 7909) +7924 = NOT(7890) +7925 = NAND(7890, 6680) +7926 = NOT(7893) +7927 = NAND(7893, 6681) +7928 = NOT(7900) +7929 = NAND(7900, 5690) +7930 = NOT(7903) +7931 = NAND(7903, 5691) +7932 = NAND(7917, 7897) +7935 = NAND(7918, 7899) +7938 = NOT(7906) +7939 = NAND(7906, 6784) +7940 = NAND(7923, 7910) +7943 = NAND(6280, 7924) +7944 = NAND(6292, 7926) +7945 = NAND(5202, 7928) +7946 = NAND(5211, 7930) +7951 = NAND(6359, 7938) +7954 = NAND(7943, 7925) +7957 = NAND(7944, 7927) +7960 = NAND(7945, 7929) +7963 = NAND(7946, 7931) +7966 = NOT(7932) +7967 = NAND(7932, 6754) +7968 = NOT(7935) +7969 = NAND(7935, 6755) +7970 = NAND(7951, 7939) +7973 = NOT(7940) +7974 = NAND(7940, 6785) +7984 = NAND(6304, 7966) +7985 = NAND(6322, 7968) +7987 = NAND(6370, 7973) +7988 = AND(7957, 6831, 1157) +7989 = AND(7954, 6415, 1157) +7990 = AND(7957, 7041, 566) +7991 = AND(7954, 7177, 566) +7992 = NOT(7970) +7993 = NAND(7970, 6448) +7994 = AND(7963, 6857, 1219) +7995 = AND(7960, 6441, 1219) +7996 = AND(7963, 7065, 583) +7997 = AND(7960, 7182, 583) +7998 = NAND(7984, 7967) +8001 = NAND(7985, 7969) +8004 = NAND(7987, 7974) +8009 = NAND(6051, 7992) +8013 = OR(7988, 7989, 7990, 7991) +8017 = OR(7994, 7995, 7996, 7997) +8020 = NOT(7998) +8021 = NAND(7998, 6682) +8022 = NOT(8001) +8023 = NAND(8001, 6683) +8025 = NAND(8009, 7993) +8026 = NOT(8004) +8027 = NAND(8004, 6449) +8031 = NAND(6307, 8020) +8032 = NAND(6310, 8022) +8033 = NOT(8013) +8034 = NAND(6054, 8026) +8035 = AND(583, 8025) +8036 = NOT(8017) +8037 = NAND(8031, 8021) +8038 = NAND(8032, 8023) +8039 = NAND(8034, 8027) +8040 = NOT(8038) +8041 = AND(566, 8037) +8042 = NOT(8039) +8043 = AND(8040, 1157) +8044 = AND(8042, 1219) +8045 = OR(8043, 8041) +8048 = OR(8044, 8035) +8055 = NAND(8045, 8033) +8056 = NOT(8045) +8057 = NAND(8048, 8036) +8058 = NOT(8048) +8059 = NAND(8013, 8056) +8060 = NAND(8017, 8058) +8061 = NAND(8055, 8059) +8064 = NAND(8057, 8060) +8071 = AND(8064, 1777, 3130) +8072 = AND(8061, 1761, 3108) +8073 = NOT(8061) +8074 = NOT(8064) +8075 = OR(7526, 8071, 3659, 2625) +8076 = OR(7636, 8072, 3661, 2627) +8077 = AND(8073, 1727) +8078 = AND(8074, 1727) +8079 = OR(7530, 8077) +8082 = OR(7479, 8078) +8089 = AND(8079, 3063) +8090 = AND(8082, 3063) +8091 = AND(8079, 3063) +8092 = AND(8082, 3063) +8093 = OR(8089, 3071) +8096 = OR(8090, 3072) +8099 = OR(8091, 3073) +8102 = OR(8092, 3074) +8113 = AND(8102, 2779, 2790) +8114 = AND(8099, 1327, 2790) +8115 = AND(8102, 2801, 2812) +8116 = AND(8099, 1351, 2812) +8117 = AND(8096, 2681, 2692) +8118 = AND(8093, 1185, 2692) +8119 = AND(8096, 2756, 2767) +8120 = AND(8093, 1247, 2767) +8121 = OR(8117, 8118, 3662, 2703) +8122 = OR(8119, 8120, 3663, 2778) +8123 = OR(8113, 8114, 3650, 2614) +8124 = OR(8115, 8116, 3658, 2622) +8125 = AND(8121, 2675) +8126 = AND(8122, 2750) +8127 = NOT(8125) +8128 = NOT(8126) diff --git a/benchmarks/iscas85/c6288.bench b/benchmarks/iscas85/c6288.bench new file mode 100644 index 00000000..4a12d7aa --- /dev/null +++ b/benchmarks/iscas85/c6288.bench @@ -0,0 +1,2488 @@ +# c6288 +# 32 inputs +# 32 outputs +# 32 inverters +# 2384 gates ( 256 ANDs + 32 NANDs + 2128 NORs ) + +INPUT(1) +INPUT(18) +INPUT(35) +INPUT(52) +INPUT(69) +INPUT(86) +INPUT(103) +INPUT(120) +INPUT(137) +INPUT(154) +INPUT(171) +INPUT(188) +INPUT(205) +INPUT(222) +INPUT(239) +INPUT(256) +INPUT(273) +INPUT(290) +INPUT(307) +INPUT(324) +INPUT(341) +INPUT(358) +INPUT(375) +INPUT(392) +INPUT(409) +INPUT(426) +INPUT(443) +INPUT(460) +INPUT(477) +INPUT(494) +INPUT(511) +INPUT(528) + +OUTPUT(545) +OUTPUT(1581) +OUTPUT(1901) +OUTPUT(2223) +OUTPUT(2548) +OUTPUT(2877) +OUTPUT(3211) +OUTPUT(3552) +OUTPUT(3895) +OUTPUT(4241) +OUTPUT(4591) +OUTPUT(4946) +OUTPUT(5308) +OUTPUT(5672) +OUTPUT(5971) +OUTPUT(6123) +OUTPUT(6150) +OUTPUT(6160) +OUTPUT(6170) +OUTPUT(6180) +OUTPUT(6190) +OUTPUT(6200) +OUTPUT(6210) +OUTPUT(6220) +OUTPUT(6230) +OUTPUT(6240) +OUTPUT(6250) +OUTPUT(6260) +OUTPUT(6270) +OUTPUT(6280) +OUTPUT(6287) +OUTPUT(6288) + +545 = AND(1, 273) +546 = AND(1, 290) +549 = AND(1, 307) +552 = AND(1, 324) +555 = AND(1, 341) +558 = AND(1, 358) +561 = AND(1, 375) +564 = AND(1, 392) +567 = AND(1, 409) +570 = AND(1, 426) +573 = AND(1, 443) +576 = AND(1, 460) +579 = AND(1, 477) +582 = AND(1, 494) +585 = AND(1, 511) +588 = AND(1, 528) +591 = AND(18, 273) +594 = AND(18, 290) +597 = AND(18, 307) +600 = AND(18, 324) +603 = AND(18, 341) +606 = AND(18, 358) +609 = AND(18, 375) +612 = AND(18, 392) +615 = AND(18, 409) +618 = AND(18, 426) +621 = AND(18, 443) +624 = AND(18, 460) +627 = AND(18, 477) +630 = AND(18, 494) +633 = AND(18, 511) +636 = AND(18, 528) +639 = AND(35, 273) +642 = AND(35, 290) +645 = AND(35, 307) +648 = AND(35, 324) +651 = AND(35, 341) +654 = AND(35, 358) +657 = AND(35, 375) +660 = AND(35, 392) +663 = AND(35, 409) +666 = AND(35, 426) +669 = AND(35, 443) +672 = AND(35, 460) +675 = AND(35, 477) +678 = AND(35, 494) +681 = AND(35, 511) +684 = AND(35, 528) +687 = AND(52, 273) +690 = AND(52, 290) +693 = AND(52, 307) +696 = AND(52, 324) +699 = AND(52, 341) +702 = AND(52, 358) +705 = AND(52, 375) +708 = AND(52, 392) +711 = AND(52, 409) +714 = AND(52, 426) +717 = AND(52, 443) +720 = AND(52, 460) +723 = AND(52, 477) +726 = AND(52, 494) +729 = AND(52, 511) +732 = AND(52, 528) +735 = AND(69, 273) +738 = AND(69, 290) +741 = AND(69, 307) +744 = AND(69, 324) +747 = AND(69, 341) +750 = AND(69, 358) +753 = AND(69, 375) +756 = AND(69, 392) +759 = AND(69, 409) +762 = AND(69, 426) +765 = AND(69, 443) +768 = AND(69, 460) +771 = AND(69, 477) +774 = AND(69, 494) +777 = AND(69, 511) +780 = AND(69, 528) +783 = AND(86, 273) +786 = AND(86, 290) +789 = AND(86, 307) +792 = AND(86, 324) +795 = AND(86, 341) +798 = AND(86, 358) +801 = AND(86, 375) +804 = AND(86, 392) +807 = AND(86, 409) +810 = AND(86, 426) +813 = AND(86, 443) +816 = AND(86, 460) +819 = AND(86, 477) +822 = AND(86, 494) +825 = AND(86, 511) +828 = AND(86, 528) +831 = AND(103, 273) +834 = AND(103, 290) +837 = AND(103, 307) +840 = AND(103, 324) +843 = AND(103, 341) +846 = AND(103, 358) +849 = AND(103, 375) +852 = AND(103, 392) +855 = AND(103, 409) +858 = AND(103, 426) +861 = AND(103, 443) +864 = AND(103, 460) +867 = AND(103, 477) +870 = AND(103, 494) +873 = AND(103, 511) +876 = AND(103, 528) +879 = AND(120, 273) +882 = AND(120, 290) +885 = AND(120, 307) +888 = AND(120, 324) +891 = AND(120, 341) +894 = AND(120, 358) +897 = AND(120, 375) +900 = AND(120, 392) +903 = AND(120, 409) +906 = AND(120, 426) +909 = AND(120, 443) +912 = AND(120, 460) +915 = AND(120, 477) +918 = AND(120, 494) +921 = AND(120, 511) +924 = AND(120, 528) +927 = AND(137, 273) +930 = AND(137, 290) +933 = AND(137, 307) +936 = AND(137, 324) +939 = AND(137, 341) +942 = AND(137, 358) +945 = AND(137, 375) +948 = AND(137, 392) +951 = AND(137, 409) +954 = AND(137, 426) +957 = AND(137, 443) +960 = AND(137, 460) +963 = AND(137, 477) +966 = AND(137, 494) +969 = AND(137, 511) +972 = AND(137, 528) +975 = AND(154, 273) +978 = AND(154, 290) +981 = AND(154, 307) +984 = AND(154, 324) +987 = AND(154, 341) +990 = AND(154, 358) +993 = AND(154, 375) +996 = AND(154, 392) +999 = AND(154, 409) +1002 = AND(154, 426) +1005 = AND(154, 443) +1008 = AND(154, 460) +1011 = AND(154, 477) +1014 = AND(154, 494) +1017 = AND(154, 511) +1020 = AND(154, 528) +1023 = AND(171, 273) +1026 = AND(171, 290) +1029 = AND(171, 307) +1032 = AND(171, 324) +1035 = AND(171, 341) +1038 = AND(171, 358) +1041 = AND(171, 375) +1044 = AND(171, 392) +1047 = AND(171, 409) +1050 = AND(171, 426) +1053 = AND(171, 443) +1056 = AND(171, 460) +1059 = AND(171, 477) +1062 = AND(171, 494) +1065 = AND(171, 511) +1068 = AND(171, 528) +1071 = AND(188, 273) +1074 = AND(188, 290) +1077 = AND(188, 307) +1080 = AND(188, 324) +1083 = AND(188, 341) +1086 = AND(188, 358) +1089 = AND(188, 375) +1092 = AND(188, 392) +1095 = AND(188, 409) +1098 = AND(188, 426) +1101 = AND(188, 443) +1104 = AND(188, 460) +1107 = AND(188, 477) +1110 = AND(188, 494) +1113 = AND(188, 511) +1116 = AND(188, 528) +1119 = AND(205, 273) +1122 = AND(205, 290) +1125 = AND(205, 307) +1128 = AND(205, 324) +1131 = AND(205, 341) +1134 = AND(205, 358) +1137 = AND(205, 375) +1140 = AND(205, 392) +1143 = AND(205, 409) +1146 = AND(205, 426) +1149 = AND(205, 443) +1152 = AND(205, 460) +1155 = AND(205, 477) +1158 = AND(205, 494) +1161 = AND(205, 511) +1164 = AND(205, 528) +1167 = AND(222, 273) +1170 = AND(222, 290) +1173 = AND(222, 307) +1176 = AND(222, 324) +1179 = AND(222, 341) +1182 = AND(222, 358) +1185 = AND(222, 375) +1188 = AND(222, 392) +1191 = AND(222, 409) +1194 = AND(222, 426) +1197 = AND(222, 443) +1200 = AND(222, 460) +1203 = AND(222, 477) +1206 = AND(222, 494) +1209 = AND(222, 511) +1212 = AND(222, 528) +1215 = AND(239, 273) +1218 = AND(239, 290) +1221 = AND(239, 307) +1224 = AND(239, 324) +1227 = AND(239, 341) +1230 = AND(239, 358) +1233 = AND(239, 375) +1236 = AND(239, 392) +1239 = AND(239, 409) +1242 = AND(239, 426) +1245 = AND(239, 443) +1248 = AND(239, 460) +1251 = AND(239, 477) +1254 = AND(239, 494) +1257 = AND(239, 511) +1260 = AND(239, 528) +1263 = AND(256, 273) +1266 = AND(256, 290) +1269 = AND(256, 307) +1272 = AND(256, 324) +1275 = AND(256, 341) +1278 = AND(256, 358) +1281 = AND(256, 375) +1284 = AND(256, 392) +1287 = AND(256, 409) +1290 = AND(256, 426) +1293 = AND(256, 443) +1296 = AND(256, 460) +1299 = AND(256, 477) +1302 = AND(256, 494) +1305 = AND(256, 511) +1308 = AND(256, 528) +1311 = NOT(591) +1315 = NOT(639) +1319 = NOT(687) +1323 = NOT(735) +1327 = NOT(783) +1331 = NOT(831) +1335 = NOT(879) +1339 = NOT(927) +1343 = NOT(975) +1347 = NOT(1023) +1351 = NOT(1071) +1355 = NOT(1119) +1359 = NOT(1167) +1363 = NOT(1215) +1367 = NOT(1263) +1371 = NOR(591, 1311) +1372 = NOT(1311) +1373 = NOR(639, 1315) +1374 = NOT(1315) +1375 = NOR(687, 1319) +1376 = NOT(1319) +1377 = NOR(735, 1323) +1378 = NOT(1323) +1379 = NOR(783, 1327) +1380 = NOT(1327) +1381 = NOR(831, 1331) +1382 = NOT(1331) +1383 = NOR(879, 1335) +1384 = NOT(1335) +1385 = NOR(927, 1339) +1386 = NOT(1339) +1387 = NOR(975, 1343) +1388 = NOT(1343) +1389 = NOR(1023, 1347) +1390 = NOT(1347) +1391 = NOR(1071, 1351) +1392 = NOT(1351) +1393 = NOR(1119, 1355) +1394 = NOT(1355) +1395 = NOR(1167, 1359) +1396 = NOT(1359) +1397 = NOR(1215, 1363) +1398 = NOT(1363) +1399 = NOR(1263, 1367) +1400 = NOT(1367) +1401 = NOR(1371, 1372) +1404 = NOR(1373, 1374) +1407 = NOR(1375, 1376) +1410 = NOR(1377, 1378) +1413 = NOR(1379, 1380) +1416 = NOR(1381, 1382) +1419 = NOR(1383, 1384) +1422 = NOR(1385, 1386) +1425 = NOR(1387, 1388) +1428 = NOR(1389, 1390) +1431 = NOR(1391, 1392) +1434 = NOR(1393, 1394) +1437 = NOR(1395, 1396) +1440 = NOR(1397, 1398) +1443 = NOR(1399, 1400) +1446 = NOR(1401, 546) +1450 = NOR(1404, 594) +1454 = NOR(1407, 642) +1458 = NOR(1410, 690) +1462 = NOR(1413, 738) +1466 = NOR(1416, 786) +1470 = NOR(1419, 834) +1474 = NOR(1422, 882) +1478 = NOR(1425, 930) +1482 = NOR(1428, 978) +1486 = NOR(1431, 1026) +1490 = NOR(1434, 1074) +1494 = NOR(1437, 1122) +1498 = NOR(1440, 1170) +1502 = NOR(1443, 1218) +1506 = NOR(1401, 1446) +1507 = NOR(1446, 546) +1508 = NOR(1311, 1446) +1511 = NOR(1404, 1450) +1512 = NOR(1450, 594) +1513 = NOR(1315, 1450) +1516 = NOR(1407, 1454) +1517 = NOR(1454, 642) +1518 = NOR(1319, 1454) +1521 = NOR(1410, 1458) +1522 = NOR(1458, 690) +1523 = NOR(1323, 1458) +1526 = NOR(1413, 1462) +1527 = NOR(1462, 738) +1528 = NOR(1327, 1462) +1531 = NOR(1416, 1466) +1532 = NOR(1466, 786) +1533 = NOR(1331, 1466) +1536 = NOR(1419, 1470) +1537 = NOR(1470, 834) +1538 = NOR(1335, 1470) +1541 = NOR(1422, 1474) +1542 = NOR(1474, 882) +1543 = NOR(1339, 1474) +1546 = NOR(1425, 1478) +1547 = NOR(1478, 930) +1548 = NOR(1343, 1478) +1551 = NOR(1428, 1482) +1552 = NOR(1482, 978) +1553 = NOR(1347, 1482) +1556 = NOR(1431, 1486) +1557 = NOR(1486, 1026) +1558 = NOR(1351, 1486) +1561 = NOR(1434, 1490) +1562 = NOR(1490, 1074) +1563 = NOR(1355, 1490) +1566 = NOR(1437, 1494) +1567 = NOR(1494, 1122) +1568 = NOR(1359, 1494) +1571 = NOR(1440, 1498) +1572 = NOR(1498, 1170) +1573 = NOR(1363, 1498) +1576 = NOR(1443, 1502) +1577 = NOR(1502, 1218) +1578 = NOR(1367, 1502) +1581 = NOR(1506, 1507) +1582 = NOR(1511, 1512) +1585 = NOR(1516, 1517) +1588 = NOR(1521, 1522) +1591 = NOR(1526, 1527) +1594 = NOR(1531, 1532) +1597 = NOR(1536, 1537) +1600 = NOR(1541, 1542) +1603 = NOR(1546, 1547) +1606 = NOR(1551, 1552) +1609 = NOR(1556, 1557) +1612 = NOR(1561, 1562) +1615 = NOR(1566, 1567) +1618 = NOR(1571, 1572) +1621 = NOR(1576, 1577) +1624 = NOR(1266, 1578) +1628 = NOR(1582, 1508) +1632 = NOR(1585, 1513) +1636 = NOR(1588, 1518) +1640 = NOR(1591, 1523) +1644 = NOR(1594, 1528) +1648 = NOR(1597, 1533) +1652 = NOR(1600, 1538) +1656 = NOR(1603, 1543) +1660 = NOR(1606, 1548) +1664 = NOR(1609, 1553) +1668 = NOR(1612, 1558) +1672 = NOR(1615, 1563) +1676 = NOR(1618, 1568) +1680 = NOR(1621, 1573) +1684 = NOR(1266, 1624) +1685 = NOR(1624, 1578) +1686 = NOR(1582, 1628) +1687 = NOR(1628, 1508) +1688 = NOR(1585, 1632) +1689 = NOR(1632, 1513) +1690 = NOR(1588, 1636) +1691 = NOR(1636, 1518) +1692 = NOR(1591, 1640) +1693 = NOR(1640, 1523) +1694 = NOR(1594, 1644) +1695 = NOR(1644, 1528) +1696 = NOR(1597, 1648) +1697 = NOR(1648, 1533) +1698 = NOR(1600, 1652) +1699 = NOR(1652, 1538) +1700 = NOR(1603, 1656) +1701 = NOR(1656, 1543) +1702 = NOR(1606, 1660) +1703 = NOR(1660, 1548) +1704 = NOR(1609, 1664) +1705 = NOR(1664, 1553) +1706 = NOR(1612, 1668) +1707 = NOR(1668, 1558) +1708 = NOR(1615, 1672) +1709 = NOR(1672, 1563) +1710 = NOR(1618, 1676) +1711 = NOR(1676, 1568) +1712 = NOR(1621, 1680) +1713 = NOR(1680, 1573) +1714 = NOR(1684, 1685) +1717 = NOR(1686, 1687) +1720 = NOR(1688, 1689) +1723 = NOR(1690, 1691) +1726 = NOR(1692, 1693) +1729 = NOR(1694, 1695) +1732 = NOR(1696, 1697) +1735 = NOR(1698, 1699) +1738 = NOR(1700, 1701) +1741 = NOR(1702, 1703) +1744 = NOR(1704, 1705) +1747 = NOR(1706, 1707) +1750 = NOR(1708, 1709) +1753 = NOR(1710, 1711) +1756 = NOR(1712, 1713) +1759 = NOR(1714, 1221) +1763 = NOR(1717, 549) +1767 = NOR(1720, 597) +1771 = NOR(1723, 645) +1775 = NOR(1726, 693) +1779 = NOR(1729, 741) +1783 = NOR(1732, 789) +1787 = NOR(1735, 837) +1791 = NOR(1738, 885) +1795 = NOR(1741, 933) +1799 = NOR(1744, 981) +1803 = NOR(1747, 1029) +1807 = NOR(1750, 1077) +1811 = NOR(1753, 1125) +1815 = NOR(1756, 1173) +1819 = NOR(1714, 1759) +1820 = NOR(1759, 1221) +1821 = NOR(1624, 1759) +1824 = NOR(1717, 1763) +1825 = NOR(1763, 549) +1826 = NOR(1628, 1763) +1829 = NOR(1720, 1767) +1830 = NOR(1767, 597) +1831 = NOR(1632, 1767) +1834 = NOR(1723, 1771) +1835 = NOR(1771, 645) +1836 = NOR(1636, 1771) +1839 = NOR(1726, 1775) +1840 = NOR(1775, 693) +1841 = NOR(1640, 1775) +1844 = NOR(1729, 1779) +1845 = NOR(1779, 741) +1846 = NOR(1644, 1779) +1849 = NOR(1732, 1783) +1850 = NOR(1783, 789) +1851 = NOR(1648, 1783) +1854 = NOR(1735, 1787) +1855 = NOR(1787, 837) +1856 = NOR(1652, 1787) +1859 = NOR(1738, 1791) +1860 = NOR(1791, 885) +1861 = NOR(1656, 1791) +1864 = NOR(1741, 1795) +1865 = NOR(1795, 933) +1866 = NOR(1660, 1795) +1869 = NOR(1744, 1799) +1870 = NOR(1799, 981) +1871 = NOR(1664, 1799) +1874 = NOR(1747, 1803) +1875 = NOR(1803, 1029) +1876 = NOR(1668, 1803) +1879 = NOR(1750, 1807) +1880 = NOR(1807, 1077) +1881 = NOR(1672, 1807) +1884 = NOR(1753, 1811) +1885 = NOR(1811, 1125) +1886 = NOR(1676, 1811) +1889 = NOR(1756, 1815) +1890 = NOR(1815, 1173) +1891 = NOR(1680, 1815) +1894 = NOR(1819, 1820) +1897 = NOR(1269, 1821) +1901 = NOR(1824, 1825) +1902 = NOR(1829, 1830) +1905 = NOR(1834, 1835) +1908 = NOR(1839, 1840) +1911 = NOR(1844, 1845) +1914 = NOR(1849, 1850) +1917 = NOR(1854, 1855) +1920 = NOR(1859, 1860) +1923 = NOR(1864, 1865) +1926 = NOR(1869, 1870) +1929 = NOR(1874, 1875) +1932 = NOR(1879, 1880) +1935 = NOR(1884, 1885) +1938 = NOR(1889, 1890) +1941 = NOR(1894, 1891) +1945 = NOR(1269, 1897) +1946 = NOR(1897, 1821) +1947 = NOR(1902, 1826) +1951 = NOR(1905, 1831) +1955 = NOR(1908, 1836) +1959 = NOR(1911, 1841) +1963 = NOR(1914, 1846) +1967 = NOR(1917, 1851) +1971 = NOR(1920, 1856) +1975 = NOR(1923, 1861) +1979 = NOR(1926, 1866) +1983 = NOR(1929, 1871) +1987 = NOR(1932, 1876) +1991 = NOR(1935, 1881) +1995 = NOR(1938, 1886) +1999 = NOR(1894, 1941) +2000 = NOR(1941, 1891) +2001 = NOR(1945, 1946) +2004 = NOR(1902, 1947) +2005 = NOR(1947, 1826) +2006 = NOR(1905, 1951) +2007 = NOR(1951, 1831) +2008 = NOR(1908, 1955) +2009 = NOR(1955, 1836) +2010 = NOR(1911, 1959) +2011 = NOR(1959, 1841) +2012 = NOR(1914, 1963) +2013 = NOR(1963, 1846) +2014 = NOR(1917, 1967) +2015 = NOR(1967, 1851) +2016 = NOR(1920, 1971) +2017 = NOR(1971, 1856) +2018 = NOR(1923, 1975) +2019 = NOR(1975, 1861) +2020 = NOR(1926, 1979) +2021 = NOR(1979, 1866) +2022 = NOR(1929, 1983) +2023 = NOR(1983, 1871) +2024 = NOR(1932, 1987) +2025 = NOR(1987, 1876) +2026 = NOR(1935, 1991) +2027 = NOR(1991, 1881) +2028 = NOR(1938, 1995) +2029 = NOR(1995, 1886) +2030 = NOR(1999, 2000) +2033 = NOR(2001, 1224) +2037 = NOR(2004, 2005) +2040 = NOR(2006, 2007) +2043 = NOR(2008, 2009) +2046 = NOR(2010, 2011) +2049 = NOR(2012, 2013) +2052 = NOR(2014, 2015) +2055 = NOR(2016, 2017) +2058 = NOR(2018, 2019) +2061 = NOR(2020, 2021) +2064 = NOR(2022, 2023) +2067 = NOR(2024, 2025) +2070 = NOR(2026, 2027) +2073 = NOR(2028, 2029) +2076 = NOR(2030, 1176) +2080 = NOR(2001, 2033) +2081 = NOR(2033, 1224) +2082 = NOR(1897, 2033) +2085 = NOR(2037, 552) +2089 = NOR(2040, 600) +2093 = NOR(2043, 648) +2097 = NOR(2046, 696) +2101 = NOR(2049, 744) +2105 = NOR(2052, 792) +2109 = NOR(2055, 840) +2113 = NOR(2058, 888) +2117 = NOR(2061, 936) +2121 = NOR(2064, 984) +2125 = NOR(2067, 1032) +2129 = NOR(2070, 1080) +2133 = NOR(2073, 1128) +2137 = NOR(2030, 2076) +2138 = NOR(2076, 1176) +2139 = NOR(1941, 2076) +2142 = NOR(2080, 2081) +2145 = NOR(1272, 2082) +2149 = NOR(2037, 2085) +2150 = NOR(2085, 552) +2151 = NOR(1947, 2085) +2154 = NOR(2040, 2089) +2155 = NOR(2089, 600) +2156 = NOR(1951, 2089) +2159 = NOR(2043, 2093) +2160 = NOR(2093, 648) +2161 = NOR(1955, 2093) +2164 = NOR(2046, 2097) +2165 = NOR(2097, 696) +2166 = NOR(1959, 2097) +2169 = NOR(2049, 2101) +2170 = NOR(2101, 744) +2171 = NOR(1963, 2101) +2174 = NOR(2052, 2105) +2175 = NOR(2105, 792) +2176 = NOR(1967, 2105) +2179 = NOR(2055, 2109) +2180 = NOR(2109, 840) +2181 = NOR(1971, 2109) +2184 = NOR(2058, 2113) +2185 = NOR(2113, 888) +2186 = NOR(1975, 2113) +2189 = NOR(2061, 2117) +2190 = NOR(2117, 936) +2191 = NOR(1979, 2117) +2194 = NOR(2064, 2121) +2195 = NOR(2121, 984) +2196 = NOR(1983, 2121) +2199 = NOR(2067, 2125) +2200 = NOR(2125, 1032) +2201 = NOR(1987, 2125) +2204 = NOR(2070, 2129) +2205 = NOR(2129, 1080) +2206 = NOR(1991, 2129) +2209 = NOR(2073, 2133) +2210 = NOR(2133, 1128) +2211 = NOR(1995, 2133) +2214 = NOR(2137, 2138) +2217 = NOR(2142, 2139) +2221 = NOR(1272, 2145) +2222 = NOR(2145, 2082) +2223 = NOR(2149, 2150) +2224 = NOR(2154, 2155) +2227 = NOR(2159, 2160) +2230 = NOR(2164, 2165) +2233 = NOR(2169, 2170) +2236 = NOR(2174, 2175) +2239 = NOR(2179, 2180) +2242 = NOR(2184, 2185) +2245 = NOR(2189, 2190) +2248 = NOR(2194, 2195) +2251 = NOR(2199, 2200) +2254 = NOR(2204, 2205) +2257 = NOR(2209, 2210) +2260 = NOR(2214, 2211) +2264 = NOR(2142, 2217) +2265 = NOR(2217, 2139) +2266 = NOR(2221, 2222) +2269 = NOR(2224, 2151) +2273 = NOR(2227, 2156) +2277 = NOR(2230, 2161) +2281 = NOR(2233, 2166) +2285 = NOR(2236, 2171) +2289 = NOR(2239, 2176) +2293 = NOR(2242, 2181) +2297 = NOR(2245, 2186) +2301 = NOR(2248, 2191) +2305 = NOR(2251, 2196) +2309 = NOR(2254, 2201) +2313 = NOR(2257, 2206) +2317 = NOR(2214, 2260) +2318 = NOR(2260, 2211) +2319 = NOR(2264, 2265) +2322 = NOR(2266, 1227) +2326 = NOR(2224, 2269) +2327 = NOR(2269, 2151) +2328 = NOR(2227, 2273) +2329 = NOR(2273, 2156) +2330 = NOR(2230, 2277) +2331 = NOR(2277, 2161) +2332 = NOR(2233, 2281) +2333 = NOR(2281, 2166) +2334 = NOR(2236, 2285) +2335 = NOR(2285, 2171) +2336 = NOR(2239, 2289) +2337 = NOR(2289, 2176) +2338 = NOR(2242, 2293) +2339 = NOR(2293, 2181) +2340 = NOR(2245, 2297) +2341 = NOR(2297, 2186) +2342 = NOR(2248, 2301) +2343 = NOR(2301, 2191) +2344 = NOR(2251, 2305) +2345 = NOR(2305, 2196) +2346 = NOR(2254, 2309) +2347 = NOR(2309, 2201) +2348 = NOR(2257, 2313) +2349 = NOR(2313, 2206) +2350 = NOR(2317, 2318) +2353 = NOR(2319, 1179) +2357 = NOR(2266, 2322) +2358 = NOR(2322, 1227) +2359 = NOR(2145, 2322) +2362 = NOR(2326, 2327) +2365 = NOR(2328, 2329) +2368 = NOR(2330, 2331) +2371 = NOR(2332, 2333) +2374 = NOR(2334, 2335) +2377 = NOR(2336, 2337) +2380 = NOR(2338, 2339) +2383 = NOR(2340, 2341) +2386 = NOR(2342, 2343) +2389 = NOR(2344, 2345) +2392 = NOR(2346, 2347) +2395 = NOR(2348, 2349) +2398 = NOR(2350, 1131) +2402 = NOR(2319, 2353) +2403 = NOR(2353, 1179) +2404 = NOR(2217, 2353) +2407 = NOR(2357, 2358) +2410 = NOR(1275, 2359) +2414 = NOR(2362, 555) +2418 = NOR(2365, 603) +2422 = NOR(2368, 651) +2426 = NOR(2371, 699) +2430 = NOR(2374, 747) +2434 = NOR(2377, 795) +2438 = NOR(2380, 843) +2442 = NOR(2383, 891) +2446 = NOR(2386, 939) +2450 = NOR(2389, 987) +2454 = NOR(2392, 1035) +2458 = NOR(2395, 1083) +2462 = NOR(2350, 2398) +2463 = NOR(2398, 1131) +2464 = NOR(2260, 2398) +2467 = NOR(2402, 2403) +2470 = NOR(2407, 2404) +2474 = NOR(1275, 2410) +2475 = NOR(2410, 2359) +2476 = NOR(2362, 2414) +2477 = NOR(2414, 555) +2478 = NOR(2269, 2414) +2481 = NOR(2365, 2418) +2482 = NOR(2418, 603) +2483 = NOR(2273, 2418) +2486 = NOR(2368, 2422) +2487 = NOR(2422, 651) +2488 = NOR(2277, 2422) +2491 = NOR(2371, 2426) +2492 = NOR(2426, 699) +2493 = NOR(2281, 2426) +2496 = NOR(2374, 2430) +2497 = NOR(2430, 747) +2498 = NOR(2285, 2430) +2501 = NOR(2377, 2434) +2502 = NOR(2434, 795) +2503 = NOR(2289, 2434) +2506 = NOR(2380, 2438) +2507 = NOR(2438, 843) +2508 = NOR(2293, 2438) +2511 = NOR(2383, 2442) +2512 = NOR(2442, 891) +2513 = NOR(2297, 2442) +2516 = NOR(2386, 2446) +2517 = NOR(2446, 939) +2518 = NOR(2301, 2446) +2521 = NOR(2389, 2450) +2522 = NOR(2450, 987) +2523 = NOR(2305, 2450) +2526 = NOR(2392, 2454) +2527 = NOR(2454, 1035) +2528 = NOR(2309, 2454) +2531 = NOR(2395, 2458) +2532 = NOR(2458, 1083) +2533 = NOR(2313, 2458) +2536 = NOR(2462, 2463) +2539 = NOR(2467, 2464) +2543 = NOR(2407, 2470) +2544 = NOR(2470, 2404) +2545 = NOR(2474, 2475) +2548 = NOR(2476, 2477) +2549 = NOR(2481, 2482) +2552 = NOR(2486, 2487) +2555 = NOR(2491, 2492) +2558 = NOR(2496, 2497) +2561 = NOR(2501, 2502) +2564 = NOR(2506, 2507) +2567 = NOR(2511, 2512) +2570 = NOR(2516, 2517) +2573 = NOR(2521, 2522) +2576 = NOR(2526, 2527) +2579 = NOR(2531, 2532) +2582 = NOR(2536, 2533) +2586 = NOR(2467, 2539) +2587 = NOR(2539, 2464) +2588 = NOR(2543, 2544) +2591 = NOR(2545, 1230) +2595 = NOR(2549, 2478) +2599 = NOR(2552, 2483) +2603 = NOR(2555, 2488) +2607 = NOR(2558, 2493) +2611 = NOR(2561, 2498) +2615 = NOR(2564, 2503) +2619 = NOR(2567, 2508) +2623 = NOR(2570, 2513) +2627 = NOR(2573, 2518) +2631 = NOR(2576, 2523) +2635 = NOR(2579, 2528) +2639 = NOR(2536, 2582) +2640 = NOR(2582, 2533) +2641 = NOR(2586, 2587) +2644 = NOR(2588, 1182) +2648 = NOR(2545, 2591) +2649 = NOR(2591, 1230) +2650 = NOR(2410, 2591) +2653 = NOR(2549, 2595) +2654 = NOR(2595, 2478) +2655 = NOR(2552, 2599) +2656 = NOR(2599, 2483) +2657 = NOR(2555, 2603) +2658 = NOR(2603, 2488) +2659 = NOR(2558, 2607) +2660 = NOR(2607, 2493) +2661 = NOR(2561, 2611) +2662 = NOR(2611, 2498) +2663 = NOR(2564, 2615) +2664 = NOR(2615, 2503) +2665 = NOR(2567, 2619) +2666 = NOR(2619, 2508) +2667 = NOR(2570, 2623) +2668 = NOR(2623, 2513) +2669 = NOR(2573, 2627) +2670 = NOR(2627, 2518) +2671 = NOR(2576, 2631) +2672 = NOR(2631, 2523) +2673 = NOR(2579, 2635) +2674 = NOR(2635, 2528) +2675 = NOR(2639, 2640) +2678 = NOR(2641, 1134) +2682 = NOR(2588, 2644) +2683 = NOR(2644, 1182) +2684 = NOR(2470, 2644) +2687 = NOR(2648, 2649) +2690 = NOR(1278, 2650) +2694 = NOR(2653, 2654) +2697 = NOR(2655, 2656) +2700 = NOR(2657, 2658) +2703 = NOR(2659, 2660) +2706 = NOR(2661, 2662) +2709 = NOR(2663, 2664) +2712 = NOR(2665, 2666) +2715 = NOR(2667, 2668) +2718 = NOR(2669, 2670) +2721 = NOR(2671, 2672) +2724 = NOR(2673, 2674) +2727 = NOR(2675, 1086) +2731 = NOR(2641, 2678) +2732 = NOR(2678, 1134) +2733 = NOR(2539, 2678) +2736 = NOR(2682, 2683) +2739 = NOR(2687, 2684) +2743 = NOR(1278, 2690) +2744 = NOR(2690, 2650) +2745 = NOR(2694, 558) +2749 = NOR(2697, 606) +2753 = NOR(2700, 654) +2757 = NOR(2703, 702) +2761 = NOR(2706, 750) +2765 = NOR(2709, 798) +2769 = NOR(2712, 846) +2773 = NOR(2715, 894) +2777 = NOR(2718, 942) +2781 = NOR(2721, 990) +2785 = NOR(2724, 1038) +2789 = NOR(2675, 2727) +2790 = NOR(2727, 1086) +2791 = NOR(2582, 2727) +2794 = NOR(2731, 2732) +2797 = NOR(2736, 2733) +2801 = NOR(2687, 2739) +2802 = NOR(2739, 2684) +2803 = NOR(2743, 2744) +2806 = NOR(2694, 2745) +2807 = NOR(2745, 558) +2808 = NOR(2595, 2745) +2811 = NOR(2697, 2749) +2812 = NOR(2749, 606) +2813 = NOR(2599, 2749) +2816 = NOR(2700, 2753) +2817 = NOR(2753, 654) +2818 = NOR(2603, 2753) +2821 = NOR(2703, 2757) +2822 = NOR(2757, 702) +2823 = NOR(2607, 2757) +2826 = NOR(2706, 2761) +2827 = NOR(2761, 750) +2828 = NOR(2611, 2761) +2831 = NOR(2709, 2765) +2832 = NOR(2765, 798) +2833 = NOR(2615, 2765) +2836 = NOR(2712, 2769) +2837 = NOR(2769, 846) +2838 = NOR(2619, 2769) +2841 = NOR(2715, 2773) +2842 = NOR(2773, 894) +2843 = NOR(2623, 2773) +2846 = NOR(2718, 2777) +2847 = NOR(2777, 942) +2848 = NOR(2627, 2777) +2851 = NOR(2721, 2781) +2852 = NOR(2781, 990) +2853 = NOR(2631, 2781) +2856 = NOR(2724, 2785) +2857 = NOR(2785, 1038) +2858 = NOR(2635, 2785) +2861 = NOR(2789, 2790) +2864 = NOR(2794, 2791) +2868 = NOR(2736, 2797) +2869 = NOR(2797, 2733) +2870 = NOR(2801, 2802) +2873 = NOR(2803, 1233) +2877 = NOR(2806, 2807) +2878 = NOR(2811, 2812) +2881 = NOR(2816, 2817) +2884 = NOR(2821, 2822) +2887 = NOR(2826, 2827) +2890 = NOR(2831, 2832) +2893 = NOR(2836, 2837) +2896 = NOR(2841, 2842) +2899 = NOR(2846, 2847) +2902 = NOR(2851, 2852) +2905 = NOR(2856, 2857) +2908 = NOR(2861, 2858) +2912 = NOR(2794, 2864) +2913 = NOR(2864, 2791) +2914 = NOR(2868, 2869) +2917 = NOR(2870, 1185) +2921 = NOR(2803, 2873) +2922 = NOR(2873, 1233) +2923 = NOR(2690, 2873) +2926 = NOR(2878, 2808) +2930 = NOR(2881, 2813) +2934 = NOR(2884, 2818) +2938 = NOR(2887, 2823) +2942 = NOR(2890, 2828) +2946 = NOR(2893, 2833) +2950 = NOR(2896, 2838) +2954 = NOR(2899, 2843) +2958 = NOR(2902, 2848) +2962 = NOR(2905, 2853) +2966 = NOR(2861, 2908) +2967 = NOR(2908, 2858) +2968 = NOR(2912, 2913) +2971 = NOR(2914, 1137) +2975 = NOR(2870, 2917) +2976 = NOR(2917, 1185) +2977 = NOR(2739, 2917) +2980 = NOR(2921, 2922) +2983 = NOR(1281, 2923) +2987 = NOR(2878, 2926) +2988 = NOR(2926, 2808) +2989 = NOR(2881, 2930) +2990 = NOR(2930, 2813) +2991 = NOR(2884, 2934) +2992 = NOR(2934, 2818) +2993 = NOR(2887, 2938) +2994 = NOR(2938, 2823) +2995 = NOR(2890, 2942) +2996 = NOR(2942, 2828) +2997 = NOR(2893, 2946) +2998 = NOR(2946, 2833) +2999 = NOR(2896, 2950) +3000 = NOR(2950, 2838) +3001 = NOR(2899, 2954) +3002 = NOR(2954, 2843) +3003 = NOR(2902, 2958) +3004 = NOR(2958, 2848) +3005 = NOR(2905, 2962) +3006 = NOR(2962, 2853) +3007 = NOR(2966, 2967) +3010 = NOR(2968, 1089) +3014 = NOR(2914, 2971) +3015 = NOR(2971, 1137) +3016 = NOR(2797, 2971) +3019 = NOR(2975, 2976) +3022 = NOR(2980, 2977) +3026 = NOR(1281, 2983) +3027 = NOR(2983, 2923) +3028 = NOR(2987, 2988) +3031 = NOR(2989, 2990) +3034 = NOR(2991, 2992) +3037 = NOR(2993, 2994) +3040 = NOR(2995, 2996) +3043 = NOR(2997, 2998) +3046 = NOR(2999, 3000) +3049 = NOR(3001, 3002) +3052 = NOR(3003, 3004) +3055 = NOR(3005, 3006) +3058 = NOR(3007, 1041) +3062 = NOR(2968, 3010) +3063 = NOR(3010, 1089) +3064 = NOR(2864, 3010) +3067 = NOR(3014, 3015) +3070 = NOR(3019, 3016) +3074 = NOR(2980, 3022) +3075 = NOR(3022, 2977) +3076 = NOR(3026, 3027) +3079 = NOR(3028, 561) +3083 = NOR(3031, 609) +3087 = NOR(3034, 657) +3091 = NOR(3037, 705) +3095 = NOR(3040, 753) +3099 = NOR(3043, 801) +3103 = NOR(3046, 849) +3107 = NOR(3049, 897) +3111 = NOR(3052, 945) +3115 = NOR(3055, 993) +3119 = NOR(3007, 3058) +3120 = NOR(3058, 1041) +3121 = NOR(2908, 3058) +3124 = NOR(3062, 3063) +3127 = NOR(3067, 3064) +3131 = NOR(3019, 3070) +3132 = NOR(3070, 3016) +3133 = NOR(3074, 3075) +3136 = NOR(3076, 1236) +3140 = NOR(3028, 3079) +3141 = NOR(3079, 561) +3142 = NOR(2926, 3079) +3145 = NOR(3031, 3083) +3146 = NOR(3083, 609) +3147 = NOR(2930, 3083) +3150 = NOR(3034, 3087) +3151 = NOR(3087, 657) +3152 = NOR(2934, 3087) +3155 = NOR(3037, 3091) +3156 = NOR(3091, 705) +3157 = NOR(2938, 3091) +3160 = NOR(3040, 3095) +3161 = NOR(3095, 753) +3162 = NOR(2942, 3095) +3165 = NOR(3043, 3099) +3166 = NOR(3099, 801) +3167 = NOR(2946, 3099) +3170 = NOR(3046, 3103) +3171 = NOR(3103, 849) +3172 = NOR(2950, 3103) +3175 = NOR(3049, 3107) +3176 = NOR(3107, 897) +3177 = NOR(2954, 3107) +3180 = NOR(3052, 3111) +3181 = NOR(3111, 945) +3182 = NOR(2958, 3111) +3185 = NOR(3055, 3115) +3186 = NOR(3115, 993) +3187 = NOR(2962, 3115) +3190 = NOR(3119, 3120) +3193 = NOR(3124, 3121) +3197 = NOR(3067, 3127) +3198 = NOR(3127, 3064) +3199 = NOR(3131, 3132) +3202 = NOR(3133, 1188) +3206 = NOR(3076, 3136) +3207 = NOR(3136, 1236) +3208 = NOR(2983, 3136) +3211 = NOR(3140, 3141) +3212 = NOR(3145, 3146) +3215 = NOR(3150, 3151) +3218 = NOR(3155, 3156) +3221 = NOR(3160, 3161) +3224 = NOR(3165, 3166) +3227 = NOR(3170, 3171) +3230 = NOR(3175, 3176) +3233 = NOR(3180, 3181) +3236 = NOR(3185, 3186) +3239 = NOR(3190, 3187) +3243 = NOR(3124, 3193) +3244 = NOR(3193, 3121) +3245 = NOR(3197, 3198) +3248 = NOR(3199, 1140) +3252 = NOR(3133, 3202) +3253 = NOR(3202, 1188) +3254 = NOR(3022, 3202) +3257 = NOR(3206, 3207) +3260 = NOR(1284, 3208) +3264 = NOR(3212, 3142) +3268 = NOR(3215, 3147) +3272 = NOR(3218, 3152) +3276 = NOR(3221, 3157) +3280 = NOR(3224, 3162) +3284 = NOR(3227, 3167) +3288 = NOR(3230, 3172) +3292 = NOR(3233, 3177) +3296 = NOR(3236, 3182) +3300 = NOR(3190, 3239) +3301 = NOR(3239, 3187) +3302 = NOR(3243, 3244) +3305 = NOR(3245, 1092) +3309 = NOR(3199, 3248) +3310 = NOR(3248, 1140) +3311 = NOR(3070, 3248) +3314 = NOR(3252, 3253) +3317 = NOR(3257, 3254) +3321 = NOR(1284, 3260) +3322 = NOR(3260, 3208) +3323 = NOR(3212, 3264) +3324 = NOR(3264, 3142) +3325 = NOR(3215, 3268) +3326 = NOR(3268, 3147) +3327 = NOR(3218, 3272) +3328 = NOR(3272, 3152) +3329 = NOR(3221, 3276) +3330 = NOR(3276, 3157) +3331 = NOR(3224, 3280) +3332 = NOR(3280, 3162) +3333 = NOR(3227, 3284) +3334 = NOR(3284, 3167) +3335 = NOR(3230, 3288) +3336 = NOR(3288, 3172) +3337 = NOR(3233, 3292) +3338 = NOR(3292, 3177) +3339 = NOR(3236, 3296) +3340 = NOR(3296, 3182) +3341 = NOR(3300, 3301) +3344 = NOR(3302, 1044) +3348 = NOR(3245, 3305) +3349 = NOR(3305, 1092) +3350 = NOR(3127, 3305) +3353 = NOR(3309, 3310) +3356 = NOR(3314, 3311) +3360 = NOR(3257, 3317) +3361 = NOR(3317, 3254) +3362 = NOR(3321, 3322) +3365 = NOR(3323, 3324) +3368 = NOR(3325, 3326) +3371 = NOR(3327, 3328) +3374 = NOR(3329, 3330) +3377 = NOR(3331, 3332) +3380 = NOR(3333, 3334) +3383 = NOR(3335, 3336) +3386 = NOR(3337, 3338) +3389 = NOR(3339, 3340) +3392 = NOR(3341, 996) +3396 = NOR(3302, 3344) +3397 = NOR(3344, 1044) +3398 = NOR(3193, 3344) +3401 = NOR(3348, 3349) +3404 = NOR(3353, 3350) +3408 = NOR(3314, 3356) +3409 = NOR(3356, 3311) +3410 = NOR(3360, 3361) +3413 = NOR(3362, 1239) +3417 = NOR(3365, 564) +3421 = NOR(3368, 612) +3425 = NOR(3371, 660) +3429 = NOR(3374, 708) +3433 = NOR(3377, 756) +3437 = NOR(3380, 804) +3441 = NOR(3383, 852) +3445 = NOR(3386, 900) +3449 = NOR(3389, 948) +3453 = NOR(3341, 3392) +3454 = NOR(3392, 996) +3455 = NOR(3239, 3392) +3458 = NOR(3396, 3397) +3461 = NOR(3401, 3398) +3465 = NOR(3353, 3404) +3466 = NOR(3404, 3350) +3467 = NOR(3408, 3409) +3470 = NOR(3410, 1191) +3474 = NOR(3362, 3413) +3475 = NOR(3413, 1239) +3476 = NOR(3260, 3413) +3479 = NOR(3365, 3417) +3480 = NOR(3417, 564) +3481 = NOR(3264, 3417) +3484 = NOR(3368, 3421) +3485 = NOR(3421, 612) +3486 = NOR(3268, 3421) +3489 = NOR(3371, 3425) +3490 = NOR(3425, 660) +3491 = NOR(3272, 3425) +3494 = NOR(3374, 3429) +3495 = NOR(3429, 708) +3496 = NOR(3276, 3429) +3499 = NOR(3377, 3433) +3500 = NOR(3433, 756) +3501 = NOR(3280, 3433) +3504 = NOR(3380, 3437) +3505 = NOR(3437, 804) +3506 = NOR(3284, 3437) +3509 = NOR(3383, 3441) +3510 = NOR(3441, 852) +3511 = NOR(3288, 3441) +3514 = NOR(3386, 3445) +3515 = NOR(3445, 900) +3516 = NOR(3292, 3445) +3519 = NOR(3389, 3449) +3520 = NOR(3449, 948) +3521 = NOR(3296, 3449) +3524 = NOR(3453, 3454) +3527 = NOR(3458, 3455) +3531 = NOR(3401, 3461) +3532 = NOR(3461, 3398) +3533 = NOR(3465, 3466) +3536 = NOR(3467, 1143) +3540 = NOR(3410, 3470) +3541 = NOR(3470, 1191) +3542 = NOR(3317, 3470) +3545 = NOR(3474, 3475) +3548 = NOR(1287, 3476) +3552 = NOR(3479, 3480) +3553 = NOR(3484, 3485) +3556 = NOR(3489, 3490) +3559 = NOR(3494, 3495) +3562 = NOR(3499, 3500) +3565 = NOR(3504, 3505) +3568 = NOR(3509, 3510) +3571 = NOR(3514, 3515) +3574 = NOR(3519, 3520) +3577 = NOR(3524, 3521) +3581 = NOR(3458, 3527) +3582 = NOR(3527, 3455) +3583 = NOR(3531, 3532) +3586 = NOR(3533, 1095) +3590 = NOR(3467, 3536) +3591 = NOR(3536, 1143) +3592 = NOR(3356, 3536) +3595 = NOR(3540, 3541) +3598 = NOR(3545, 3542) +3602 = NOR(1287, 3548) +3603 = NOR(3548, 3476) +3604 = NOR(3553, 3481) +3608 = NOR(3556, 3486) +3612 = NOR(3559, 3491) +3616 = NOR(3562, 3496) +3620 = NOR(3565, 3501) +3624 = NOR(3568, 3506) +3628 = NOR(3571, 3511) +3632 = NOR(3574, 3516) +3636 = NOR(3524, 3577) +3637 = NOR(3577, 3521) +3638 = NOR(3581, 3582) +3641 = NOR(3583, 1047) +3645 = NOR(3533, 3586) +3646 = NOR(3586, 1095) +3647 = NOR(3404, 3586) +3650 = NOR(3590, 3591) +3653 = NOR(3595, 3592) +3657 = NOR(3545, 3598) +3658 = NOR(3598, 3542) +3659 = NOR(3602, 3603) +3662 = NOR(3553, 3604) +3663 = NOR(3604, 3481) +3664 = NOR(3556, 3608) +3665 = NOR(3608, 3486) +3666 = NOR(3559, 3612) +3667 = NOR(3612, 3491) +3668 = NOR(3562, 3616) +3669 = NOR(3616, 3496) +3670 = NOR(3565, 3620) +3671 = NOR(3620, 3501) +3672 = NOR(3568, 3624) +3673 = NOR(3624, 3506) +3674 = NOR(3571, 3628) +3675 = NOR(3628, 3511) +3676 = NOR(3574, 3632) +3677 = NOR(3632, 3516) +3678 = NOR(3636, 3637) +3681 = NOR(3638, 999) +3685 = NOR(3583, 3641) +3686 = NOR(3641, 1047) +3687 = NOR(3461, 3641) +3690 = NOR(3645, 3646) +3693 = NOR(3650, 3647) +3697 = NOR(3595, 3653) +3698 = NOR(3653, 3592) +3699 = NOR(3657, 3658) +3702 = NOR(3659, 1242) +3706 = NOR(3662, 3663) +3709 = NOR(3664, 3665) +3712 = NOR(3666, 3667) +3715 = NOR(3668, 3669) +3718 = NOR(3670, 3671) +3721 = NOR(3672, 3673) +3724 = NOR(3674, 3675) +3727 = NOR(3676, 3677) +3730 = NOR(3678, 951) +3734 = NOR(3638, 3681) +3735 = NOR(3681, 999) +3736 = NOR(3527, 3681) +3739 = NOR(3685, 3686) +3742 = NOR(3690, 3687) +3746 = NOR(3650, 3693) +3747 = NOR(3693, 3647) +3748 = NOR(3697, 3698) +3751 = NOR(3699, 1194) +3755 = NOR(3659, 3702) +3756 = NOR(3702, 1242) +3757 = NOR(3548, 3702) +3760 = NOR(3706, 567) +3764 = NOR(3709, 615) +3768 = NOR(3712, 663) +3772 = NOR(3715, 711) +3776 = NOR(3718, 759) +3780 = NOR(3721, 807) +3784 = NOR(3724, 855) +3788 = NOR(3727, 903) +3792 = NOR(3678, 3730) +3793 = NOR(3730, 951) +3794 = NOR(3577, 3730) +3797 = NOR(3734, 3735) +3800 = NOR(3739, 3736) +3804 = NOR(3690, 3742) +3805 = NOR(3742, 3687) +3806 = NOR(3746, 3747) +3809 = NOR(3748, 1146) +3813 = NOR(3699, 3751) +3814 = NOR(3751, 1194) +3815 = NOR(3598, 3751) +3818 = NOR(3755, 3756) +3821 = NOR(1290, 3757) +3825 = NOR(3706, 3760) +3826 = NOR(3760, 567) +3827 = NOR(3604, 3760) +3830 = NOR(3709, 3764) +3831 = NOR(3764, 615) +3832 = NOR(3608, 3764) +3835 = NOR(3712, 3768) +3836 = NOR(3768, 663) +3837 = NOR(3612, 3768) +3840 = NOR(3715, 3772) +3841 = NOR(3772, 711) +3842 = NOR(3616, 3772) +3845 = NOR(3718, 3776) +3846 = NOR(3776, 759) +3847 = NOR(3620, 3776) +3850 = NOR(3721, 3780) +3851 = NOR(3780, 807) +3852 = NOR(3624, 3780) +3855 = NOR(3724, 3784) +3856 = NOR(3784, 855) +3857 = NOR(3628, 3784) +3860 = NOR(3727, 3788) +3861 = NOR(3788, 903) +3862 = NOR(3632, 3788) +3865 = NOR(3792, 3793) +3868 = NOR(3797, 3794) +3872 = NOR(3739, 3800) +3873 = NOR(3800, 3736) +3874 = NOR(3804, 3805) +3877 = NOR(3806, 1098) +3881 = NOR(3748, 3809) +3882 = NOR(3809, 1146) +3883 = NOR(3653, 3809) +3886 = NOR(3813, 3814) +3889 = NOR(3818, 3815) +3893 = NOR(1290, 3821) +3894 = NOR(3821, 3757) +3895 = NOR(3825, 3826) +3896 = NOR(3830, 3831) +3899 = NOR(3835, 3836) +3902 = NOR(3840, 3841) +3905 = NOR(3845, 3846) +3908 = NOR(3850, 3851) +3911 = NOR(3855, 3856) +3914 = NOR(3860, 3861) +3917 = NOR(3865, 3862) +3921 = NOR(3797, 3868) +3922 = NOR(3868, 3794) +3923 = NOR(3872, 3873) +3926 = NOR(3874, 1050) +3930 = NOR(3806, 3877) +3931 = NOR(3877, 1098) +3932 = NOR(3693, 3877) +3935 = NOR(3881, 3882) +3938 = NOR(3886, 3883) +3942 = NOR(3818, 3889) +3943 = NOR(3889, 3815) +3944 = NOR(3893, 3894) +3947 = NOR(3896, 3827) +3951 = NOR(3899, 3832) +3955 = NOR(3902, 3837) +3959 = NOR(3905, 3842) +3963 = NOR(3908, 3847) +3967 = NOR(3911, 3852) +3971 = NOR(3914, 3857) +3975 = NOR(3865, 3917) +3976 = NOR(3917, 3862) +3977 = NOR(3921, 3922) +3980 = NOR(3923, 1002) +3984 = NOR(3874, 3926) +3985 = NOR(3926, 1050) +3986 = NOR(3742, 3926) +3989 = NOR(3930, 3931) +3992 = NOR(3935, 3932) +3996 = NOR(3886, 3938) +3997 = NOR(3938, 3883) +3998 = NOR(3942, 3943) +4001 = NOR(3944, 1245) +4005 = NOR(3896, 3947) +4006 = NOR(3947, 3827) +4007 = NOR(3899, 3951) +4008 = NOR(3951, 3832) +4009 = NOR(3902, 3955) +4010 = NOR(3955, 3837) +4011 = NOR(3905, 3959) +4012 = NOR(3959, 3842) +4013 = NOR(3908, 3963) +4014 = NOR(3963, 3847) +4015 = NOR(3911, 3967) +4016 = NOR(3967, 3852) +4017 = NOR(3914, 3971) +4018 = NOR(3971, 3857) +4019 = NOR(3975, 3976) +4022 = NOR(3977, 954) +4026 = NOR(3923, 3980) +4027 = NOR(3980, 1002) +4028 = NOR(3800, 3980) +4031 = NOR(3984, 3985) +4034 = NOR(3989, 3986) +4038 = NOR(3935, 3992) +4039 = NOR(3992, 3932) +4040 = NOR(3996, 3997) +4043 = NOR(3998, 1197) +4047 = NOR(3944, 4001) +4048 = NOR(4001, 1245) +4049 = NOR(3821, 4001) +4052 = NOR(4005, 4006) +4055 = NOR(4007, 4008) +4058 = NOR(4009, 4010) +4061 = NOR(4011, 4012) +4064 = NOR(4013, 4014) +4067 = NOR(4015, 4016) +4070 = NOR(4017, 4018) +4073 = NOR(4019, 906) +4077 = NOR(3977, 4022) +4078 = NOR(4022, 954) +4079 = NOR(3868, 4022) +4082 = NOR(4026, 4027) +4085 = NOR(4031, 4028) +4089 = NOR(3989, 4034) +4090 = NOR(4034, 3986) +4091 = NOR(4038, 4039) +4094 = NOR(4040, 1149) +4098 = NOR(3998, 4043) +4099 = NOR(4043, 1197) +4100 = NOR(3889, 4043) +4103 = NOR(4047, 4048) +4106 = NOR(1293, 4049) +4110 = NOR(4052, 570) +4114 = NOR(4055, 618) +4118 = NOR(4058, 666) +4122 = NOR(4061, 714) +4126 = NOR(4064, 762) +4130 = NOR(4067, 810) +4134 = NOR(4070, 858) +4138 = NOR(4019, 4073) +4139 = NOR(4073, 906) +4140 = NOR(3917, 4073) +4143 = NOR(4077, 4078) +4146 = NOR(4082, 4079) +4150 = NOR(4031, 4085) +4151 = NOR(4085, 4028) +4152 = NOR(4089, 4090) +4155 = NOR(4091, 1101) +4159 = NOR(4040, 4094) +4160 = NOR(4094, 1149) +4161 = NOR(3938, 4094) +4164 = NOR(4098, 4099) +4167 = NOR(4103, 4100) +4171 = NOR(1293, 4106) +4172 = NOR(4106, 4049) +4173 = NOR(4052, 4110) +4174 = NOR(4110, 570) +4175 = NOR(3947, 4110) +4178 = NOR(4055, 4114) +4179 = NOR(4114, 618) +4180 = NOR(3951, 4114) +4183 = NOR(4058, 4118) +4184 = NOR(4118, 666) +4185 = NOR(3955, 4118) +4188 = NOR(4061, 4122) +4189 = NOR(4122, 714) +4190 = NOR(3959, 4122) +4193 = NOR(4064, 4126) +4194 = NOR(4126, 762) +4195 = NOR(3963, 4126) +4198 = NOR(4067, 4130) +4199 = NOR(4130, 810) +4200 = NOR(3967, 4130) +4203 = NOR(4070, 4134) +4204 = NOR(4134, 858) +4205 = NOR(3971, 4134) +4208 = NOR(4138, 4139) +4211 = NOR(4143, 4140) +4215 = NOR(4082, 4146) +4216 = NOR(4146, 4079) +4217 = NOR(4150, 4151) +4220 = NOR(4152, 1053) +4224 = NOR(4091, 4155) +4225 = NOR(4155, 1101) +4226 = NOR(3992, 4155) +4229 = NOR(4159, 4160) +4232 = NOR(4164, 4161) +4236 = NOR(4103, 4167) +4237 = NOR(4167, 4100) +4238 = NOR(4171, 4172) +4241 = NOR(4173, 4174) +4242 = NOR(4178, 4179) +4245 = NOR(4183, 4184) +4248 = NOR(4188, 4189) +4251 = NOR(4193, 4194) +4254 = NOR(4198, 4199) +4257 = NOR(4203, 4204) +4260 = NOR(4208, 4205) +4264 = NOR(4143, 4211) +4265 = NOR(4211, 4140) +4266 = NOR(4215, 4216) +4269 = NOR(4217, 1005) +4273 = NOR(4152, 4220) +4274 = NOR(4220, 1053) +4275 = NOR(4034, 4220) +4278 = NOR(4224, 4225) +4281 = NOR(4229, 4226) +4285 = NOR(4164, 4232) +4286 = NOR(4232, 4161) +4287 = NOR(4236, 4237) +4290 = NOR(4238, 1248) +4294 = NOR(4242, 4175) +4298 = NOR(4245, 4180) +4302 = NOR(4248, 4185) +4306 = NOR(4251, 4190) +4310 = NOR(4254, 4195) +4314 = NOR(4257, 4200) +4318 = NOR(4208, 4260) +4319 = NOR(4260, 4205) +4320 = NOR(4264, 4265) +4323 = NOR(4266, 957) +4327 = NOR(4217, 4269) +4328 = NOR(4269, 1005) +4329 = NOR(4085, 4269) +4332 = NOR(4273, 4274) +4335 = NOR(4278, 4275) +4339 = NOR(4229, 4281) +4340 = NOR(4281, 4226) +4341 = NOR(4285, 4286) +4344 = NOR(4287, 1200) +4348 = NOR(4238, 4290) +4349 = NOR(4290, 1248) +4350 = NOR(4106, 4290) +4353 = NOR(4242, 4294) +4354 = NOR(4294, 4175) +4355 = NOR(4245, 4298) +4356 = NOR(4298, 4180) +4357 = NOR(4248, 4302) +4358 = NOR(4302, 4185) +4359 = NOR(4251, 4306) +4360 = NOR(4306, 4190) +4361 = NOR(4254, 4310) +4362 = NOR(4310, 4195) +4363 = NOR(4257, 4314) +4364 = NOR(4314, 4200) +4365 = NOR(4318, 4319) +4368 = NOR(4320, 909) +4372 = NOR(4266, 4323) +4373 = NOR(4323, 957) +4374 = NOR(4146, 4323) +4377 = NOR(4327, 4328) +4380 = NOR(4332, 4329) +4384 = NOR(4278, 4335) +4385 = NOR(4335, 4275) +4386 = NOR(4339, 4340) +4389 = NOR(4341, 1152) +4393 = NOR(4287, 4344) +4394 = NOR(4344, 1200) +4395 = NOR(4167, 4344) +4398 = NOR(4348, 4349) +4401 = NOR(1296, 4350) +4405 = NOR(4353, 4354) +4408 = NOR(4355, 4356) +4411 = NOR(4357, 4358) +4414 = NOR(4359, 4360) +4417 = NOR(4361, 4362) +4420 = NOR(4363, 4364) +4423 = NOR(4365, 861) +4427 = NOR(4320, 4368) +4428 = NOR(4368, 909) +4429 = NOR(4211, 4368) +4432 = NOR(4372, 4373) +4435 = NOR(4377, 4374) +4439 = NOR(4332, 4380) +4440 = NOR(4380, 4329) +4441 = NOR(4384, 4385) +4444 = NOR(4386, 1104) +4448 = NOR(4341, 4389) +4449 = NOR(4389, 1152) +4450 = NOR(4232, 4389) +4453 = NOR(4393, 4394) +4456 = NOR(4398, 4395) +4460 = NOR(1296, 4401) +4461 = NOR(4401, 4350) +4462 = NOR(4405, 573) +4466 = NOR(4408, 621) +4470 = NOR(4411, 669) +4474 = NOR(4414, 717) +4478 = NOR(4417, 765) +4482 = NOR(4420, 813) +4486 = NOR(4365, 4423) +4487 = NOR(4423, 861) +4488 = NOR(4260, 4423) +4491 = NOR(4427, 4428) +4494 = NOR(4432, 4429) +4498 = NOR(4377, 4435) +4499 = NOR(4435, 4374) +4500 = NOR(4439, 4440) +4503 = NOR(4441, 1056) +4507 = NOR(4386, 4444) +4508 = NOR(4444, 1104) +4509 = NOR(4281, 4444) +4512 = NOR(4448, 4449) +4515 = NOR(4453, 4450) +4519 = NOR(4398, 4456) +4520 = NOR(4456, 4395) +4521 = NOR(4460, 4461) +4524 = NOR(4405, 4462) +4525 = NOR(4462, 573) +4526 = NOR(4294, 4462) +4529 = NOR(4408, 4466) +4530 = NOR(4466, 621) +4531 = NOR(4298, 4466) +4534 = NOR(4411, 4470) +4535 = NOR(4470, 669) +4536 = NOR(4302, 4470) +4539 = NOR(4414, 4474) +4540 = NOR(4474, 717) +4541 = NOR(4306, 4474) +4544 = NOR(4417, 4478) +4545 = NOR(4478, 765) +4546 = NOR(4310, 4478) +4549 = NOR(4420, 4482) +4550 = NOR(4482, 813) +4551 = NOR(4314, 4482) +4554 = NOR(4486, 4487) +4557 = NOR(4491, 4488) +4561 = NOR(4432, 4494) +4562 = NOR(4494, 4429) +4563 = NOR(4498, 4499) +4566 = NOR(4500, 1008) +4570 = NOR(4441, 4503) +4571 = NOR(4503, 1056) +4572 = NOR(4335, 4503) +4575 = NOR(4507, 4508) +4578 = NOR(4512, 4509) +4582 = NOR(4453, 4515) +4583 = NOR(4515, 4450) +4584 = NOR(4519, 4520) +4587 = NOR(4521, 1251) +4591 = NOR(4524, 4525) +4592 = NOR(4529, 4530) +4595 = NOR(4534, 4535) +4598 = NOR(4539, 4540) +4601 = NOR(4544, 4545) +4604 = NOR(4549, 4550) +4607 = NOR(4554, 4551) +4611 = NOR(4491, 4557) +4612 = NOR(4557, 4488) +4613 = NOR(4561, 4562) +4616 = NOR(4563, 960) +4620 = NOR(4500, 4566) +4621 = NOR(4566, 1008) +4622 = NOR(4380, 4566) +4625 = NOR(4570, 4571) +4628 = NOR(4575, 4572) +4632 = NOR(4512, 4578) +4633 = NOR(4578, 4509) +4634 = NOR(4582, 4583) +4637 = NOR(4584, 1203) +4641 = NOR(4521, 4587) +4642 = NOR(4587, 1251) +4643 = NOR(4401, 4587) +4646 = NOR(4592, 4526) +4650 = NOR(4595, 4531) +4654 = NOR(4598, 4536) +4658 = NOR(4601, 4541) +4662 = NOR(4604, 4546) +4666 = NOR(4554, 4607) +4667 = NOR(4607, 4551) +4668 = NOR(4611, 4612) +4671 = NOR(4613, 912) +4675 = NOR(4563, 4616) +4676 = NOR(4616, 960) +4677 = NOR(4435, 4616) +4680 = NOR(4620, 4621) +4683 = NOR(4625, 4622) +4687 = NOR(4575, 4628) +4688 = NOR(4628, 4572) +4689 = NOR(4632, 4633) +4692 = NOR(4634, 1155) +4696 = NOR(4584, 4637) +4697 = NOR(4637, 1203) +4698 = NOR(4456, 4637) +4701 = NOR(4641, 4642) +4704 = NOR(1299, 4643) +4708 = NOR(4592, 4646) +4709 = NOR(4646, 4526) +4710 = NOR(4595, 4650) +4711 = NOR(4650, 4531) +4712 = NOR(4598, 4654) +4713 = NOR(4654, 4536) +4714 = NOR(4601, 4658) +4715 = NOR(4658, 4541) +4716 = NOR(4604, 4662) +4717 = NOR(4662, 4546) +4718 = NOR(4666, 4667) +4721 = NOR(4668, 864) +4725 = NOR(4613, 4671) +4726 = NOR(4671, 912) +4727 = NOR(4494, 4671) +4730 = NOR(4675, 4676) +4733 = NOR(4680, 4677) +4737 = NOR(4625, 4683) +4738 = NOR(4683, 4622) +4739 = NOR(4687, 4688) +4742 = NOR(4689, 1107) +4746 = NOR(4634, 4692) +4747 = NOR(4692, 1155) +4748 = NOR(4515, 4692) +4751 = NOR(4696, 4697) +4754 = NOR(4701, 4698) +4758 = NOR(1299, 4704) +4759 = NOR(4704, 4643) +4760 = NOR(4708, 4709) +4763 = NOR(4710, 4711) +4766 = NOR(4712, 4713) +4769 = NOR(4714, 4715) +4772 = NOR(4716, 4717) +4775 = NOR(4718, 816) +4779 = NOR(4668, 4721) +4780 = NOR(4721, 864) +4781 = NOR(4557, 4721) +4784 = NOR(4725, 4726) +4787 = NOR(4730, 4727) +4791 = NOR(4680, 4733) +4792 = NOR(4733, 4677) +4793 = NOR(4737, 4738) +4796 = NOR(4739, 1059) +4800 = NOR(4689, 4742) +4801 = NOR(4742, 1107) +4802 = NOR(4578, 4742) +4805 = NOR(4746, 4747) +4808 = NOR(4751, 4748) +4812 = NOR(4701, 4754) +4813 = NOR(4754, 4698) +4814 = NOR(4758, 4759) +4817 = NOR(4760, 576) +4821 = NOR(4763, 624) +4825 = NOR(4766, 672) +4829 = NOR(4769, 720) +4833 = NOR(4772, 768) +4837 = NOR(4718, 4775) +4838 = NOR(4775, 816) +4839 = NOR(4607, 4775) +4842 = NOR(4779, 4780) +4845 = NOR(4784, 4781) +4849 = NOR(4730, 4787) +4850 = NOR(4787, 4727) +4851 = NOR(4791, 4792) +4854 = NOR(4793, 1011) +4858 = NOR(4739, 4796) +4859 = NOR(4796, 1059) +4860 = NOR(4628, 4796) +4863 = NOR(4800, 4801) +4866 = NOR(4805, 4802) +4870 = NOR(4751, 4808) +4871 = NOR(4808, 4748) +4872 = NOR(4812, 4813) +4875 = NOR(4814, 1254) +4879 = NOR(4760, 4817) +4880 = NOR(4817, 576) +4881 = NOR(4646, 4817) +4884 = NOR(4763, 4821) +4885 = NOR(4821, 624) +4886 = NOR(4650, 4821) +4889 = NOR(4766, 4825) +4890 = NOR(4825, 672) +4891 = NOR(4654, 4825) +4894 = NOR(4769, 4829) +4895 = NOR(4829, 720) +4896 = NOR(4658, 4829) +4899 = NOR(4772, 4833) +4900 = NOR(4833, 768) +4901 = NOR(4662, 4833) +4904 = NOR(4837, 4838) +4907 = NOR(4842, 4839) +4911 = NOR(4784, 4845) +4912 = NOR(4845, 4781) +4913 = NOR(4849, 4850) +4916 = NOR(4851, 963) +4920 = NOR(4793, 4854) +4921 = NOR(4854, 1011) +4922 = NOR(4683, 4854) +4925 = NOR(4858, 4859) +4928 = NOR(4863, 4860) +4932 = NOR(4805, 4866) +4933 = NOR(4866, 4802) +4934 = NOR(4870, 4871) +4937 = NOR(4872, 1206) +4941 = NOR(4814, 4875) +4942 = NOR(4875, 1254) +4943 = NOR(4704, 4875) +4946 = NOR(4879, 4880) +4947 = NOR(4884, 4885) +4950 = NOR(4889, 4890) +4953 = NOR(4894, 4895) +4956 = NOR(4899, 4900) +4959 = NOR(4904, 4901) +4963 = NOR(4842, 4907) +4964 = NOR(4907, 4839) +4965 = NOR(4911, 4912) +4968 = NOR(4913, 915) +4972 = NOR(4851, 4916) +4973 = NOR(4916, 963) +4974 = NOR(4733, 4916) +4977 = NOR(4920, 4921) +4980 = NOR(4925, 4922) +4984 = NOR(4863, 4928) +4985 = NOR(4928, 4860) +4986 = NOR(4932, 4933) +4989 = NOR(4934, 1158) +4993 = NOR(4872, 4937) +4994 = NOR(4937, 1206) +4995 = NOR(4754, 4937) +4998 = NOR(4941, 4942) +5001 = NOR(1302, 4943) +5005 = NOR(4947, 4881) +5009 = NOR(4950, 4886) +5013 = NOR(4953, 4891) +5017 = NOR(4956, 4896) +5021 = NOR(4904, 4959) +5022 = NOR(4959, 4901) +5023 = NOR(4963, 4964) +5026 = NOR(4965, 867) +5030 = NOR(4913, 4968) +5031 = NOR(4968, 915) +5032 = NOR(4787, 4968) +5035 = NOR(4972, 4973) +5038 = NOR(4977, 4974) +5042 = NOR(4925, 4980) +5043 = NOR(4980, 4922) +5044 = NOR(4984, 4985) +5047 = NOR(4986, 1110) +5051 = NOR(4934, 4989) +5052 = NOR(4989, 1158) +5053 = NOR(4808, 4989) +5056 = NOR(4993, 4994) +5059 = NOR(4998, 4995) +5063 = NOR(1302, 5001) +5064 = NOR(5001, 4943) +5065 = NOR(4947, 5005) +5066 = NOR(5005, 4881) +5067 = NOR(4950, 5009) +5068 = NOR(5009, 4886) +5069 = NOR(4953, 5013) +5070 = NOR(5013, 4891) +5071 = NOR(4956, 5017) +5072 = NOR(5017, 4896) +5073 = NOR(5021, 5022) +5076 = NOR(5023, 819) +5080 = NOR(4965, 5026) +5081 = NOR(5026, 867) +5082 = NOR(4845, 5026) +5085 = NOR(5030, 5031) +5088 = NOR(5035, 5032) +5092 = NOR(4977, 5038) +5093 = NOR(5038, 4974) +5094 = NOR(5042, 5043) +5097 = NOR(5044, 1062) +5101 = NOR(4986, 5047) +5102 = NOR(5047, 1110) +5103 = NOR(4866, 5047) +5106 = NOR(5051, 5052) +5109 = NOR(5056, 5053) +5113 = NOR(4998, 5059) +5114 = NOR(5059, 4995) +5115 = NOR(5063, 5064) +5118 = NOR(5065, 5066) +5121 = NOR(5067, 5068) +5124 = NOR(5069, 5070) +5127 = NOR(5071, 5072) +5130 = NOR(5073, 771) +5134 = NOR(5023, 5076) +5135 = NOR(5076, 819) +5136 = NOR(4907, 5076) +5139 = NOR(5080, 5081) +5142 = NOR(5085, 5082) +5146 = NOR(5035, 5088) +5147 = NOR(5088, 5032) +5148 = NOR(5092, 5093) +5151 = NOR(5094, 1014) +5155 = NOR(5044, 5097) +5156 = NOR(5097, 1062) +5157 = NOR(4928, 5097) +5160 = NOR(5101, 5102) +5163 = NOR(5106, 5103) +5167 = NOR(5056, 5109) +5168 = NOR(5109, 5053) +5169 = NOR(5113, 5114) +5172 = NOR(5115, 1257) +5176 = NOR(5118, 579) +5180 = NOR(5121, 627) +5184 = NOR(5124, 675) +5188 = NOR(5127, 723) +5192 = NOR(5073, 5130) +5193 = NOR(5130, 771) +5194 = NOR(4959, 5130) +5197 = NOR(5134, 5135) +5200 = NOR(5139, 5136) +5204 = NOR(5085, 5142) +5205 = NOR(5142, 5082) +5206 = NOR(5146, 5147) +5209 = NOR(5148, 966) +5213 = NOR(5094, 5151) +5214 = NOR(5151, 1014) +5215 = NOR(4980, 5151) +5218 = NOR(5155, 5156) +5221 = NOR(5160, 5157) +5225 = NOR(5106, 5163) +5226 = NOR(5163, 5103) +5227 = NOR(5167, 5168) +5230 = NOR(5169, 1209) +5234 = NOR(5115, 5172) +5235 = NOR(5172, 1257) +5236 = NOR(5001, 5172) +5239 = NOR(5118, 5176) +5240 = NOR(5176, 579) +5241 = NOR(5005, 5176) +5244 = NOR(5121, 5180) +5245 = NOR(5180, 627) +5246 = NOR(5009, 5180) +5249 = NOR(5124, 5184) +5250 = NOR(5184, 675) +5251 = NOR(5013, 5184) +5254 = NOR(5127, 5188) +5255 = NOR(5188, 723) +5256 = NOR(5017, 5188) +5259 = NOR(5192, 5193) +5262 = NOR(5197, 5194) +5266 = NOR(5139, 5200) +5267 = NOR(5200, 5136) +5268 = NOR(5204, 5205) +5271 = NOR(5206, 918) +5275 = NOR(5148, 5209) +5276 = NOR(5209, 966) +5277 = NOR(5038, 5209) +5280 = NOR(5213, 5214) +5283 = NOR(5218, 5215) +5287 = NOR(5160, 5221) +5288 = NOR(5221, 5157) +5289 = NOR(5225, 5226) +5292 = NOR(5227, 1161) +5296 = NOR(5169, 5230) +5297 = NOR(5230, 1209) +5298 = NOR(5059, 5230) +5301 = NOR(5234, 5235) +5304 = NOR(1305, 5236) +5308 = NOR(5239, 5240) +5309 = NOR(5244, 5245) +5312 = NOR(5249, 5250) +5315 = NOR(5254, 5255) +5318 = NOR(5259, 5256) +5322 = NOR(5197, 5262) +5323 = NOR(5262, 5194) +5324 = NOR(5266, 5267) +5327 = NOR(5268, 870) +5331 = NOR(5206, 5271) +5332 = NOR(5271, 918) +5333 = NOR(5088, 5271) +5336 = NOR(5275, 5276) +5339 = NOR(5280, 5277) +5343 = NOR(5218, 5283) +5344 = NOR(5283, 5215) +5345 = NOR(5287, 5288) +5348 = NOR(5289, 1113) +5352 = NOR(5227, 5292) +5353 = NOR(5292, 1161) +5354 = NOR(5109, 5292) +5357 = NOR(5296, 5297) +5360 = NOR(5301, 5298) +5364 = NOR(1305, 5304) +5365 = NOR(5304, 5236) +5366 = NOR(5309, 5241) +5370 = NOR(5312, 5246) +5374 = NOR(5315, 5251) +5378 = NOR(5259, 5318) +5379 = NOR(5318, 5256) +5380 = NOR(5322, 5323) +5383 = NOR(5324, 822) +5387 = NOR(5268, 5327) +5388 = NOR(5327, 870) +5389 = NOR(5142, 5327) +5392 = NOR(5331, 5332) +5395 = NOR(5336, 5333) +5399 = NOR(5280, 5339) +5400 = NOR(5339, 5277) +5401 = NOR(5343, 5344) +5404 = NOR(5345, 1065) +5408 = NOR(5289, 5348) +5409 = NOR(5348, 1113) +5410 = NOR(5163, 5348) +5413 = NOR(5352, 5353) +5416 = NOR(5357, 5354) +5420 = NOR(5301, 5360) +5421 = NOR(5360, 5298) +5422 = NOR(5364, 5365) +5425 = NOR(5309, 5366) +5426 = NOR(5366, 5241) +5427 = NOR(5312, 5370) +5428 = NOR(5370, 5246) +5429 = NOR(5315, 5374) +5430 = NOR(5374, 5251) +5431 = NOR(5378, 5379) +5434 = NOR(5380, 774) +5438 = NOR(5324, 5383) +5439 = NOR(5383, 822) +5440 = NOR(5200, 5383) +5443 = NOR(5387, 5388) +5446 = NOR(5392, 5389) +5450 = NOR(5336, 5395) +5451 = NOR(5395, 5333) +5452 = NOR(5399, 5400) +5455 = NOR(5401, 1017) +5459 = NOR(5345, 5404) +5460 = NOR(5404, 1065) +5461 = NOR(5221, 5404) +5464 = NOR(5408, 5409) +5467 = NOR(5413, 5410) +5471 = NOR(5357, 5416) +5472 = NOR(5416, 5354) +5473 = NOR(5420, 5421) +5476 = NOR(5422, 1260) +5480 = NOR(5425, 5426) +5483 = NOR(5427, 5428) +5486 = NOR(5429, 5430) +5489 = NOR(5431, 726) +5493 = NOR(5380, 5434) +5494 = NOR(5434, 774) +5495 = NOR(5262, 5434) +5498 = NOR(5438, 5439) +5501 = NOR(5443, 5440) +5505 = NOR(5392, 5446) +5506 = NOR(5446, 5389) +5507 = NOR(5450, 5451) +5510 = NOR(5452, 969) +5514 = NOR(5401, 5455) +5515 = NOR(5455, 1017) +5516 = NOR(5283, 5455) +5519 = NOR(5459, 5460) +5522 = NOR(5464, 5461) +5526 = NOR(5413, 5467) +5527 = NOR(5467, 5410) +5528 = NOR(5471, 5472) +5531 = NOR(5473, 1212) +5535 = NOR(5422, 5476) +5536 = NOR(5476, 1260) +5537 = NOR(5304, 5476) +5540 = NOR(5480, 582) +5544 = NOR(5483, 630) +5548 = NOR(5486, 678) +5552 = NOR(5431, 5489) +5553 = NOR(5489, 726) +5554 = NOR(5318, 5489) +5557 = NOR(5493, 5494) +5560 = NOR(5498, 5495) +5564 = NOR(5443, 5501) +5565 = NOR(5501, 5440) +5566 = NOR(5505, 5506) +5569 = NOR(5507, 921) +5573 = NOR(5452, 5510) +5574 = NOR(5510, 969) +5575 = NOR(5339, 5510) +5578 = NOR(5514, 5515) +5581 = NOR(5519, 5516) +5585 = NOR(5464, 5522) +5586 = NOR(5522, 5461) +5587 = NOR(5526, 5527) +5590 = NOR(5528, 1164) +5594 = NOR(5473, 5531) +5595 = NOR(5531, 1212) +5596 = NOR(5360, 5531) +5599 = NOR(5535, 5536) +5602 = NOR(1308, 5537) +5606 = NOR(5480, 5540) +5607 = NOR(5540, 582) +5608 = NOR(5366, 5540) +5611 = NOR(5483, 5544) +5612 = NOR(5544, 630) +5613 = NOR(5370, 5544) +5616 = NOR(5486, 5548) +5617 = NOR(5548, 678) +5618 = NOR(5374, 5548) +5621 = NOR(5552, 5553) +5624 = NOR(5557, 5554) +5628 = NOR(5498, 5560) +5629 = NOR(5560, 5495) +5630 = NOR(5564, 5565) +5633 = NOR(5566, 873) +5637 = NOR(5507, 5569) +5638 = NOR(5569, 921) +5639 = NOR(5395, 5569) +5642 = NOR(5573, 5574) +5645 = NOR(5578, 5575) +5649 = NOR(5519, 5581) +5650 = NOR(5581, 5516) +5651 = NOR(5585, 5586) +5654 = NOR(5587, 1116) +5658 = NOR(5528, 5590) +5659 = NOR(5590, 1164) +5660 = NOR(5416, 5590) +5663 = NOR(5594, 5595) +5666 = NOR(5599, 5596) +5670 = NOR(1308, 5602) +5671 = NOR(5602, 5537) +5672 = NOR(5606, 5607) +5673 = NOR(5611, 5612) +5676 = NOR(5616, 5617) +5679 = NOR(5621, 5618) +5683 = NOR(5557, 5624) +5684 = NOR(5624, 5554) +5685 = NOR(5628, 5629) +5688 = NOR(5630, 825) +5692 = NOR(5566, 5633) +5693 = NOR(5633, 873) +5694 = NOR(5446, 5633) +5697 = NOR(5637, 5638) +5700 = NOR(5642, 5639) +5704 = NOR(5578, 5645) +5705 = NOR(5645, 5575) +5706 = NOR(5649, 5650) +5709 = NOR(5651, 1068) +5713 = NOR(5587, 5654) +5714 = NOR(5654, 1116) +5715 = NOR(5467, 5654) +5718 = NOR(5658, 5659) +5721 = NOR(5663, 5660) +5725 = NOR(5599, 5666) +5726 = NOR(5666, 5596) +5727 = NOR(5670, 5671) +5730 = NOR(5673, 5608) +5734 = NOR(5676, 5613) +5738 = NOR(5621, 5679) +5739 = NOR(5679, 5618) +5740 = NOR(5683, 5684) +5743 = NOR(5685, 777) +5747 = NOR(5630, 5688) +5748 = NOR(5688, 825) +5749 = NOR(5501, 5688) +5752 = NOR(5692, 5693) +5755 = NOR(5697, 5694) +5759 = NOR(5642, 5700) +5760 = NOR(5700, 5639) +5761 = NOR(5704, 5705) +5764 = NOR(5706, 1020) +5768 = NOR(5651, 5709) +5769 = NOR(5709, 1068) +5770 = NOR(5522, 5709) +5773 = NOR(5713, 5714) +5776 = NOR(5718, 5715) +5780 = NOR(5663, 5721) +5781 = NOR(5721, 5660) +5782 = NOR(5725, 5726) +5785 = NOR(5673, 5730) +5786 = NOR(5730, 5608) +5787 = NOR(5676, 5734) +5788 = NOR(5734, 5613) +5789 = NOR(5738, 5739) +5792 = NOR(5740, 729) +5796 = NOR(5685, 5743) +5797 = NOR(5743, 777) +5798 = NOR(5560, 5743) +5801 = NOR(5747, 5748) +5804 = NOR(5752, 5749) +5808 = NOR(5697, 5755) +5809 = NOR(5755, 5694) +5810 = NOR(5759, 5760) +5813 = NOR(5761, 972) +5817 = NOR(5706, 5764) +5818 = NOR(5764, 1020) +5819 = NOR(5581, 5764) +5822 = NOR(5768, 5769) +5825 = NOR(5773, 5770) +5829 = NOR(5718, 5776) +5830 = NOR(5776, 5715) +5831 = NOR(5780, 5781) +5834 = NOR(5785, 5786) +5837 = NOR(5787, 5788) +5840 = NOR(5789, 681) +5844 = NOR(5740, 5792) +5845 = NOR(5792, 729) +5846 = NOR(5624, 5792) +5849 = NOR(5796, 5797) +5852 = NOR(5801, 5798) +5856 = NOR(5752, 5804) +5857 = NOR(5804, 5749) +5858 = NOR(5808, 5809) +5861 = NOR(5810, 924) +5865 = NOR(5761, 5813) +5866 = NOR(5813, 972) +5867 = NOR(5645, 5813) +5870 = NOR(5817, 5818) +5873 = NOR(5822, 5819) +5877 = NOR(5773, 5825) +5878 = NOR(5825, 5770) +5879 = NOR(5829, 5830) +5882 = NOR(5834, 585) +5886 = NOR(5837, 633) +5890 = NOR(5789, 5840) +5891 = NOR(5840, 681) +5892 = NOR(5679, 5840) +5895 = NOR(5844, 5845) +5898 = NOR(5849, 5846) +5902 = NOR(5801, 5852) +5903 = NOR(5852, 5798) +5904 = NOR(5856, 5857) +5907 = NOR(5858, 876) +5911 = NOR(5810, 5861) +5912 = NOR(5861, 924) +5913 = NOR(5700, 5861) +5916 = NOR(5865, 5866) +5919 = NOR(5870, 5867) +5923 = NOR(5822, 5873) +5924 = NOR(5873, 5819) +5925 = NOR(5877, 5878) +5928 = NOR(5834, 5882) +5929 = NOR(5882, 585) +5930 = NOR(5730, 5882) +5933 = NOR(5837, 5886) +5934 = NOR(5886, 633) +5935 = NOR(5734, 5886) +5938 = NOR(5890, 5891) +5941 = NOR(5895, 5892) +5945 = NOR(5849, 5898) +5946 = NOR(5898, 5846) +5947 = NOR(5902, 5903) +5950 = NOR(5904, 828) +5954 = NOR(5858, 5907) +5955 = NOR(5907, 876) +5956 = NOR(5755, 5907) +5959 = NOR(5911, 5912) +5962 = NOR(5916, 5913) +5966 = NOR(5870, 5919) +5967 = NOR(5919, 5867) +5968 = NOR(5923, 5924) +5971 = NOR(5928, 5929) +5972 = NOR(5933, 5934) +5975 = NOR(5938, 5935) +5979 = NOR(5895, 5941) +5980 = NOR(5941, 5892) +5981 = NOR(5945, 5946) +5984 = NOR(5947, 780) +5988 = NOR(5904, 5950) +5989 = NOR(5950, 828) +5990 = NOR(5804, 5950) +5993 = NOR(5954, 5955) +5996 = NOR(5959, 5956) +6000 = NOR(5916, 5962) +6001 = NOR(5962, 5913) +6002 = NOR(5966, 5967) +6005 = NOR(5972, 5930) +6009 = NOR(5938, 5975) +6010 = NOR(5975, 5935) +6011 = NOR(5979, 5980) +6014 = NOR(5981, 732) +6018 = NOR(5947, 5984) +6019 = NOR(5984, 780) +6020 = NOR(5852, 5984) +6023 = NOR(5988, 5989) +6026 = NOR(5993, 5990) +6030 = NOR(5959, 5996) +6031 = NOR(5996, 5956) +6032 = NOR(6000, 6001) +6035 = NOR(5972, 6005) +6036 = NOR(6005, 5930) +6037 = NOR(6009, 6010) +6040 = NOR(6011, 684) +6044 = NOR(5981, 6014) +6045 = NOR(6014, 732) +6046 = NOR(5898, 6014) +6049 = NOR(6018, 6019) +6052 = NOR(6023, 6020) +6056 = NOR(5993, 6026) +6057 = NOR(6026, 5990) +6058 = NOR(6030, 6031) +6061 = NOR(6035, 6036) +6064 = NOR(6037, 636) +6068 = NOR(6011, 6040) +6069 = NOR(6040, 684) +6070 = NOR(5941, 6040) +6073 = NOR(6044, 6045) +6076 = NOR(6049, 6046) +6080 = NOR(6023, 6052) +6081 = NOR(6052, 6020) +6082 = NOR(6056, 6057) +6085 = NOR(6061, 588) +6089 = NOR(6037, 6064) +6090 = NOR(6064, 636) +6091 = NOR(5975, 6064) +6094 = NOR(6068, 6069) +6097 = NOR(6073, 6070) +6101 = NOR(6049, 6076) +6102 = NOR(6076, 6046) +6103 = NOR(6080, 6081) +6106 = NOR(6061, 6085) +6107 = NOR(6085, 588) +6108 = NOR(6005, 6085) +6111 = NOR(6089, 6090) +6114 = NOR(6094, 6091) +6118 = NOR(6073, 6097) +6119 = NOR(6097, 6070) +6120 = NOR(6101, 6102) +6123 = NOR(6106, 6107) +6124 = NOR(6111, 6108) +6128 = NOR(6094, 6114) +6129 = NOR(6114, 6091) +6130 = NOR(6118, 6119) +6133 = NOR(6111, 6124) +6134 = NOR(6124, 6108) +6135 = NOR(6128, 6129) +6138 = NOR(6133, 6134) +6141 = NOT(6138) +6145 = NOR(6138, 6141) +6146 = NOT(6141) +6147 = NOR(6124, 6141) +6150 = NOR(6145, 6146) +6151 = NOR(6135, 6147) +6155 = NOR(6135, 6151) +6156 = NOR(6151, 6147) +6157 = NOR(6114, 6151) +6160 = NOR(6155, 6156) +6161 = NOR(6130, 6157) +6165 = NOR(6130, 6161) +6166 = NOR(6161, 6157) +6167 = NOR(6097, 6161) +6170 = NOR(6165, 6166) +6171 = NOR(6120, 6167) +6175 = NOR(6120, 6171) +6176 = NOR(6171, 6167) +6177 = NOR(6076, 6171) +6180 = NOR(6175, 6176) +6181 = NOR(6103, 6177) +6185 = NOR(6103, 6181) +6186 = NOR(6181, 6177) +6187 = NOR(6052, 6181) +6190 = NOR(6185, 6186) +6191 = NOR(6082, 6187) +6195 = NOR(6082, 6191) +6196 = NOR(6191, 6187) +6197 = NOR(6026, 6191) +6200 = NOR(6195, 6196) +6201 = NOR(6058, 6197) +6205 = NOR(6058, 6201) +6206 = NOR(6201, 6197) +6207 = NOR(5996, 6201) +6210 = NOR(6205, 6206) +6211 = NOR(6032, 6207) +6215 = NOR(6032, 6211) +6216 = NOR(6211, 6207) +6217 = NOR(5962, 6211) +6220 = NOR(6215, 6216) +6221 = NOR(6002, 6217) +6225 = NOR(6002, 6221) +6226 = NOR(6221, 6217) +6227 = NOR(5919, 6221) +6230 = NOR(6225, 6226) +6231 = NOR(5968, 6227) +6235 = NOR(5968, 6231) +6236 = NOR(6231, 6227) +6237 = NOR(5873, 6231) +6240 = NOR(6235, 6236) +6241 = NOR(5925, 6237) +6245 = NOR(5925, 6241) +6246 = NOR(6241, 6237) +6247 = NOR(5825, 6241) +6250 = NOR(6245, 6246) +6251 = NOR(5879, 6247) +6255 = NOR(5879, 6251) +6256 = NOR(6251, 6247) +6257 = NOR(5776, 6251) +6260 = NOR(6255, 6256) +6261 = NOR(5831, 6257) +6265 = NOR(5831, 6261) +6266 = NOR(6261, 6257) +6267 = NOR(5721, 6261) +6270 = NOR(6265, 6266) +6271 = NOR(5782, 6267) +6275 = NOR(5782, 6271) +6276 = NOR(6271, 6267) +6277 = NOR(5666, 6271) +6280 = NOR(6275, 6276) +6281 = NOR(5727, 6277) +6285 = NOR(5727, 6281) +6286 = NOR(6281, 6277) +6287 = NOR(5602, 6281) +6288 = NOR(6285, 6286) diff --git a/benchmarks/iscas85/c7552.bench b/benchmarks/iscas85/c7552.bench new file mode 100644 index 00000000..68ce743a --- /dev/null +++ b/benchmarks/iscas85/c7552.bench @@ -0,0 +1,3835 @@ +# c7552 +# 207 inputs +# 108 outputs +# 876 inverters +# 2636 gates ( 1310 ANDs + 1904 NANDs + 244 ORs + 54 NORs + 534 buffers ) + +INPUT(1) +INPUT(5) +INPUT(9) +INPUT(12) +INPUT(15) +INPUT(18) +INPUT(23) +INPUT(26) +INPUT(29) +INPUT(32) +INPUT(35) +INPUT(38) +INPUT(41) +INPUT(44) +INPUT(47) +INPUT(50) +INPUT(53) +INPUT(54) +INPUT(55) +INPUT(56) +INPUT(57) +INPUT(58) +INPUT(59) +INPUT(60) +INPUT(61) +INPUT(62) +INPUT(63) +INPUT(64) +INPUT(65) +INPUT(66) +INPUT(69) +INPUT(70) +INPUT(73) +INPUT(74) +INPUT(75) +INPUT(76) +INPUT(77) +INPUT(78) +INPUT(79) +INPUT(80) +INPUT(81) +INPUT(82) +INPUT(83) +INPUT(84) +INPUT(85) +INPUT(86) +INPUT(87) +INPUT(88) +INPUT(89) +INPUT(94) +INPUT(97) +INPUT(100) +INPUT(103) +INPUT(106) +INPUT(109) +INPUT(110) +INPUT(111) +INPUT(112) +INPUT(113) +INPUT(114) +INPUT(115) +INPUT(118) +INPUT(121) +INPUT(124) +INPUT(127) +INPUT(130) +INPUT(133) +INPUT(134) +INPUT(135) +INPUT(138) +INPUT(141) +INPUT(144) +INPUT(147) +INPUT(150) +INPUT(151) +INPUT(152) +INPUT(153) +INPUT(154) +INPUT(155) +INPUT(156) +INPUT(157) +INPUT(158) +INPUT(159) +INPUT(160) +INPUT(161) +INPUT(162) +INPUT(163) +INPUT(164) +INPUT(165) +INPUT(166) +INPUT(167) +INPUT(168) +INPUT(169) +INPUT(170) +INPUT(171) +INPUT(172) +INPUT(173) +INPUT(174) +INPUT(175) +INPUT(176) +INPUT(177) +INPUT(178) +INPUT(179) +INPUT(180) +INPUT(181) +INPUT(182) +INPUT(183) +INPUT(184) +INPUT(185) +INPUT(186) +INPUT(187) +INPUT(188) +INPUT(189) +INPUT(190) +INPUT(191) +INPUT(192) +INPUT(193) +INPUT(194) +INPUT(195) +INPUT(196) +INPUT(197) +INPUT(198) +INPUT(199) +INPUT(200) +INPUT(201) +INPUT(202) +INPUT(203) +INPUT(204) +INPUT(205) +INPUT(206) +INPUT(207) +INPUT(208) +INPUT(209) +INPUT(210) +INPUT(211) +INPUT(212) +INPUT(213) +INPUT(214) +INPUT(215) +INPUT(216) +INPUT(217) +INPUT(218) +INPUT(219) +INPUT(220) +INPUT(221) +INPUT(222) +INPUT(223) +INPUT(224) +INPUT(225) +INPUT(226) +INPUT(227) +INPUT(228) +INPUT(229) +INPUT(230) +INPUT(231) +INPUT(232) +INPUT(233) +INPUT(234) +INPUT(235) +INPUT(236) +INPUT(237) +INPUT(238) +INPUT(239) +INPUT(240) +INPUT(241) +INPUT(242) +INPUT(245) +INPUT(248) +INPUT(251) +INPUT(254) +INPUT(257) +INPUT(260) +INPUT(263) +INPUT(267) +INPUT(271) +INPUT(274) +INPUT(277) +INPUT(280) +INPUT(283) +INPUT(286) +INPUT(289) +INPUT(293) +INPUT(296) +INPUT(299) +INPUT(303) +INPUT(307) +INPUT(310) +INPUT(313) +INPUT(316) +INPUT(319) +INPUT(322) +INPUT(325) +INPUT(328) +INPUT(331) +INPUT(334) +INPUT(337) +INPUT(340) +INPUT(343) +INPUT(346) +INPUT(349) +INPUT(352) +INPUT(355) +INPUT(358) +INPUT(361) +INPUT(364) +INPUT(367) +INPUT(382) + +OUTPUT(241) +OUTPUT(387) +OUTPUT(388) +OUTPUT(478) +OUTPUT(482) +OUTPUT(484) +OUTPUT(486) +OUTPUT(489) +OUTPUT(492) +OUTPUT(501) +OUTPUT(505) +OUTPUT(507) +OUTPUT(509) +OUTPUT(511) +OUTPUT(513) +OUTPUT(515) +OUTPUT(517) +OUTPUT(519) +OUTPUT(535) +OUTPUT(537) +OUTPUT(539) +OUTPUT(541) +OUTPUT(543) +OUTPUT(545) +OUTPUT(547) +OUTPUT(549) +OUTPUT(551) +OUTPUT(553) +OUTPUT(556) +OUTPUT(559) +OUTPUT(561) +OUTPUT(563) +OUTPUT(565) +OUTPUT(567) +OUTPUT(569) +OUTPUT(571) +OUTPUT(573) +OUTPUT(582) +OUTPUT(643) +OUTPUT(707) +OUTPUT(813) +OUTPUT(881) +OUTPUT(882) +OUTPUT(883) +OUTPUT(884) +OUTPUT(885) +OUTPUT(889) +OUTPUT(945) +OUTPUT(1110) +OUTPUT(1111) +OUTPUT(1112) +OUTPUT(1113) +OUTPUT(1114) +OUTPUT(1489) +OUTPUT(1490) +OUTPUT(1781) +OUTPUT(10025) +OUTPUT(10101) +OUTPUT(10102) +OUTPUT(10103) +OUTPUT(10104) +OUTPUT(10109) +OUTPUT(10110) +OUTPUT(10111) +OUTPUT(10112) +OUTPUT(10350) +OUTPUT(10351) +OUTPUT(10352) +OUTPUT(10353) +OUTPUT(10574) +OUTPUT(10575) +OUTPUT(10576) +OUTPUT(10628) +OUTPUT(10632) +OUTPUT(10641) +OUTPUT(10704) +OUTPUT(10706) +OUTPUT(10711) +OUTPUT(10712) +OUTPUT(10713) +OUTPUT(10714) +OUTPUT(10715) +OUTPUT(10716) +OUTPUT(10717) +OUTPUT(10718) +OUTPUT(10729) +OUTPUT(10759) +OUTPUT(10760) +OUTPUT(10761) +OUTPUT(10762) +OUTPUT(10763) +OUTPUT(10827) +OUTPUT(10837) +OUTPUT(10838) +OUTPUT(10839) +OUTPUT(10840) +OUTPUT(10868) +OUTPUT(10869) +OUTPUT(10870) +OUTPUT(10871) +OUTPUT(10905) +OUTPUT(10906) +OUTPUT(10907) +OUTPUT(10908) +OUTPUT(11333) +OUTPUT(11334) +OUTPUT(11340) +OUTPUT(11342) + +387 = BUFF(1) +388 = BUFF(1) +467 = NOT(57) +469 = AND(134, 133) +478 = BUFF(248) +482 = BUFF(254) +484 = BUFF(257) +486 = BUFF(260) +489 = BUFF(263) +492 = BUFF(267) +494 = AND(162, 172, 188, 199) +501 = BUFF(274) +505 = BUFF(280) +507 = BUFF(283) +509 = BUFF(286) +511 = BUFF(289) +513 = BUFF(293) +515 = BUFF(296) +517 = BUFF(299) +519 = BUFF(303) +528 = AND(150, 184, 228, 240) +535 = BUFF(307) +537 = BUFF(310) +539 = BUFF(313) +541 = BUFF(316) +543 = BUFF(319) +545 = BUFF(322) +547 = BUFF(325) +549 = BUFF(328) +551 = BUFF(331) +553 = BUFF(334) +556 = BUFF(337) +559 = BUFF(343) +561 = BUFF(346) +563 = BUFF(349) +565 = BUFF(352) +567 = BUFF(355) +569 = BUFF(358) +571 = BUFF(361) +573 = BUFF(364) +575 = AND(183, 182, 185, 186) +578 = AND(210, 152, 218, 230) +582 = NOT(15) +585 = NOT(5) +590 = BUFF(1) +593 = NOT(5) +596 = NOT(5) +599 = NOT(289) +604 = NOT(299) +609 = NOT(303) +614 = BUFF(38) +625 = BUFF(15) +628 = NAND(12, 9) +632 = NAND(12, 9) +636 = BUFF(38) +641 = NOT(245) +642 = NOT(248) +643 = BUFF(251) +644 = NOT(251) +651 = NOT(254) +657 = BUFF(106) +660 = NOT(257) +666 = NOT(260) +672 = NOT(263) +673 = NOT(267) +674 = NOT(106) +676 = BUFF(18) +682 = BUFF(18) +688 = AND(382, 263) +689 = BUFF(18) +695 = NOT(18) +700 = NAND(382, 267) +705 = NOT(271) +706 = NOT(274) +707 = BUFF(277) +708 = NOT(277) +715 = NOT(280) +721 = NOT(283) +727 = NOT(286) +733 = NOT(289) +734 = NOT(293) +742 = NOT(296) +748 = NOT(299) +749 = NOT(303) +750 = BUFF(367) +758 = NOT(307) +759 = NOT(310) +762 = NOT(313) +768 = NOT(316) +774 = NOT(319) +780 = NOT(322) +786 = NOT(325) +794 = NOT(328) +800 = NOT(331) +806 = NOT(334) +812 = NOT(337) +813 = BUFF(340) +814 = NOT(340) +821 = NOT(343) +827 = NOT(346) +833 = NOT(349) +839 = NOT(352) +845 = NOT(355) +853 = NOT(358) +859 = NOT(361) +865 = NOT(364) +871 = BUFF(367) +881 = NAND(467, 585) +882 = NOT(528) +883 = NOT(578) +884 = NOT(575) +885 = NOT(494) +886 = AND(528, 578) +887 = AND(575, 494) +889 = BUFF(590) +945 = BUFF(657) +957 = NOT(688) +1028 = AND(382, 641) +1029 = NAND(382, 705) +1109 = AND(469, 596) +1110 = NAND(242, 593) +1111 = NOT(625) +1112 = NAND(242, 593) +1113 = NAND(469, 596) +1114 = NOT(625) +1115 = NOT(871) +1116 = BUFF(590) +1119 = BUFF(628) +1125 = BUFF(682) +1132 = BUFF(628) +1136 = BUFF(682) +1141 = BUFF(628) +1147 = BUFF(682) +1154 = BUFF(632) +1160 = BUFF(676) +1167 = AND(700, 614) +1174 = AND(700, 614) +1175 = BUFF(682) +1182 = BUFF(676) +1189 = NOT(657) +1194 = NOT(676) +1199 = NOT(682) +1206 = NOT(689) +1211 = BUFF(695) +1218 = NOT(750) +1222 = NOT(1028) +1227 = BUFF(632) +1233 = BUFF(676) +1240 = BUFF(632) +1244 = BUFF(676) +1249 = BUFF(689) +1256 = BUFF(689) +1263 = BUFF(695) +1270 = BUFF(689) +1277 = BUFF(689) +1284 = BUFF(700) +1287 = BUFF(614) +1290 = BUFF(666) +1293 = BUFF(660) +1296 = BUFF(651) +1299 = BUFF(614) +1302 = BUFF(644) +1305 = BUFF(700) +1308 = BUFF(614) +1311 = BUFF(614) +1314 = BUFF(666) +1317 = BUFF(660) +1320 = BUFF(651) +1323 = BUFF(644) +1326 = BUFF(609) +1329 = BUFF(604) +1332 = BUFF(742) +1335 = BUFF(599) +1338 = BUFF(727) +1341 = BUFF(721) +1344 = BUFF(715) +1347 = BUFF(734) +1350 = BUFF(708) +1353 = BUFF(609) +1356 = BUFF(604) +1359 = BUFF(742) +1362 = BUFF(734) +1365 = BUFF(599) +1368 = BUFF(727) +1371 = BUFF(721) +1374 = BUFF(715) +1377 = BUFF(708) +1380 = BUFF(806) +1383 = BUFF(800) +1386 = BUFF(794) +1389 = BUFF(786) +1392 = BUFF(780) +1395 = BUFF(774) +1398 = BUFF(768) +1401 = BUFF(762) +1404 = BUFF(806) +1407 = BUFF(800) +1410 = BUFF(794) +1413 = BUFF(780) +1416 = BUFF(774) +1419 = BUFF(768) +1422 = BUFF(762) +1425 = BUFF(786) +1428 = BUFF(636) +1431 = BUFF(636) +1434 = BUFF(865) +1437 = BUFF(859) +1440 = BUFF(853) +1443 = BUFF(845) +1446 = BUFF(839) +1449 = BUFF(833) +1452 = BUFF(827) +1455 = BUFF(821) +1458 = BUFF(814) +1461 = BUFF(865) +1464 = BUFF(859) +1467 = BUFF(853) +1470 = BUFF(839) +1473 = BUFF(833) +1476 = BUFF(827) +1479 = BUFF(821) +1482 = BUFF(845) +1485 = BUFF(814) +1489 = NOT(1109) +1490 = BUFF(1116) +1537 = AND(957, 614) +1551 = AND(614, 957) +1649 = AND(1029, 636) +1703 = BUFF(957) +1708 = NOR(957, 614) +1713 = BUFF(957) +1721 = NOR(614, 957) +1758 = BUFF(1029) +1781 = AND(163, 1116) +1782 = AND(170, 1125) +1783 = NOT(1125) +1789 = NOT(1136) +1793 = AND(169, 1125) +1794 = AND(168, 1125) +1795 = AND(167, 1125) +1796 = AND(166, 1136) +1797 = AND(165, 1136) +1798 = AND(164, 1136) +1799 = NOT(1147) +1805 = NOT(1160) +1811 = AND(177, 1147) +1812 = AND(176, 1147) +1813 = AND(175, 1147) +1814 = AND(174, 1147) +1815 = AND(173, 1147) +1816 = AND(157, 1160) +1817 = AND(156, 1160) +1818 = AND(155, 1160) +1819 = AND(154, 1160) +1820 = AND(153, 1160) +1821 = NOT(1284) +1822 = NOT(1287) +1828 = NOT(1290) +1829 = NOT(1293) +1830 = NOT(1296) +1832 = NOT(1299) +1833 = NOT(1302) +1834 = NOT(1305) +1835 = NOT(1308) +1839 = NOT(1311) +1840 = NOT(1314) +1841 = NOT(1317) +1842 = NOT(1320) +1843 = NOT(1323) +1845 = NOT(1175) +1851 = NOT(1182) +1857 = AND(181, 1175) +1858 = AND(171, 1175) +1859 = AND(180, 1175) +1860 = AND(179, 1175) +1861 = AND(178, 1175) +1862 = AND(161, 1182) +1863 = AND(151, 1182) +1864 = AND(160, 1182) +1865 = AND(159, 1182) +1866 = AND(158, 1182) +1867 = NOT(1326) +1868 = NOT(1329) +1869 = NOT(1332) +1870 = NOT(1335) +1871 = NOT(1338) +1872 = NOT(1341) +1873 = NOT(1344) +1874 = NOT(1347) +1875 = NOT(1350) +1876 = NOT(1353) +1877 = NOT(1356) +1878 = NOT(1359) +1879 = NOT(1362) +1880 = NOT(1365) +1881 = NOT(1368) +1882 = NOT(1371) +1883 = NOT(1374) +1884 = NOT(1377) +1885 = BUFF(1199) +1892 = BUFF(1194) +1899 = BUFF(1199) +1906 = BUFF(1194) +1913 = NOT(1211) +1919 = BUFF(1194) +1926 = AND(44, 1211) +1927 = AND(41, 1211) +1928 = AND(29, 1211) +1929 = AND(26, 1211) +1930 = AND(23, 1211) +1931 = NOT(1380) +1932 = NOT(1383) +1933 = NOT(1386) +1934 = NOT(1389) +1935 = NOT(1392) +1936 = NOT(1395) +1937 = NOT(1398) +1938 = NOT(1401) +1939 = NOT(1404) +1940 = NOT(1407) +1941 = NOT(1410) +1942 = NOT(1413) +1943 = NOT(1416) +1944 = NOT(1419) +1945 = NOT(1422) +1946 = NOT(1425) +1947 = NOT(1233) +1953 = NOT(1244) +1957 = AND(209, 1233) +1958 = AND(216, 1233) +1959 = AND(215, 1233) +1960 = AND(214, 1233) +1961 = AND(213, 1244) +1962 = AND(212, 1244) +1963 = AND(211, 1244) +1965 = NOT(1428) +1966 = AND(1222, 636) +1967 = NOT(1431) +1968 = NOT(1434) +1969 = NOT(1437) +1970 = NOT(1440) +1971 = NOT(1443) +1972 = NOT(1446) +1973 = NOT(1449) +1974 = NOT(1452) +1975 = NOT(1455) +1976 = NOT(1458) +1977 = NOT(1249) +1983 = NOT(1256) +1989 = AND(642, 1249) +1990 = AND(644, 1249) +1991 = AND(651, 1249) +1992 = AND(674, 1249) +1993 = AND(660, 1249) +1994 = AND(666, 1256) +1995 = AND(672, 1256) +1996 = AND(673, 1256) +1997 = NOT(1263) +2003 = BUFF(1194) +2010 = AND(47, 1263) +2011 = AND(35, 1263) +2012 = AND(32, 1263) +2013 = AND(50, 1263) +2014 = AND(66, 1263) +2015 = NOT(1461) +2016 = NOT(1464) +2017 = NOT(1467) +2018 = NOT(1470) +2019 = NOT(1473) +2020 = NOT(1476) +2021 = NOT(1479) +2022 = NOT(1482) +2023 = NOT(1485) +2024 = BUFF(1206) +2031 = BUFF(1206) +2038 = BUFF(1206) +2045 = BUFF(1206) +2052 = NOT(1270) +2058 = NOT(1277) +2064 = AND(706, 1270) +2065 = AND(708, 1270) +2066 = AND(715, 1270) +2067 = AND(721, 1270) +2068 = AND(727, 1270) +2069 = AND(733, 1277) +2070 = AND(734, 1277) +2071 = AND(742, 1277) +2072 = AND(748, 1277) +2073 = AND(749, 1277) +2074 = BUFF(1189) +2081 = BUFF(1189) +2086 = BUFF(1222) +2107 = NAND(1287, 1821) +2108 = NAND(1284, 1822) +2110 = NOT(1703) +2111 = NAND(1703, 1832) +2112 = NAND(1308, 1834) +2113 = NAND(1305, 1835) +2114 = NOT(1713) +2115 = NAND(1713, 1839) +2117 = NOT(1721) +2171 = NOT(1758) +2172 = NAND(1758, 1965) +2230 = NOT(1708) +2231 = BUFF(1537) +2235 = BUFF(1551) +2239 = OR(1783, 1782) +2240 = OR(1783, 1125) +2241 = OR(1783, 1793) +2242 = OR(1783, 1794) +2243 = OR(1783, 1795) +2244 = OR(1789, 1796) +2245 = OR(1789, 1797) +2246 = OR(1789, 1798) +2247 = OR(1799, 1811) +2248 = OR(1799, 1812) +2249 = OR(1799, 1813) +2250 = OR(1799, 1814) +2251 = OR(1799, 1815) +2252 = OR(1805, 1816) +2253 = OR(1805, 1817) +2254 = OR(1805, 1818) +2255 = OR(1805, 1819) +2256 = OR(1805, 1820) +2257 = NAND(2107, 2108) +2267 = NOT(2074) +2268 = NAND(1299, 2110) +2269 = NAND(2112, 2113) +2274 = NAND(1311, 2114) +2275 = NOT(2081) +2277 = AND(141, 1845) +2278 = AND(147, 1845) +2279 = AND(138, 1845) +2280 = AND(144, 1845) +2281 = AND(135, 1845) +2282 = AND(141, 1851) +2283 = AND(147, 1851) +2284 = AND(138, 1851) +2285 = AND(144, 1851) +2286 = AND(135, 1851) +2287 = NOT(1885) +2293 = NOT(1892) +2299 = AND(103, 1885) +2300 = AND(130, 1885) +2301 = AND(127, 1885) +2302 = AND(124, 1885) +2303 = AND(100, 1885) +2304 = AND(103, 1892) +2305 = AND(130, 1892) +2306 = AND(127, 1892) +2307 = AND(124, 1892) +2308 = AND(100, 1892) +2309 = NOT(1899) +2315 = NOT(1906) +2321 = AND(115, 1899) +2322 = AND(118, 1899) +2323 = AND(97, 1899) +2324 = AND(94, 1899) +2325 = AND(121, 1899) +2326 = AND(115, 1906) +2327 = AND(118, 1906) +2328 = AND(97, 1906) +2329 = AND(94, 1906) +2330 = AND(121, 1906) +2331 = NOT(1919) +2337 = AND(208, 1913) +2338 = AND(198, 1913) +2339 = AND(207, 1913) +2340 = AND(206, 1913) +2341 = AND(205, 1913) +2342 = AND(44, 1919) +2343 = AND(41, 1919) +2344 = AND(29, 1919) +2345 = AND(26, 1919) +2346 = AND(23, 1919) +2347 = OR(1947, 1233) +2348 = OR(1947, 1957) +2349 = OR(1947, 1958) +2350 = OR(1947, 1959) +2351 = OR(1947, 1960) +2352 = OR(1953, 1961) +2353 = OR(1953, 1962) +2354 = OR(1953, 1963) +2355 = NAND(1428, 2171) +2356 = NOT(2086) +2357 = NAND(2086, 1967) +2358 = AND(114, 1977) +2359 = AND(113, 1977) +2360 = AND(111, 1977) +2361 = AND(87, 1977) +2362 = AND(112, 1977) +2363 = AND(88, 1983) +2364 = AND(245, 1983) +2365 = AND(271, 1983) +2366 = AND(759, 1983) +2367 = AND(70, 1983) +2368 = NOT(2003) +2374 = AND(193, 1997) +2375 = AND(192, 1997) +2376 = AND(191, 1997) +2377 = AND(190, 1997) +2378 = AND(189, 1997) +2379 = AND(47, 2003) +2380 = AND(35, 2003) +2381 = AND(32, 2003) +2382 = AND(50, 2003) +2383 = AND(66, 2003) +2384 = NOT(2024) +2390 = NOT(2031) +2396 = AND(58, 2024) +2397 = AND(77, 2024) +2398 = AND(78, 2024) +2399 = AND(59, 2024) +2400 = AND(81, 2024) +2401 = AND(80, 2031) +2402 = AND(79, 2031) +2403 = AND(60, 2031) +2404 = AND(61, 2031) +2405 = AND(62, 2031) +2406 = NOT(2038) +2412 = NOT(2045) +2418 = AND(69, 2038) +2419 = AND(70, 2038) +2420 = AND(74, 2038) +2421 = AND(76, 2038) +2422 = AND(75, 2038) +2423 = AND(73, 2045) +2424 = AND(53, 2045) +2425 = AND(54, 2045) +2426 = AND(55, 2045) +2427 = AND(56, 2045) +2428 = AND(82, 2052) +2429 = AND(65, 2052) +2430 = AND(83, 2052) +2431 = AND(84, 2052) +2432 = AND(85, 2052) +2433 = AND(64, 2058) +2434 = AND(63, 2058) +2435 = AND(86, 2058) +2436 = AND(109, 2058) +2437 = AND(110, 2058) +2441 = AND(2239, 1119) +2442 = AND(2240, 1119) +2446 = AND(2241, 1119) +2450 = AND(2242, 1119) +2454 = AND(2243, 1119) +2458 = AND(2244, 1132) +2462 = AND(2247, 1141) +2466 = AND(2248, 1141) +2470 = AND(2249, 1141) +2474 = AND(2250, 1141) +2478 = AND(2251, 1141) +2482 = AND(2252, 1154) +2488 = AND(2253, 1154) +2496 = AND(2254, 1154) +2502 = AND(2255, 1154) +2508 = AND(2256, 1154) +2523 = NAND(2268, 2111) +2533 = NAND(2274, 2115) +2537 = NOT(2235) +2538 = OR(2278, 1858) +2542 = OR(2279, 1859) +2546 = OR(2280, 1860) +2550 = OR(2281, 1861) +2554 = OR(2283, 1863) +2561 = OR(2284, 1864) +2567 = OR(2285, 1865) +2573 = OR(2286, 1866) +2604 = OR(2338, 1927) +2607 = OR(2339, 1928) +2611 = OR(2340, 1929) +2615 = OR(2341, 1930) +2619 = AND(2348, 1227) +2626 = AND(2349, 1227) +2632 = AND(2350, 1227) +2638 = AND(2351, 1227) +2644 = AND(2352, 1240) +2650 = NAND(2355, 2172) +2653 = NAND(1431, 2356) +2654 = OR(2359, 1990) +2658 = OR(2360, 1991) +2662 = OR(2361, 1992) +2666 = OR(2362, 1993) +2670 = OR(2363, 1994) +2674 = OR(2366, 1256) +2680 = OR(2367, 1256) +2688 = OR(2374, 2010) +2692 = OR(2375, 2011) +2696 = OR(2376, 2012) +2700 = OR(2377, 2013) +2704 = OR(2378, 2014) +2728 = AND(2347, 1227) +2729 = OR(2429, 2065) +2733 = OR(2430, 2066) +2737 = OR(2431, 2067) +2741 = OR(2432, 2068) +2745 = OR(2433, 2069) +2749 = OR(2434, 2070) +2753 = OR(2435, 2071) +2757 = OR(2436, 2072) +2761 = OR(2437, 2073) +2765 = NOT(2231) +2766 = AND(2354, 1240) +2769 = AND(2353, 1240) +2772 = AND(2246, 1132) +2775 = AND(2245, 1132) +2778 = OR(2282, 1862) +2781 = OR(2358, 1989) +2784 = OR(2365, 1996) +2787 = OR(2364, 1995) +2790 = OR(2337, 1926) +2793 = OR(2277, 1857) +2796 = OR(2428, 2064) +2866 = AND(2257, 1537) +2867 = AND(2257, 1537) +2868 = AND(2257, 1537) +2869 = AND(2257, 1537) +2878 = AND(2269, 1551) +2913 = AND(204, 2287) +2914 = AND(203, 2287) +2915 = AND(202, 2287) +2916 = AND(201, 2287) +2917 = AND(200, 2287) +2918 = AND(235, 2293) +2919 = AND(234, 2293) +2920 = AND(233, 2293) +2921 = AND(232, 2293) +2922 = AND(231, 2293) +2923 = AND(197, 2309) +2924 = AND(187, 2309) +2925 = AND(196, 2309) +2926 = AND(195, 2309) +2927 = AND(194, 2309) +2928 = AND(227, 2315) +2929 = AND(217, 2315) +2930 = AND(226, 2315) +2931 = AND(225, 2315) +2932 = AND(224, 2315) +2933 = AND(239, 2331) +2934 = AND(229, 2331) +2935 = AND(238, 2331) +2936 = AND(237, 2331) +2937 = AND(236, 2331) +2988 = NAND(2653, 2357) +3005 = AND(223, 2368) +3006 = AND(222, 2368) +3007 = AND(221, 2368) +3008 = AND(220, 2368) +3009 = AND(219, 2368) +3020 = AND(812, 2384) +3021 = AND(814, 2384) +3022 = AND(821, 2384) +3023 = AND(827, 2384) +3024 = AND(833, 2384) +3025 = AND(839, 2390) +3026 = AND(845, 2390) +3027 = AND(853, 2390) +3028 = AND(859, 2390) +3029 = AND(865, 2390) +3032 = AND(758, 2406) +3033 = AND(759, 2406) +3034 = AND(762, 2406) +3035 = AND(768, 2406) +3036 = AND(774, 2406) +3037 = AND(780, 2412) +3038 = AND(786, 2412) +3039 = AND(794, 2412) +3040 = AND(800, 2412) +3041 = AND(806, 2412) +3061 = BUFF(2257) +3064 = BUFF(2257) +3067 = BUFF(2269) +3070 = BUFF(2269) +3073 = NOT(2728) +3080 = NOT(2441) +3096 = AND(666, 2644) +3097 = AND(660, 2638) +3101 = AND(1189, 2632) +3107 = AND(651, 2626) +3114 = AND(644, 2619) +3122 = AND(2523, 2257) +3126 = OR(1167, 2866) +3130 = AND(2523, 2257) +3131 = OR(1167, 2869) +3134 = AND(2523, 2257) +3135 = NOT(2533) +3136 = AND(666, 2644) +3137 = AND(660, 2638) +3140 = AND(1189, 2632) +3144 = AND(651, 2626) +3149 = AND(644, 2619) +3155 = AND(2533, 2269) +3159 = OR(1174, 2878) +3167 = NOT(2778) +3168 = AND(609, 2508) +3169 = AND(604, 2502) +3173 = AND(742, 2496) +3178 = AND(734, 2488) +3184 = AND(599, 2482) +3185 = AND(727, 2573) +3189 = AND(721, 2567) +3195 = AND(715, 2561) +3202 = AND(708, 2554) +3210 = AND(609, 2508) +3211 = AND(604, 2502) +3215 = AND(742, 2496) +3221 = AND(2488, 734) +3228 = AND(599, 2482) +3229 = AND(727, 2573) +3232 = AND(721, 2567) +3236 = AND(715, 2561) +3241 = AND(708, 2554) +3247 = OR(2913, 2299) +3251 = OR(2914, 2300) +3255 = OR(2915, 2301) +3259 = OR(2916, 2302) +3263 = OR(2917, 2303) +3267 = OR(2918, 2304) +3273 = OR(2919, 2305) +3281 = OR(2920, 2306) +3287 = OR(2921, 2307) +3293 = OR(2922, 2308) +3299 = OR(2924, 2322) +3303 = OR(2925, 2323) +3307 = OR(2926, 2324) +3311 = OR(2927, 2325) +3315 = OR(2929, 2327) +3322 = OR(2930, 2328) +3328 = OR(2931, 2329) +3334 = OR(2932, 2330) +3340 = OR(2934, 2343) +3343 = OR(2935, 2344) +3349 = OR(2936, 2345) +3355 = OR(2937, 2346) +3361 = AND(2761, 2478) +3362 = AND(2757, 2474) +3363 = AND(2753, 2470) +3364 = AND(2749, 2466) +3365 = AND(2745, 2462) +3366 = AND(2741, 2550) +3367 = AND(2737, 2546) +3368 = AND(2733, 2542) +3369 = AND(2729, 2538) +3370 = AND(2670, 2458) +3371 = AND(2666, 2454) +3372 = AND(2662, 2450) +3373 = AND(2658, 2446) +3374 = AND(2654, 2442) +3375 = AND(2988, 2650) +3379 = AND(2650, 1966) +3380 = NOT(2781) +3381 = AND(695, 2604) +3384 = OR(3005, 2379) +3390 = OR(3006, 2380) +3398 = OR(3007, 2381) +3404 = OR(3008, 2382) +3410 = OR(3009, 2383) +3416 = OR(3021, 2397) +3420 = OR(3022, 2398) +3424 = OR(3023, 2399) +3428 = OR(3024, 2400) +3432 = OR(3025, 2401) +3436 = OR(3026, 2402) +3440 = OR(3027, 2403) +3444 = OR(3028, 2404) +3448 = OR(3029, 2405) +3452 = NOT(2790) +3453 = NOT(2793) +3454 = OR(3034, 2420) +3458 = OR(3035, 2421) +3462 = OR(3036, 2422) +3466 = OR(3037, 2423) +3470 = OR(3038, 2424) +3474 = OR(3039, 2425) +3478 = OR(3040, 2426) +3482 = OR(3041, 2427) +3486 = NOT(2796) +3487 = BUFF(2644) +3490 = BUFF(2638) +3493 = BUFF(2632) +3496 = BUFF(2626) +3499 = BUFF(2619) +3502 = BUFF(2523) +3507 = NOR(1167, 2868) +3510 = BUFF(2523) +3515 = NOR(644, 2619) +3518 = BUFF(2644) +3521 = BUFF(2638) +3524 = BUFF(2632) +3527 = BUFF(2626) +3530 = BUFF(2619) +3535 = BUFF(2619) +3539 = BUFF(2632) +3542 = BUFF(2626) +3545 = BUFF(2644) +3548 = BUFF(2638) +3551 = NOT(2766) +3552 = NOT(2769) +3553 = BUFF(2442) +3557 = BUFF(2450) +3560 = BUFF(2446) +3563 = BUFF(2458) +3566 = BUFF(2454) +3569 = NOT(2772) +3570 = NOT(2775) +3571 = BUFF(2554) +3574 = BUFF(2567) +3577 = BUFF(2561) +3580 = BUFF(2482) +3583 = BUFF(2573) +3586 = BUFF(2496) +3589 = BUFF(2488) +3592 = BUFF(2508) +3595 = BUFF(2502) +3598 = BUFF(2508) +3601 = BUFF(2502) +3604 = BUFF(2496) +3607 = BUFF(2482) +3610 = BUFF(2573) +3613 = BUFF(2567) +3616 = BUFF(2561) +3619 = BUFF(2488) +3622 = BUFF(2554) +3625 = NOR(734, 2488) +3628 = NOR(708, 2554) +3631 = BUFF(2508) +3634 = BUFF(2502) +3637 = BUFF(2496) +3640 = BUFF(2488) +3643 = BUFF(2482) +3646 = BUFF(2573) +3649 = BUFF(2567) +3652 = BUFF(2561) +3655 = BUFF(2554) +3658 = NOR(2488, 734) +3661 = BUFF(2674) +3664 = BUFF(2674) +3667 = BUFF(2761) +3670 = BUFF(2478) +3673 = BUFF(2757) +3676 = BUFF(2474) +3679 = BUFF(2753) +3682 = BUFF(2470) +3685 = BUFF(2745) +3688 = BUFF(2462) +3691 = BUFF(2741) +3694 = BUFF(2550) +3697 = BUFF(2737) +3700 = BUFF(2546) +3703 = BUFF(2733) +3706 = BUFF(2542) +3709 = BUFF(2749) +3712 = BUFF(2466) +3715 = BUFF(2729) +3718 = BUFF(2538) +3721 = BUFF(2704) +3724 = BUFF(2700) +3727 = BUFF(2696) +3730 = BUFF(2688) +3733 = BUFF(2692) +3736 = BUFF(2670) +3739 = BUFF(2458) +3742 = BUFF(2666) +3745 = BUFF(2454) +3748 = BUFF(2662) +3751 = BUFF(2450) +3754 = BUFF(2658) +3757 = BUFF(2446) +3760 = BUFF(2654) +3763 = BUFF(2442) +3766 = BUFF(2654) +3769 = BUFF(2662) +3772 = BUFF(2658) +3775 = BUFF(2670) +3778 = BUFF(2666) +3781 = NOT(2784) +3782 = NOT(2787) +3783 = OR(2928, 2326) +3786 = OR(2933, 2342) +3789 = OR(2923, 2321) +3792 = BUFF(2688) +3795 = BUFF(2696) +3798 = BUFF(2692) +3801 = BUFF(2704) +3804 = BUFF(2700) +3807 = BUFF(2604) +3810 = BUFF(2611) +3813 = BUFF(2607) +3816 = BUFF(2615) +3819 = BUFF(2538) +3822 = BUFF(2546) +3825 = BUFF(2542) +3828 = BUFF(2462) +3831 = BUFF(2550) +3834 = BUFF(2470) +3837 = BUFF(2466) +3840 = BUFF(2478) +3843 = BUFF(2474) +3846 = BUFF(2615) +3849 = BUFF(2611) +3852 = BUFF(2607) +3855 = BUFF(2680) +3858 = BUFF(2729) +3861 = BUFF(2737) +3864 = BUFF(2733) +3867 = BUFF(2745) +3870 = BUFF(2741) +3873 = BUFF(2753) +3876 = BUFF(2749) +3879 = BUFF(2761) +3882 = BUFF(2757) +3885 = OR(3033, 2419) +3888 = OR(3032, 2418) +3891 = OR(3020, 2396) +3953 = NAND(3067, 2117) +3954 = NOT(3067) +3955 = NAND(3070, 2537) +3956 = NOT(3070) +3958 = NOT(3073) +3964 = NOT(3080) +4193 = OR(1649, 3379) +4303 = OR(1167, 2867, 3130) +4308 = NOT(3061) +4313 = NOT(3064) +4326 = NAND(2769, 3551) +4327 = NAND(2766, 3552) +4333 = NAND(2775, 3569) +4334 = NAND(2772, 3570) +4411 = NAND(2787, 3781) +4412 = NAND(2784, 3782) +4463 = NAND(3487, 1828) +4464 = NOT(3487) +4465 = NAND(3490, 1829) +4466 = NOT(3490) +4467 = NAND(3493, 2267) +4468 = NOT(3493) +4469 = NAND(3496, 1830) +4470 = NOT(3496) +4471 = NAND(3499, 1833) +4472 = NOT(3499) +4473 = NOT(3122) +4474 = NOT(3126) +4475 = NAND(3518, 1840) +4476 = NOT(3518) +4477 = NAND(3521, 1841) +4478 = NOT(3521) +4479 = NAND(3524, 2275) +4480 = NOT(3524) +4481 = NAND(3527, 1842) +4482 = NOT(3527) +4483 = NAND(3530, 1843) +4484 = NOT(3530) +4485 = NOT(3155) +4486 = NOT(3159) +4487 = NAND(1721, 3954) +4488 = NAND(2235, 3956) +4489 = NOT(3535) +4490 = NAND(3535, 3958) +4491 = NOT(3539) +4492 = NOT(3542) +4493 = NOT(3545) +4494 = NOT(3548) +4495 = NOT(3553) +4496 = NAND(3553, 3964) +4497 = NOT(3557) +4498 = NOT(3560) +4499 = NOT(3563) +4500 = NOT(3566) +4501 = NOT(3571) +4502 = NAND(3571, 3167) +4503 = NOT(3574) +4504 = NOT(3577) +4505 = NOT(3580) +4506 = NOT(3583) +4507 = NAND(3598, 1867) +4508 = NOT(3598) +4509 = NAND(3601, 1868) +4510 = NOT(3601) +4511 = NAND(3604, 1869) +4512 = NOT(3604) +4513 = NAND(3607, 1870) +4514 = NOT(3607) +4515 = NAND(3610, 1871) +4516 = NOT(3610) +4517 = NAND(3613, 1872) +4518 = NOT(3613) +4519 = NAND(3616, 1873) +4520 = NOT(3616) +4521 = NAND(3619, 1874) +4522 = NOT(3619) +4523 = NAND(3622, 1875) +4524 = NOT(3622) +4525 = NAND(3631, 1876) +4526 = NOT(3631) +4527 = NAND(3634, 1877) +4528 = NOT(3634) +4529 = NAND(3637, 1878) +4530 = NOT(3637) +4531 = NAND(3640, 1879) +4532 = NOT(3640) +4533 = NAND(3643, 1880) +4534 = NOT(3643) +4535 = NAND(3646, 1881) +4536 = NOT(3646) +4537 = NAND(3649, 1882) +4538 = NOT(3649) +4539 = NAND(3652, 1883) +4540 = NOT(3652) +4541 = NAND(3655, 1884) +4542 = NOT(3655) +4543 = NOT(3658) +4544 = AND(806, 3293) +4545 = AND(800, 3287) +4549 = AND(794, 3281) +4555 = AND(3273, 786) +4562 = AND(780, 3267) +4563 = AND(774, 3355) +4566 = AND(768, 3349) +4570 = AND(762, 3343) +4575 = NOT(3661) +4576 = AND(806, 3293) +4577 = AND(800, 3287) +4581 = AND(794, 3281) +4586 = AND(786, 3273) +4592 = AND(780, 3267) +4593 = AND(774, 3355) +4597 = AND(768, 3349) +4603 = AND(762, 3343) +4610 = NOT(3664) +4611 = NOT(3667) +4612 = NOT(3670) +4613 = NOT(3673) +4614 = NOT(3676) +4615 = NOT(3679) +4616 = NOT(3682) +4617 = NOT(3685) +4618 = NOT(3688) +4619 = NOT(3691) +4620 = NOT(3694) +4621 = NOT(3697) +4622 = NOT(3700) +4623 = NOT(3703) +4624 = NOT(3706) +4625 = NOT(3709) +4626 = NOT(3712) +4627 = NOT(3715) +4628 = NOT(3718) +4629 = NOT(3721) +4630 = AND(3448, 2704) +4631 = NOT(3724) +4632 = AND(3444, 2700) +4633 = NOT(3727) +4634 = AND(3440, 2696) +4635 = AND(3436, 2692) +4636 = NOT(3730) +4637 = AND(3432, 2688) +4638 = AND(3428, 3311) +4639 = AND(3424, 3307) +4640 = AND(3420, 3303) +4641 = AND(3416, 3299) +4642 = NOT(3733) +4643 = NOT(3736) +4644 = NOT(3739) +4645 = NOT(3742) +4646 = NOT(3745) +4647 = NOT(3748) +4648 = NOT(3751) +4649 = NOT(3754) +4650 = NOT(3757) +4651 = NOT(3760) +4652 = NOT(3763) +4653 = NOT(3375) +4656 = AND(865, 3410) +4657 = AND(859, 3404) +4661 = AND(853, 3398) +4667 = AND(3390, 845) +4674 = AND(839, 3384) +4675 = AND(833, 3334) +4678 = AND(827, 3328) +4682 = AND(821, 3322) +4687 = AND(814, 3315) +4693 = NOT(3766) +4694 = NAND(3766, 3380) +4695 = NOT(3769) +4696 = NOT(3772) +4697 = NOT(3775) +4698 = NOT(3778) +4699 = NOT(3783) +4700 = NOT(3786) +4701 = AND(865, 3410) +4702 = AND(859, 3404) +4706 = AND(853, 3398) +4711 = AND(845, 3390) +4717 = AND(839, 3384) +4718 = AND(833, 3334) +4722 = AND(827, 3328) +4728 = AND(821, 3322) +4735 = AND(814, 3315) +4743 = NOT(3789) +4744 = NOT(3792) +4745 = NOT(3807) +4746 = NAND(3807, 3452) +4747 = NOT(3810) +4748 = NOT(3813) +4749 = NOT(3816) +4750 = NOT(3819) +4751 = NAND(3819, 3453) +4752 = NOT(3822) +4753 = NOT(3825) +4754 = NOT(3828) +4755 = NOT(3831) +4756 = AND(3482, 3263) +4757 = AND(3478, 3259) +4758 = AND(3474, 3255) +4759 = AND(3470, 3251) +4760 = AND(3466, 3247) +4761 = NOT(3846) +4762 = AND(3462, 2615) +4763 = NOT(3849) +4764 = AND(3458, 2611) +4765 = NOT(3852) +4766 = AND(3454, 2607) +4767 = AND(2680, 3381) +4768 = NOT(3855) +4769 = AND(3340, 695) +4775 = NOT(3858) +4776 = NAND(3858, 3486) +4777 = NOT(3861) +4778 = NOT(3864) +4779 = NOT(3867) +4780 = NOT(3870) +4781 = NOT(3885) +4782 = NOT(3888) +4783 = NOT(3891) +4784 = OR(3131, 3134) +4789 = NOT(3502) +4790 = NOT(3131) +4793 = NOT(3507) +4794 = NOT(3510) +4795 = NOT(3515) +4796 = BUFF(3114) +4799 = NOT(3586) +4800 = NOT(3589) +4801 = NOT(3592) +4802 = NOT(3595) +4803 = NAND(4326, 4327) +4806 = NAND(4333, 4334) +4809 = NOT(3625) +4810 = BUFF(3178) +4813 = NOT(3628) +4814 = BUFF(3202) +4817 = BUFF(3221) +4820 = BUFF(3293) +4823 = BUFF(3287) +4826 = BUFF(3281) +4829 = BUFF(3273) +4832 = BUFF(3267) +4835 = BUFF(3355) +4838 = BUFF(3349) +4841 = BUFF(3343) +4844 = NOR(3273, 786) +4847 = BUFF(3293) +4850 = BUFF(3287) +4853 = BUFF(3281) +4856 = BUFF(3267) +4859 = BUFF(3355) +4862 = BUFF(3349) +4865 = BUFF(3343) +4868 = BUFF(3273) +4871 = NOR(786, 3273) +4874 = BUFF(3448) +4877 = BUFF(3444) +4880 = BUFF(3440) +4883 = BUFF(3432) +4886 = BUFF(3428) +4889 = BUFF(3311) +4892 = BUFF(3424) +4895 = BUFF(3307) +4898 = BUFF(3420) +4901 = BUFF(3303) +4904 = BUFF(3436) +4907 = BUFF(3416) +4910 = BUFF(3299) +4913 = BUFF(3410) +4916 = BUFF(3404) +4919 = BUFF(3398) +4922 = BUFF(3390) +4925 = BUFF(3384) +4928 = BUFF(3334) +4931 = BUFF(3328) +4934 = BUFF(3322) +4937 = BUFF(3315) +4940 = NOR(3390, 845) +4943 = BUFF(3315) +4946 = BUFF(3328) +4949 = BUFF(3322) +4952 = BUFF(3384) +4955 = BUFF(3334) +4958 = BUFF(3398) +4961 = BUFF(3390) +4964 = BUFF(3410) +4967 = BUFF(3404) +4970 = BUFF(3340) +4973 = BUFF(3349) +4976 = BUFF(3343) +4979 = BUFF(3267) +4982 = BUFF(3355) +4985 = BUFF(3281) +4988 = BUFF(3273) +4991 = BUFF(3293) +4994 = BUFF(3287) +4997 = NAND(4411, 4412) +5000 = BUFF(3410) +5003 = BUFF(3404) +5006 = BUFF(3398) +5009 = BUFF(3384) +5012 = BUFF(3334) +5015 = BUFF(3328) +5018 = BUFF(3322) +5021 = BUFF(3390) +5024 = BUFF(3315) +5027 = NOR(845, 3390) +5030 = NOR(814, 3315) +5033 = BUFF(3299) +5036 = BUFF(3307) +5039 = BUFF(3303) +5042 = BUFF(3311) +5045 = NOT(3795) +5046 = NOT(3798) +5047 = NOT(3801) +5048 = NOT(3804) +5049 = BUFF(3247) +5052 = BUFF(3255) +5055 = BUFF(3251) +5058 = BUFF(3263) +5061 = BUFF(3259) +5064 = NOT(3834) +5065 = NOT(3837) +5066 = NOT(3840) +5067 = NOT(3843) +5068 = BUFF(3482) +5071 = BUFF(3263) +5074 = BUFF(3478) +5077 = BUFF(3259) +5080 = BUFF(3474) +5083 = BUFF(3255) +5086 = BUFF(3466) +5089 = BUFF(3247) +5092 = BUFF(3462) +5095 = BUFF(3458) +5098 = BUFF(3454) +5101 = BUFF(3470) +5104 = BUFF(3251) +5107 = BUFF(3381) +5110 = NOT(3873) +5111 = NOT(3876) +5112 = NOT(3879) +5113 = NOT(3882) +5114 = BUFF(3458) +5117 = BUFF(3454) +5120 = BUFF(3466) +5123 = BUFF(3462) +5126 = BUFF(3474) +5129 = BUFF(3470) +5132 = BUFF(3482) +5135 = BUFF(3478) +5138 = BUFF(3416) +5141 = BUFF(3424) +5144 = BUFF(3420) +5147 = BUFF(3432) +5150 = BUFF(3428) +5153 = BUFF(3440) +5156 = BUFF(3436) +5159 = BUFF(3448) +5162 = BUFF(3444) +5165 = NAND(4486, 4485) +5166 = NAND(4474, 4473) +5167 = NAND(1290, 4464) +5168 = NAND(1293, 4466) +5169 = NAND(2074, 4468) +5170 = NAND(1296, 4470) +5171 = NAND(1302, 4472) +5172 = NAND(1314, 4476) +5173 = NAND(1317, 4478) +5174 = NAND(2081, 4480) +5175 = NAND(1320, 4482) +5176 = NAND(1323, 4484) +5177 = NAND(3953, 4487) +5178 = NAND(3955, 4488) +5179 = NAND(3073, 4489) +5180 = NAND(3542, 4491) +5181 = NAND(3539, 4492) +5182 = NAND(3548, 4493) +5183 = NAND(3545, 4494) +5184 = NAND(3080, 4495) +5185 = NAND(3560, 4497) +5186 = NAND(3557, 4498) +5187 = NAND(3566, 4499) +5188 = NAND(3563, 4500) +5189 = NAND(2778, 4501) +5190 = NAND(3577, 4503) +5191 = NAND(3574, 4504) +5192 = NAND(3583, 4505) +5193 = NAND(3580, 4506) +5196 = NAND(1326, 4508) +5197 = NAND(1329, 4510) +5198 = NAND(1332, 4512) +5199 = NAND(1335, 4514) +5200 = NAND(1338, 4516) +5201 = NAND(1341, 4518) +5202 = NAND(1344, 4520) +5203 = NAND(1347, 4522) +5204 = NAND(1350, 4524) +5205 = NAND(1353, 4526) +5206 = NAND(1356, 4528) +5207 = NAND(1359, 4530) +5208 = NAND(1362, 4532) +5209 = NAND(1365, 4534) +5210 = NAND(1368, 4536) +5211 = NAND(1371, 4538) +5212 = NAND(1374, 4540) +5213 = NAND(1377, 4542) +5283 = NAND(3670, 4611) +5284 = NAND(3667, 4612) +5285 = NAND(3676, 4613) +5286 = NAND(3673, 4614) +5287 = NAND(3682, 4615) +5288 = NAND(3679, 4616) +5289 = NAND(3688, 4617) +5290 = NAND(3685, 4618) +5291 = NAND(3694, 4619) +5292 = NAND(3691, 4620) +5293 = NAND(3700, 4621) +5294 = NAND(3697, 4622) +5295 = NAND(3706, 4623) +5296 = NAND(3703, 4624) +5297 = NAND(3712, 4625) +5298 = NAND(3709, 4626) +5299 = NAND(3718, 4627) +5300 = NAND(3715, 4628) +5314 = NAND(3739, 4643) +5315 = NAND(3736, 4644) +5316 = NAND(3745, 4645) +5317 = NAND(3742, 4646) +5318 = NAND(3751, 4647) +5319 = NAND(3748, 4648) +5320 = NAND(3757, 4649) +5321 = NAND(3754, 4650) +5322 = NAND(3763, 4651) +5323 = NAND(3760, 4652) +5324 = NOT(4193) +5363 = NAND(2781, 4693) +5364 = NAND(3772, 4695) +5365 = NAND(3769, 4696) +5366 = NAND(3778, 4697) +5367 = NAND(3775, 4698) +5425 = NAND(2790, 4745) +5426 = NAND(3813, 4747) +5427 = NAND(3810, 4748) +5429 = NAND(2793, 4750) +5430 = NAND(3825, 4752) +5431 = NAND(3822, 4753) +5432 = NAND(3831, 4754) +5433 = NAND(3828, 4755) +5451 = NAND(2796, 4775) +5452 = NAND(3864, 4777) +5453 = NAND(3861, 4778) +5454 = NAND(3870, 4779) +5455 = NAND(3867, 4780) +5456 = NAND(3888, 4781) +5457 = NAND(3885, 4782) +5469 = NOT(4303) +5474 = NAND(3589, 4799) +5475 = NAND(3586, 4800) +5476 = NAND(3595, 4801) +5477 = NAND(3592, 4802) +5571 = NAND(3798, 5045) +5572 = NAND(3795, 5046) +5573 = NAND(3804, 5047) +5574 = NAND(3801, 5048) +5584 = NAND(3837, 5064) +5585 = NAND(3834, 5065) +5586 = NAND(3843, 5066) +5587 = NAND(3840, 5067) +5602 = NAND(3876, 5110) +5603 = NAND(3873, 5111) +5604 = NAND(3882, 5112) +5605 = NAND(3879, 5113) +5631 = NAND(5324, 4653) +5632 = NAND(4463, 5167) +5640 = NAND(4465, 5168) +5654 = NAND(4467, 5169) +5670 = NAND(4469, 5170) +5683 = NAND(4471, 5171) +5690 = NAND(4475, 5172) +5697 = NAND(4477, 5173) +5707 = NAND(4479, 5174) +5718 = NAND(4481, 5175) +5728 = NAND(4483, 5176) +5735 = NOT(5177) +5736 = NAND(5179, 4490) +5740 = NAND(5180, 5181) +5744 = NAND(5182, 5183) +5747 = NAND(5184, 4496) +5751 = NAND(5185, 5186) +5755 = NAND(5187, 5188) +5758 = NAND(5189, 4502) +5762 = NAND(5190, 5191) +5766 = NAND(5192, 5193) +5769 = NOT(4803) +5770 = NOT(4806) +5771 = NAND(4507, 5196) +5778 = NAND(4509, 5197) +5789 = NAND(4511, 5198) +5799 = NAND(4513, 5199) +5807 = NAND(4515, 5200) +5821 = NAND(4517, 5201) +5837 = NAND(4519, 5202) +5850 = NAND(4521, 5203) +5856 = NAND(4523, 5204) +5863 = NAND(4525, 5205) +5870 = NAND(4527, 5206) +5881 = NAND(4529, 5207) +5892 = NAND(4531, 5208) +5898 = NAND(4533, 5209) +5905 = NAND(4535, 5210) +5915 = NAND(4537, 5211) +5926 = NAND(4539, 5212) +5936 = NAND(4541, 5213) +5943 = NOT(4817) +5944 = NAND(4820, 1931) +5945 = NOT(4820) +5946 = NAND(4823, 1932) +5947 = NOT(4823) +5948 = NAND(4826, 1933) +5949 = NOT(4826) +5950 = NAND(4829, 1934) +5951 = NOT(4829) +5952 = NAND(4832, 1935) +5953 = NOT(4832) +5954 = NAND(4835, 1936) +5955 = NOT(4835) +5956 = NAND(4838, 1937) +5957 = NOT(4838) +5958 = NAND(4841, 1938) +5959 = NOT(4841) +5960 = AND(2674, 4769) +5966 = NOT(4844) +5967 = NAND(4847, 1939) +5968 = NOT(4847) +5969 = NAND(4850, 1940) +5970 = NOT(4850) +5971 = NAND(4853, 1941) +5972 = NOT(4853) +5973 = NAND(4856, 1942) +5974 = NOT(4856) +5975 = NAND(4859, 1943) +5976 = NOT(4859) +5977 = NAND(4862, 1944) +5978 = NOT(4862) +5979 = NAND(4865, 1945) +5980 = NOT(4865) +5981 = AND(2674, 4769) +5989 = NAND(4868, 1946) +5990 = NOT(4868) +5991 = NAND(5283, 5284) +5996 = NAND(5285, 5286) +6000 = NAND(5287, 5288) +6003 = NAND(5289, 5290) +6009 = NAND(5291, 5292) +6014 = NAND(5293, 5294) +6018 = NAND(5295, 5296) +6021 = NAND(5297, 5298) +6022 = NAND(5299, 5300) +6023 = NOT(4874) +6024 = NAND(4874, 4629) +6025 = NOT(4877) +6026 = NAND(4877, 4631) +6027 = NOT(4880) +6028 = NAND(4880, 4633) +6029 = NOT(4883) +6030 = NAND(4883, 4636) +6031 = NOT(4886) +6032 = NOT(4889) +6033 = NOT(4892) +6034 = NOT(4895) +6035 = NOT(4898) +6036 = NOT(4901) +6037 = NOT(4904) +6038 = NAND(4904, 4642) +6039 = NOT(4907) +6040 = NOT(4910) +6041 = NAND(5314, 5315) +6047 = NAND(5316, 5317) +6052 = NAND(5318, 5319) +6056 = NAND(5320, 5321) +6059 = NAND(5322, 5323) +6060 = NAND(4913, 1968) +6061 = NOT(4913) +6062 = NAND(4916, 1969) +6063 = NOT(4916) +6064 = NAND(4919, 1970) +6065 = NOT(4919) +6066 = NAND(4922, 1971) +6067 = NOT(4922) +6068 = NAND(4925, 1972) +6069 = NOT(4925) +6070 = NAND(4928, 1973) +6071 = NOT(4928) +6072 = NAND(4931, 1974) +6073 = NOT(4931) +6074 = NAND(4934, 1975) +6075 = NOT(4934) +6076 = NAND(4937, 1976) +6077 = NOT(4937) +6078 = NOT(4940) +6079 = NAND(5363, 4694) +6083 = NAND(5364, 5365) +6087 = NAND(5366, 5367) +6090 = NOT(4943) +6091 = NAND(4943, 4699) +6092 = NOT(4946) +6093 = NOT(4949) +6094 = NOT(4952) +6095 = NOT(4955) +6096 = NOT(4970) +6097 = NAND(4970, 4700) +6098 = NOT(4973) +6099 = NOT(4976) +6100 = NOT(4979) +6101 = NOT(4982) +6102 = NOT(4997) +6103 = NAND(5000, 2015) +6104 = NOT(5000) +6105 = NAND(5003, 2016) +6106 = NOT(5003) +6107 = NAND(5006, 2017) +6108 = NOT(5006) +6109 = NAND(5009, 2018) +6110 = NOT(5009) +6111 = NAND(5012, 2019) +6112 = NOT(5012) +6113 = NAND(5015, 2020) +6114 = NOT(5015) +6115 = NAND(5018, 2021) +6116 = NOT(5018) +6117 = NAND(5021, 2022) +6118 = NOT(5021) +6119 = NAND(5024, 2023) +6120 = NOT(5024) +6121 = NOT(5033) +6122 = NAND(5033, 4743) +6123 = NOT(5036) +6124 = NOT(5039) +6125 = NAND(5042, 4744) +6126 = NOT(5042) +6127 = NAND(5425, 4746) +6131 = NAND(5426, 5427) +6135 = NOT(5049) +6136 = NAND(5049, 4749) +6137 = NAND(5429, 4751) +6141 = NAND(5430, 5431) +6145 = NAND(5432, 5433) +6148 = NOT(5068) +6149 = NOT(5071) +6150 = NOT(5074) +6151 = NOT(5077) +6152 = NOT(5080) +6153 = NOT(5083) +6154 = NOT(5086) +6155 = NOT(5089) +6156 = NOT(5092) +6157 = NAND(5092, 4761) +6158 = NOT(5095) +6159 = NAND(5095, 4763) +6160 = NOT(5098) +6161 = NAND(5098, 4765) +6162 = NOT(5101) +6163 = NOT(5104) +6164 = NAND(5107, 4768) +6165 = NOT(5107) +6166 = NAND(5451, 4776) +6170 = NAND(5452, 5453) +6174 = NAND(5454, 5455) +6177 = NAND(5456, 5457) +6181 = NOT(5114) +6182 = NOT(5117) +6183 = NOT(5120) +6184 = NOT(5123) +6185 = NOT(5138) +6186 = NAND(5138, 4783) +6187 = NOT(5141) +6188 = NOT(5144) +6189 = NOT(5147) +6190 = NOT(5150) +6191 = NOT(4784) +6192 = NAND(4784, 2230) +6193 = NOT(4790) +6194 = NAND(4790, 2765) +6195 = NOT(4796) +6196 = NAND(5476, 5477) +6199 = NAND(5474, 5475) +6202 = NOT(4810) +6203 = NOT(4814) +6204 = BUFF(4769) +6207 = BUFF(4555) +6210 = BUFF(4769) +6213 = NOT(4871) +6214 = BUFF(4586) +6217 = NOR(2674, 4769) +6220 = BUFF(4667) +6223 = NOT(4958) +6224 = NOT(4961) +6225 = NOT(4964) +6226 = NOT(4967) +6227 = NOT(4985) +6228 = NOT(4988) +6229 = NOT(4991) +6230 = NOT(4994) +6231 = NOT(5027) +6232 = BUFF(4711) +6235 = NOT(5030) +6236 = BUFF(4735) +6239 = NOT(5052) +6240 = NOT(5055) +6241 = NOT(5058) +6242 = NOT(5061) +6243 = NAND(5573, 5574) +6246 = NAND(5571, 5572) +6249 = NAND(5586, 5587) +6252 = NAND(5584, 5585) +6255 = NOT(5126) +6256 = NOT(5129) +6257 = NOT(5132) +6258 = NOT(5135) +6259 = NOT(5153) +6260 = NOT(5156) +6261 = NOT(5159) +6262 = NOT(5162) +6263 = NAND(5604, 5605) +6266 = NAND(5602, 5603) +6540 = NAND(1380, 5945) +6541 = NAND(1383, 5947) +6542 = NAND(1386, 5949) +6543 = NAND(1389, 5951) +6544 = NAND(1392, 5953) +6545 = NAND(1395, 5955) +6546 = NAND(1398, 5957) +6547 = NAND(1401, 5959) +6555 = NAND(1404, 5968) +6556 = NAND(1407, 5970) +6557 = NAND(1410, 5972) +6558 = NAND(1413, 5974) +6559 = NAND(1416, 5976) +6560 = NAND(1419, 5978) +6561 = NAND(1422, 5980) +6569 = NAND(1425, 5990) +6594 = NAND(3721, 6023) +6595 = NAND(3724, 6025) +6596 = NAND(3727, 6027) +6597 = NAND(3730, 6029) +6598 = NAND(4889, 6031) +6599 = NAND(4886, 6032) +6600 = NAND(4895, 6033) +6601 = NAND(4892, 6034) +6602 = NAND(4901, 6035) +6603 = NAND(4898, 6036) +6604 = NAND(3733, 6037) +6605 = NAND(4910, 6039) +6606 = NAND(4907, 6040) +6621 = NAND(1434, 6061) +6622 = NAND(1437, 6063) +6623 = NAND(1440, 6065) +6624 = NAND(1443, 6067) +6625 = NAND(1446, 6069) +6626 = NAND(1449, 6071) +6627 = NAND(1452, 6073) +6628 = NAND(1455, 6075) +6629 = NAND(1458, 6077) +6639 = NAND(3783, 6090) +6640 = NAND(4949, 6092) +6641 = NAND(4946, 6093) +6642 = NAND(4955, 6094) +6643 = NAND(4952, 6095) +6644 = NAND(3786, 6096) +6645 = NAND(4976, 6098) +6646 = NAND(4973, 6099) +6647 = NAND(4982, 6100) +6648 = NAND(4979, 6101) +6649 = NAND(1461, 6104) +6650 = NAND(1464, 6106) +6651 = NAND(1467, 6108) +6652 = NAND(1470, 6110) +6653 = NAND(1473, 6112) +6654 = NAND(1476, 6114) +6655 = NAND(1479, 6116) +6656 = NAND(1482, 6118) +6657 = NAND(1485, 6120) +6658 = NAND(3789, 6121) +6659 = NAND(5039, 6123) +6660 = NAND(5036, 6124) +6661 = NAND(3792, 6126) +6668 = NAND(3816, 6135) +6677 = NAND(5071, 6148) +6678 = NAND(5068, 6149) +6679 = NAND(5077, 6150) +6680 = NAND(5074, 6151) +6681 = NAND(5083, 6152) +6682 = NAND(5080, 6153) +6683 = NAND(5089, 6154) +6684 = NAND(5086, 6155) +6685 = NAND(3846, 6156) +6686 = NAND(3849, 6158) +6687 = NAND(3852, 6160) +6688 = NAND(5104, 6162) +6689 = NAND(5101, 6163) +6690 = NAND(3855, 6165) +6702 = NAND(5117, 6181) +6703 = NAND(5114, 6182) +6704 = NAND(5123, 6183) +6705 = NAND(5120, 6184) +6706 = NAND(3891, 6185) +6707 = NAND(5144, 6187) +6708 = NAND(5141, 6188) +6709 = NAND(5150, 6189) +6710 = NAND(5147, 6190) +6711 = NAND(1708, 6191) +6712 = NAND(2231, 6193) +6729 = NAND(4961, 6223) +6730 = NAND(4958, 6224) +6731 = NAND(4967, 6225) +6732 = NAND(4964, 6226) +6733 = NAND(4988, 6227) +6734 = NAND(4985, 6228) +6735 = NAND(4994, 6229) +6736 = NAND(4991, 6230) +6741 = NAND(5055, 6239) +6742 = NAND(5052, 6240) +6743 = NAND(5061, 6241) +6744 = NAND(5058, 6242) +6751 = NAND(5129, 6255) +6752 = NAND(5126, 6256) +6753 = NAND(5135, 6257) +6754 = NAND(5132, 6258) +6755 = NAND(5156, 6259) +6756 = NAND(5153, 6260) +6757 = NAND(5162, 6261) +6758 = NAND(5159, 6262) +6761 = NOT(5892) +6762 = AND(5683, 5670, 5654, 5640, 5632) +6766 = AND(5632, 3097) +6767 = AND(5640, 5632, 3101) +6768 = AND(5654, 5632, 3107, 5640) +6769 = AND(5670, 5654, 5632, 3114, 5640) +6770 = AND(5640, 3101) +6771 = AND(5654, 3107, 5640) +6772 = AND(5670, 5654, 3114, 5640) +6773 = AND(5683, 5654, 5640, 5670) +6774 = AND(5640, 3101) +6775 = AND(5654, 3107, 5640) +6776 = AND(5670, 5654, 3114, 5640) +6777 = AND(5654, 3107) +6778 = AND(5670, 5654, 3114) +6779 = AND(5683, 5654, 5670) +6780 = AND(5654, 3107) +6781 = AND(5670, 5654, 3114) +6782 = AND(5670, 3114) +6783 = AND(5683, 5670) +6784 = AND(5697, 5728, 5707, 5690, 5718) +6787 = AND(5690, 3137) +6788 = AND(5697, 5690, 3140) +6789 = AND(5707, 5690, 3144, 5697) +6790 = AND(5718, 5707, 5690, 3149, 5697) +6791 = AND(5697, 3140) +6792 = AND(5707, 3144, 5697) +6793 = AND(5718, 5707, 3149, 5697) +6794 = AND(3144, 5707) +6795 = AND(5718, 5707, 3149) +6796 = AND(5718, 3149) +6797 = NOT(5736) +6800 = NOT(5740) +6803 = NOT(5747) +6806 = NOT(5751) +6809 = NOT(5758) +6812 = NOT(5762) +6815 = BUFF(5744) +6818 = BUFF(5744) +6821 = BUFF(5755) +6824 = BUFF(5755) +6827 = BUFF(5766) +6830 = BUFF(5766) +6833 = AND(5850, 5789, 5778, 5771) +6836 = AND(5771, 3169) +6837 = AND(5778, 5771, 3173) +6838 = AND(5789, 5771, 3178, 5778) +6839 = AND(5778, 3173) +6840 = AND(5789, 3178, 5778) +6841 = AND(5850, 5789, 5778) +6842 = AND(5778, 3173) +6843 = AND(5789, 3178, 5778) +6844 = AND(5789, 3178) +6845 = AND(5856, 5837, 5821, 5807, 5799) +6848 = AND(5799, 3185) +6849 = AND(5807, 5799, 3189) +6850 = AND(5821, 5799, 3195, 5807) +6851 = AND(5837, 5821, 5799, 3202, 5807) +6852 = AND(5807, 3189) +6853 = AND(5821, 3195, 5807) +6854 = AND(5837, 5821, 3202, 5807) +6855 = AND(5856, 5821, 5807, 5837) +6856 = AND(5807, 3189) +6857 = AND(5821, 3195, 5807) +6858 = AND(5837, 5821, 3202, 5807) +6859 = AND(5821, 3195) +6860 = AND(5837, 5821, 3202) +6861 = AND(5856, 5821, 5837) +6862 = AND(5821, 3195) +6863 = AND(5837, 5821, 3202) +6864 = AND(5837, 3202) +6865 = AND(5850, 5789) +6866 = AND(5856, 5837) +6867 = AND(5870, 5892, 5881, 5863) +6870 = AND(5863, 3211) +6871 = AND(5870, 5863, 3215) +6872 = AND(5881, 5863, 3221, 5870) +6873 = AND(5870, 3215) +6874 = AND(5881, 3221, 5870) +6875 = AND(5892, 5881, 5870) +6876 = AND(5870, 3215) +6877 = AND(3221, 5881, 5870) +6878 = AND(5881, 3221) +6879 = AND(5892, 5881) +6880 = AND(5881, 3221) +6881 = AND(5905, 5936, 5915, 5898, 5926) +6884 = AND(5898, 3229) +6885 = AND(5905, 5898, 3232) +6886 = AND(5915, 5898, 3236, 5905) +6887 = AND(5926, 5915, 5898, 3241, 5905) +6888 = AND(5905, 3232) +6889 = AND(5915, 3236, 5905) +6890 = AND(5926, 5915, 3241, 5905) +6891 = AND(3236, 5915) +6892 = AND(5926, 5915, 3241) +6893 = AND(5926, 3241) +6894 = NAND(5944, 6540) +6901 = NAND(5946, 6541) +6912 = NAND(5948, 6542) +6923 = NAND(5950, 6543) +6929 = NAND(5952, 6544) +6936 = NAND(5954, 6545) +6946 = NAND(5956, 6546) +6957 = NAND(5958, 6547) +6967 = NAND(6204, 4575) +6968 = NOT(6204) +6969 = NOT(6207) +6970 = NAND(5967, 6555) +6977 = NAND(5969, 6556) +6988 = NAND(5971, 6557) +6998 = NAND(5973, 6558) +7006 = NAND(5975, 6559) +7020 = NAND(5977, 6560) +7036 = NAND(5979, 6561) +7049 = NAND(5989, 6569) +7055 = NAND(6210, 4610) +7056 = NOT(6210) +7057 = AND(6021, 6000, 5996, 5991) +7060 = AND(5991, 3362) +7061 = AND(5996, 5991, 3363) +7062 = AND(6000, 5991, 3364, 5996) +7063 = AND(6022, 6018, 6014, 6009, 6003) +7064 = AND(6003, 3366) +7065 = AND(6009, 6003, 3367) +7066 = AND(6014, 6003, 3368, 6009) +7067 = AND(6018, 6014, 6003, 3369, 6009) +7068 = NAND(6594, 6024) +7073 = NAND(6595, 6026) +7077 = NAND(6596, 6028) +7080 = NAND(6597, 6030) +7086 = NAND(6598, 6599) +7091 = NAND(6600, 6601) +7095 = NAND(6602, 6603) +7098 = NAND(6604, 6038) +7099 = NAND(6605, 6606) +7100 = AND(6059, 6056, 6052, 6047, 6041) +7103 = AND(6041, 3371) +7104 = AND(6047, 6041, 3372) +7105 = AND(6052, 6041, 3373, 6047) +7106 = AND(6056, 6052, 6041, 3374, 6047) +7107 = NAND(6060, 6621) +7114 = NAND(6062, 6622) +7125 = NAND(6064, 6623) +7136 = NAND(6066, 6624) +7142 = NAND(6068, 6625) +7149 = NAND(6070, 6626) +7159 = NAND(6072, 6627) +7170 = NAND(6074, 6628) +7180 = NAND(6076, 6629) +7187 = NOT(6220) +7188 = NOT(6079) +7191 = NOT(6083) +7194 = NAND(6639, 6091) +7198 = NAND(6640, 6641) +7202 = NAND(6642, 6643) +7205 = NAND(6644, 6097) +7209 = NAND(6645, 6646) +7213 = NAND(6647, 6648) +7216 = BUFF(6087) +7219 = BUFF(6087) +7222 = NAND(6103, 6649) +7229 = NAND(6105, 6650) +7240 = NAND(6107, 6651) +7250 = NAND(6109, 6652) +7258 = NAND(6111, 6653) +7272 = NAND(6113, 6654) +7288 = NAND(6115, 6655) +7301 = NAND(6117, 6656) +7307 = NAND(6119, 6657) +7314 = NAND(6658, 6122) +7318 = NAND(6659, 6660) +7322 = NAND(6125, 6661) +7325 = NOT(6127) +7328 = NOT(6131) +7331 = NAND(6668, 6136) +7334 = NOT(6137) +7337 = NOT(6141) +7340 = BUFF(6145) +7343 = BUFF(6145) +7346 = NAND(6677, 6678) +7351 = NAND(6679, 6680) +7355 = NAND(6681, 6682) +7358 = NAND(6683, 6684) +7364 = NAND(6685, 6157) +7369 = NAND(6686, 6159) +7373 = NAND(6687, 6161) +7376 = NAND(6688, 6689) +7377 = NAND(6164, 6690) +7378 = NOT(6166) +7381 = NOT(6170) +7384 = NOT(6177) +7387 = NAND(6702, 6703) +7391 = NAND(6704, 6705) +7394 = NAND(6706, 6186) +7398 = NAND(6707, 6708) +7402 = NAND(6709, 6710) +7405 = BUFF(6174) +7408 = BUFF(6174) +7411 = BUFF(5936) +7414 = BUFF(5898) +7417 = BUFF(5905) +7420 = BUFF(5915) +7423 = BUFF(5926) +7426 = BUFF(5728) +7429 = BUFF(5690) +7432 = BUFF(5697) +7435 = BUFF(5707) +7438 = BUFF(5718) +7441 = NAND(6192, 6711) +7444 = NAND(6194, 6712) +7447 = BUFF(5683) +7450 = BUFF(5670) +7453 = BUFF(5632) +7456 = BUFF(5654) +7459 = BUFF(5640) +7462 = BUFF(5640) +7465 = BUFF(5683) +7468 = BUFF(5670) +7471 = BUFF(5632) +7474 = BUFF(5654) +7477 = NOT(6196) +7478 = NOT(6199) +7479 = BUFF(5850) +7482 = BUFF(5789) +7485 = BUFF(5771) +7488 = BUFF(5778) +7491 = BUFF(5850) +7494 = BUFF(5789) +7497 = BUFF(5771) +7500 = BUFF(5778) +7503 = BUFF(5856) +7506 = BUFF(5837) +7509 = BUFF(5799) +7512 = BUFF(5821) +7515 = BUFF(5807) +7518 = BUFF(5807) +7521 = BUFF(5856) +7524 = BUFF(5837) +7527 = BUFF(5799) +7530 = BUFF(5821) +7533 = BUFF(5863) +7536 = BUFF(5863) +7539 = BUFF(5870) +7542 = BUFF(5870) +7545 = BUFF(5881) +7548 = BUFF(5881) +7551 = NOT(6214) +7552 = NOT(6217) +7553 = BUFF(5981) +7556 = NOT(6249) +7557 = NOT(6252) +7558 = NOT(6243) +7559 = NOT(6246) +7560 = NAND(6731, 6732) +7563 = NAND(6729, 6730) +7566 = NAND(6735, 6736) +7569 = NAND(6733, 6734) +7572 = NOT(6232) +7573 = NOT(6236) +7574 = NAND(6743, 6744) +7577 = NAND(6741, 6742) +7580 = NOT(6263) +7581 = NOT(6266) +7582 = NAND(6753, 6754) +7585 = NAND(6751, 6752) +7588 = NAND(6757, 6758) +7591 = NAND(6755, 6756) +7609 = OR(3096, 6766, 6767, 6768, 6769) +7613 = OR(3107, 6782) +7620 = OR(3136, 6787, 6788, 6789, 6790) +7649 = OR(3168, 6836, 6837, 6838) +7650 = OR(3173, 6844) +7655 = OR(3184, 6848, 6849, 6850, 6851) +7659 = OR(3195, 6864) +7668 = OR(3210, 6870, 6871, 6872) +7671 = OR(3228, 6884, 6885, 6886, 6887) +7744 = NAND(3661, 6968) +7822 = NAND(3664, 7056) +7825 = OR(3361, 7060, 7061, 7062) +7826 = OR(3365, 7064, 7065, 7066, 7067) +7852 = OR(3370, 7103, 7104, 7105, 7106) +8114 = OR(3101, 6777, 6778, 6779) +8117 = OR(3097, 6770, 6771, 6772, 6773) +8131 = NOR(3101, 6780, 6781) +8134 = NOR(3097, 6774, 6775, 6776) +8144 = NAND(6199, 7477) +8145 = NAND(6196, 7478) +8146 = OR(3169, 6839, 6840, 6841) +8156 = NOR(3169, 6842, 6843) +8166 = OR(3189, 6859, 6860, 6861) +8169 = OR(3185, 6852, 6853, 6854, 6855) +8183 = NOR(3189, 6862, 6863) +8186 = NOR(3185, 6856, 6857, 6858) +8196 = OR(3211, 6873, 6874, 6875) +8200 = NOR(3211, 6876, 6877) +8204 = OR(3215, 6878, 6879) +8208 = NOR(3215, 6880) +8216 = NAND(6252, 7556) +8217 = NAND(6249, 7557) +8218 = NAND(6246, 7558) +8219 = NAND(6243, 7559) +8232 = NAND(6266, 7580) +8233 = NAND(6263, 7581) +8242 = NOT(7411) +8243 = NOT(7414) +8244 = NOT(7417) +8245 = NOT(7420) +8246 = NOT(7423) +8247 = NOT(7426) +8248 = NOT(7429) +8249 = NOT(7432) +8250 = NOT(7435) +8251 = NOT(7438) +8252 = NOT(7136) +8253 = NOT(6923) +8254 = NOT(6762) +8260 = NOT(7459) +8261 = NOT(7462) +8262 = AND(3122, 6762) +8269 = AND(3155, 6784) +8274 = NOT(6815) +8275 = NOT(6818) +8276 = NOT(6821) +8277 = NOT(6824) +8278 = NOT(6827) +8279 = NOT(6830) +8280 = AND(5740, 5736, 6815) +8281 = AND(6800, 6797, 6818) +8282 = AND(5751, 5747, 6821) +8283 = AND(6806, 6803, 6824) +8284 = AND(5762, 5758, 6827) +8285 = AND(6812, 6809, 6830) +8288 = NOT(6845) +8294 = NOT(7488) +8295 = NOT(7500) +8296 = NOT(7515) +8297 = NOT(7518) +8298 = AND(6833, 6845) +8307 = AND(6867, 6881) +8315 = NOT(7533) +8317 = NOT(7536) +8319 = NOT(7539) +8321 = NOT(7542) +8322 = NAND(7545, 4543) +8323 = NOT(7545) +8324 = NAND(7548, 5943) +8325 = NOT(7548) +8326 = NAND(6967, 7744) +8333 = AND(6901, 6923, 6912, 6894) +8337 = AND(6894, 4545) +8338 = AND(6901, 6894, 4549) +8339 = AND(6912, 6894, 4555, 6901) +8340 = AND(6901, 4549) +8341 = AND(6912, 4555, 6901) +8342 = AND(6923, 6912, 6901) +8343 = AND(6901, 4549) +8344 = AND(4555, 6912, 6901) +8345 = AND(6912, 4555) +8346 = AND(6923, 6912) +8347 = AND(6912, 4555) +8348 = AND(6929, 4563) +8349 = AND(6936, 6929, 4566) +8350 = AND(6946, 6929, 4570, 6936) +8351 = AND(6957, 6946, 6929, 5960, 6936) +8352 = AND(6936, 4566) +8353 = AND(6946, 4570, 6936) +8354 = AND(6957, 6946, 5960, 6936) +8355 = AND(4570, 6946) +8356 = AND(6957, 6946, 5960) +8357 = AND(6957, 5960) +8358 = NAND(7055, 7822) +8365 = AND(7049, 6988, 6977, 6970) +8369 = AND(6970, 4577) +8370 = AND(6977, 6970, 4581) +8371 = AND(6988, 6970, 4586, 6977) +8372 = AND(6977, 4581) +8373 = AND(6988, 4586, 6977) +8374 = AND(7049, 6988, 6977) +8375 = AND(6977, 4581) +8376 = AND(6988, 4586, 6977) +8377 = AND(6988, 4586) +8378 = AND(6998, 4593) +8379 = AND(7006, 6998, 4597) +8380 = AND(7020, 6998, 4603, 7006) +8381 = AND(7036, 7020, 6998, 5981, 7006) +8382 = AND(7006, 4597) +8383 = AND(7020, 4603, 7006) +8384 = AND(7036, 7020, 5981, 7006) +8385 = AND(7006, 4597) +8386 = AND(7020, 4603, 7006) +8387 = AND(7036, 7020, 5981, 7006) +8388 = AND(7020, 4603) +8389 = AND(7036, 7020, 5981) +8390 = AND(7020, 4603) +8391 = AND(7036, 7020, 5981) +8392 = AND(7036, 5981) +8393 = AND(7049, 6988) +8394 = AND(7057, 7063) +8404 = AND(7057, 7826) +8405 = AND(7098, 7077, 7073, 7068) +8409 = AND(7068, 4632) +8410 = AND(7073, 7068, 4634) +8411 = AND(7077, 7068, 4635, 7073) +8412 = AND(7099, 7095, 7091, 7086, 7080) +8415 = AND(7080, 4638) +8416 = AND(7086, 7080, 4639) +8417 = AND(7091, 7080, 4640, 7086) +8418 = AND(7095, 7091, 7080, 4641, 7086) +8421 = AND(3375, 7100) +8430 = AND(7114, 7136, 7125, 7107) +8433 = AND(7107, 4657) +8434 = AND(7114, 7107, 4661) +8435 = AND(7125, 7107, 4667, 7114) +8436 = AND(7114, 4661) +8437 = AND(7125, 4667, 7114) +8438 = AND(7136, 7125, 7114) +8439 = AND(7114, 4661) +8440 = AND(4667, 7125, 7114) +8441 = AND(7125, 4667) +8442 = AND(7136, 7125) +8443 = AND(7125, 4667) +8444 = AND(7149, 7180, 7159, 7142, 7170) +8447 = AND(7142, 4675) +8448 = AND(7149, 7142, 4678) +8449 = AND(7159, 7142, 4682, 7149) +8450 = AND(7170, 7159, 7142, 4687, 7149) +8451 = AND(7149, 4678) +8452 = AND(7159, 4682, 7149) +8453 = AND(7170, 7159, 4687, 7149) +8454 = AND(4682, 7159) +8455 = AND(7170, 7159, 4687) +8456 = AND(7170, 4687) +8457 = NOT(7194) +8460 = NOT(7198) +8463 = NOT(7205) +8466 = NOT(7209) +8469 = NOT(7216) +8470 = NOT(7219) +8471 = BUFF(7202) +8474 = BUFF(7202) +8477 = BUFF(7213) +8480 = BUFF(7213) +8483 = AND(6083, 6079, 7216) +8484 = AND(7191, 7188, 7219) +8485 = AND(7301, 7240, 7229, 7222) +8488 = AND(7222, 4702) +8489 = AND(7229, 7222, 4706) +8490 = AND(7240, 7222, 4711, 7229) +8491 = AND(7229, 4706) +8492 = AND(7240, 4711, 7229) +8493 = AND(7301, 7240, 7229) +8494 = AND(7229, 4706) +8495 = AND(7240, 4711, 7229) +8496 = AND(7240, 4711) +8497 = AND(7307, 7288, 7272, 7258, 7250) +8500 = AND(7250, 4718) +8501 = AND(7258, 7250, 4722) +8502 = AND(7272, 7250, 4728, 7258) +8503 = AND(7288, 7272, 7250, 4735, 7258) +8504 = AND(7258, 4722) +8505 = AND(7272, 4728, 7258) +8506 = AND(7288, 7272, 4735, 7258) +8507 = AND(7307, 7272, 7258, 7288) +8508 = AND(7258, 4722) +8509 = AND(7272, 4728, 7258) +8510 = AND(7288, 7272, 4735, 7258) +8511 = AND(7272, 4728) +8512 = AND(7288, 7272, 4735) +8513 = AND(7307, 7272, 7288) +8514 = AND(7272, 4728) +8515 = AND(7288, 7272, 4735) +8516 = AND(7288, 4735) +8517 = AND(7301, 7240) +8518 = AND(7307, 7288) +8519 = NOT(7314) +8522 = NOT(7318) +8525 = BUFF(7322) +8528 = BUFF(7322) +8531 = BUFF(7331) +8534 = BUFF(7331) +8537 = NOT(7340) +8538 = NOT(7343) +8539 = AND(6141, 6137, 7340) +8540 = AND(7337, 7334, 7343) +8541 = AND(7376, 7355, 7351, 7346) +8545 = AND(7346, 4757) +8546 = AND(7351, 7346, 4758) +8547 = AND(7355, 7346, 4759, 7351) +8548 = AND(7377, 7373, 7369, 7364, 7358) +8551 = AND(7358, 4762) +8552 = AND(7364, 7358, 4764) +8553 = AND(7369, 7358, 4766, 7364) +8554 = AND(7373, 7369, 7358, 4767, 7364) +8555 = NOT(7387) +8558 = NOT(7394) +8561 = NOT(7398) +8564 = NOT(7405) +8565 = NOT(7408) +8566 = BUFF(7391) +8569 = BUFF(7391) +8572 = BUFF(7402) +8575 = BUFF(7402) +8578 = AND(6170, 6166, 7405) +8579 = AND(7381, 7378, 7408) +8580 = BUFF(7180) +8583 = BUFF(7142) +8586 = BUFF(7149) +8589 = BUFF(7159) +8592 = BUFF(7170) +8595 = BUFF(6929) +8598 = BUFF(6936) +8601 = BUFF(6946) +8604 = BUFF(6957) +8607 = NOT(7441) +8608 = NAND(7441, 5469) +8609 = NOT(7444) +8610 = NAND(7444, 4793) +8615 = NOT(7447) +8616 = NOT(7450) +8617 = NOT(7453) +8618 = NOT(7456) +8619 = NOT(7474) +8624 = NOT(7465) +8625 = NOT(7468) +8626 = NOT(7471) +8627 = NAND(8144, 8145) +8632 = NOT(7479) +8633 = NOT(7482) +8634 = NOT(7485) +8637 = NOT(7491) +8638 = NOT(7494) +8639 = NOT(7497) +8644 = NOT(7503) +8645 = NOT(7506) +8646 = NOT(7509) +8647 = NOT(7512) +8648 = NOT(7530) +8653 = NOT(7521) +8654 = NOT(7524) +8655 = NOT(7527) +8660 = BUFF(6894) +8663 = BUFF(6894) +8666 = BUFF(6901) +8669 = BUFF(6901) +8672 = BUFF(6912) +8675 = BUFF(6912) +8678 = BUFF(7049) +8681 = BUFF(6988) +8684 = BUFF(6970) +8687 = BUFF(6977) +8690 = BUFF(7049) +8693 = BUFF(6988) +8696 = BUFF(6970) +8699 = BUFF(6977) +8702 = BUFF(7036) +8705 = BUFF(6998) +8708 = BUFF(7020) +8711 = BUFF(7006) +8714 = BUFF(7006) +8717 = NOT(7553) +8718 = BUFF(7036) +8721 = BUFF(6998) +8724 = BUFF(7020) +8727 = NAND(8216, 8217) +8730 = NAND(8218, 8219) +8733 = NOT(7574) +8734 = NOT(7577) +8735 = BUFF(7107) +8738 = BUFF(7107) +8741 = BUFF(7114) +8744 = BUFF(7114) +8747 = BUFF(7125) +8750 = BUFF(7125) +8753 = NOT(7560) +8754 = NOT(7563) +8755 = NOT(7566) +8756 = NOT(7569) +8757 = BUFF(7301) +8760 = BUFF(7240) +8763 = BUFF(7222) +8766 = BUFF(7229) +8769 = BUFF(7301) +8772 = BUFF(7240) +8775 = BUFF(7222) +8778 = BUFF(7229) +8781 = BUFF(7307) +8784 = BUFF(7288) +8787 = BUFF(7250) +8790 = BUFF(7272) +8793 = BUFF(7258) +8796 = BUFF(7258) +8799 = BUFF(7307) +8802 = BUFF(7288) +8805 = BUFF(7250) +8808 = BUFF(7272) +8811 = NAND(8232, 8233) +8814 = NOT(7588) +8815 = NOT(7591) +8816 = NOT(7582) +8817 = NOT(7585) +8818 = AND(7620, 3155) +8840 = AND(3122, 7609) +8857 = NOT(7609) +8861 = AND(6797, 5740, 8274) +8862 = AND(5736, 6800, 8275) +8863 = AND(6803, 5751, 8276) +8864 = AND(5747, 6806, 8277) +8865 = AND(6809, 5762, 8278) +8866 = AND(5758, 6812, 8279) +8871 = NOT(7655) +8874 = AND(6833, 7655) +8878 = AND(7671, 6867) +8879 = NOT(8196) +8880 = NAND(8196, 8315) +8881 = NOT(8200) +8882 = NAND(8200, 8317) +8883 = NOT(8204) +8884 = NAND(8204, 8319) +8885 = NOT(8208) +8886 = NAND(8208, 8321) +8887 = NAND(3658, 8323) +8888 = NAND(4817, 8325) +8898 = OR(4544, 8337, 8338, 8339) +8902 = OR(4562, 8348, 8349, 8350, 8351) +8920 = OR(4576, 8369, 8370, 8371) +8924 = OR(4581, 8377) +8927 = OR(4592, 8378, 8379, 8380, 8381) +8931 = OR(4603, 8392) +8943 = OR(7825, 8404) +8950 = OR(4630, 8409, 8410, 8411) +8956 = OR(4637, 8415, 8416, 8417, 8418) +8959 = NOT(7852) +8960 = AND(3375, 7852) +8963 = OR(4656, 8433, 8434, 8435) +8966 = OR(4674, 8447, 8448, 8449, 8450) +8991 = AND(7188, 6083, 8469) +8992 = AND(6079, 7191, 8470) +8995 = OR(4701, 8488, 8489, 8490) +8996 = OR(4706, 8496) +9001 = OR(4717, 8500, 8501, 8502, 8503) +9005 = OR(4728, 8516) +9024 = AND(7334, 6141, 8537) +9025 = AND(6137, 7337, 8538) +9029 = OR(4756, 8545, 8546, 8547) +9035 = OR(4760, 8551, 8552, 8553, 8554) +9053 = AND(7378, 6170, 8564) +9054 = AND(6166, 7381, 8565) +9064 = NAND(4303, 8607) +9065 = NAND(3507, 8609) +9066 = NOT(8114) +9067 = NAND(8114, 4795) +9068 = OR(7613, 6783) +9071 = NOT(8117) +9072 = NOT(8131) +9073 = NAND(8131, 6195) +9074 = NOT(7613) +9077 = NOT(8134) +9079 = OR(7650, 6865) +9082 = NOT(8146) +9083 = NOT(7650) +9086 = NOT(8156) +9087 = NOT(8166) +9088 = NAND(8166, 4813) +9089 = OR(7659, 6866) +9092 = NOT(8169) +9093 = NOT(8183) +9094 = NAND(8183, 6203) +9095 = NOT(7659) +9098 = NOT(8186) +9099 = OR(4545, 8340, 8341, 8342) +9103 = NOR(4545, 8343, 8344) +9107 = OR(4549, 8345, 8346) +9111 = NOR(4549, 8347) +9117 = OR(4577, 8372, 8373, 8374) +9127 = NOR(4577, 8375, 8376) +9146 = NOR(4597, 8390, 8391) +9149 = NOR(4593, 8385, 8386, 8387) +9159 = NAND(7577, 8733) +9160 = NAND(7574, 8734) +9161 = OR(4657, 8436, 8437, 8438) +9165 = NOR(4657, 8439, 8440) +9169 = OR(4661, 8441, 8442) +9173 = NOR(4661, 8443) +9179 = NAND(7563, 8753) +9180 = NAND(7560, 8754) +9181 = NAND(7569, 8755) +9182 = NAND(7566, 8756) +9183 = OR(4702, 8491, 8492, 8493) +9193 = NOR(4702, 8494, 8495) +9203 = OR(4722, 8511, 8512, 8513) +9206 = OR(4718, 8504, 8505, 8506, 8507) +9220 = NOR(4722, 8514, 8515) +9223 = NOR(4718, 8508, 8509, 8510) +9234 = NAND(7591, 8814) +9235 = NAND(7588, 8815) +9236 = NAND(7585, 8816) +9237 = NAND(7582, 8817) +9238 = OR(3159, 8818) +9242 = OR(3126, 8840) +9243 = NAND(8324, 8888) +9244 = NOT(8580) +9245 = NOT(8583) +9246 = NOT(8586) +9247 = NOT(8589) +9248 = NOT(8592) +9249 = NOT(8595) +9250 = NOT(8598) +9251 = NOT(8601) +9252 = NOT(8604) +9256 = NOR(8861, 8280) +9257 = NOR(8862, 8281) +9258 = NOR(8863, 8282) +9259 = NOR(8864, 8283) +9260 = NOR(8865, 8284) +9261 = NOR(8866, 8285) +9262 = NOT(8627) +9265 = OR(7649, 8874) +9268 = OR(7668, 8878) +9271 = NAND(7533, 8879) +9272 = NAND(7536, 8881) +9273 = NAND(7539, 8883) +9274 = NAND(7542, 8885) +9275 = NAND(8322, 8887) +9276 = NOT(8333) +9280 = AND(6936, 8326, 6946, 6929, 6957) +9285 = AND(367, 8326, 6946, 6957, 6936) +9286 = AND(367, 8326, 6946, 6957) +9287 = AND(367, 8326, 6957) +9288 = AND(367, 8326) +9290 = NOT(8660) +9292 = NOT(8663) +9294 = NOT(8666) +9296 = NOT(8669) +9297 = NAND(8672, 5966) +9298 = NOT(8672) +9299 = NAND(8675, 6969) +9300 = NOT(8675) +9301 = NOT(8365) +9307 = AND(8358, 7036, 7020, 7006, 6998) +9314 = AND(8358, 7020, 7006, 7036) +9315 = AND(8358, 7020, 7036) +9318 = AND(8358, 7036) +9319 = NOT(8687) +9320 = NOT(8699) +9321 = NOT(8711) +9322 = NOT(8714) +9323 = NOT(8727) +9324 = NOT(8730) +9326 = NOT(8405) +9332 = AND(8405, 8412) +9339 = OR(4193, 8960) +9344 = AND(8430, 8444) +9352 = NOT(8735) +9354 = NOT(8738) +9356 = NOT(8741) +9358 = NOT(8744) +9359 = NAND(8747, 6078) +9360 = NOT(8747) +9361 = NAND(8750, 7187) +9362 = NOT(8750) +9363 = NOT(8471) +9364 = NOT(8474) +9365 = NOT(8477) +9366 = NOT(8480) +9367 = NOR(8991, 8483) +9368 = NOR(8992, 8484) +9369 = AND(7198, 7194, 8471) +9370 = AND(8460, 8457, 8474) +9371 = AND(7209, 7205, 8477) +9372 = AND(8466, 8463, 8480) +9375 = NOT(8497) +9381 = NOT(8766) +9382 = NOT(8778) +9383 = NOT(8793) +9384 = NOT(8796) +9385 = AND(8485, 8497) +9392 = NOT(8525) +9393 = NOT(8528) +9394 = NOT(8531) +9395 = NOT(8534) +9396 = AND(7318, 7314, 8525) +9397 = AND(8522, 8519, 8528) +9398 = AND(6131, 6127, 8531) +9399 = AND(7328, 7325, 8534) +9400 = NOR(9024, 8539) +9401 = NOR(9025, 8540) +9402 = NOT(8541) +9407 = NAND(8548, 89) +9408 = AND(8541, 8548) +9412 = NOT(8811) +9413 = NOT(8566) +9414 = NOT(8569) +9415 = NOT(8572) +9416 = NOT(8575) +9417 = NOR(9053, 8578) +9418 = NOR(9054, 8579) +9419 = AND(7387, 6177, 8566) +9420 = AND(8555, 7384, 8569) +9421 = AND(7398, 7394, 8572) +9422 = AND(8561, 8558, 8575) +9423 = BUFF(8326) +9426 = NAND(9064, 8608) +9429 = NAND(9065, 8610) +9432 = NAND(3515, 9066) +9435 = NAND(4796, 9072) +9442 = NAND(3628, 9087) +9445 = NAND(4814, 9093) +9454 = NOT(8678) +9455 = NOT(8681) +9456 = NOT(8684) +9459 = NOT(8690) +9460 = NOT(8693) +9461 = NOT(8696) +9462 = BUFF(8358) +9465 = NOT(8702) +9466 = NOT(8705) +9467 = NOT(8708) +9468 = NOT(8724) +9473 = BUFF(8358) +9476 = NOT(8718) +9477 = NOT(8721) +9478 = NAND(9159, 9160) +9485 = NAND(9179, 9180) +9488 = NAND(9181, 9182) +9493 = NOT(8757) +9494 = NOT(8760) +9495 = NOT(8763) +9498 = NOT(8769) +9499 = NOT(8772) +9500 = NOT(8775) +9505 = NOT(8781) +9506 = NOT(8784) +9507 = NOT(8787) +9508 = NOT(8790) +9509 = NOT(8808) +9514 = NOT(8799) +9515 = NOT(8802) +9516 = NOT(8805) +9517 = NAND(9234, 9235) +9520 = NAND(9236, 9237) +9526 = AND(8943, 8421) +9531 = AND(8943, 8421) +9539 = NAND(9271, 8880) +9540 = NAND(9273, 8884) +9541 = NOT(9275) +9543 = AND(8857, 8254) +9551 = AND(8871, 8288) +9555 = NAND(9272, 8882) +9556 = NAND(9274, 8886) +9557 = NOT(8898) +9560 = AND(8902, 8333) +9561 = NOT(9099) +9562 = NAND(9099, 9290) +9563 = NOT(9103) +9564 = NAND(9103, 9292) +9565 = NOT(9107) +9566 = NAND(9107, 9294) +9567 = NOT(9111) +9568 = NAND(9111, 9296) +9569 = NAND(4844, 9298) +9570 = NAND(6207, 9300) +9571 = NOT(8920) +9575 = NOT(8927) +9579 = AND(8365, 8927) +9581 = NOT(8950) +9582 = NOT(8956) +9585 = AND(8405, 8956) +9591 = AND(8966, 8430) +9592 = NOT(9161) +9593 = NAND(9161, 9352) +9594 = NOT(9165) +9595 = NAND(9165, 9354) +9596 = NOT(9169) +9597 = NAND(9169, 9356) +9598 = NOT(9173) +9599 = NAND(9173, 9358) +9600 = NAND(4940, 9360) +9601 = NAND(6220, 9362) +9602 = AND(8457, 7198, 9363) +9603 = AND(7194, 8460, 9364) +9604 = AND(8463, 7209, 9365) +9605 = AND(7205, 8466, 9366) +9608 = NOT(9001) +9611 = AND(8485, 9001) +9612 = AND(8519, 7318, 9392) +9613 = AND(7314, 8522, 9393) +9614 = AND(7325, 6131, 9394) +9615 = AND(6127, 7328, 9395) +9616 = NOT(9029) +9617 = NOT(9035) +9618 = AND(8541, 9035) +9621 = AND(7384, 7387, 9413) +9622 = AND(6177, 8555, 9414) +9623 = AND(8558, 7398, 9415) +9624 = AND(7394, 8561, 9416) +9626 = OR(4563, 8352, 8353, 8354, 9285) +9629 = OR(4566, 8355, 8356, 9286) +9632 = OR(4570, 8357, 9287) +9635 = OR(5960, 9288) +9642 = NAND(9067, 9432) +9645 = NOT(9068) +9646 = NAND(9073, 9435) +9649 = NOT(9074) +9650 = NAND(9257, 9256) +9653 = NAND(9259, 9258) +9656 = NAND(9261, 9260) +9659 = NOT(9079) +9660 = NAND(9079, 4809) +9661 = NOT(9083) +9662 = NAND(9083, 6202) +9663 = NAND(9088, 9442) +9666 = NOT(9089) +9667 = NAND(9094, 9445) +9670 = NOT(9095) +9671 = OR(8924, 8393) +9674 = NOT(9117) +9675 = NOT(8924) +9678 = NOT(9127) +9679 = OR(4597, 8388, 8389, 9315) +9682 = OR(8931, 9318) +9685 = OR(4593, 8382, 8383, 8384, 9314) +9690 = NOT(9146) +9691 = NAND(9146, 8717) +9692 = NOT(8931) +9695 = NOT(9149) +9698 = NAND(9401, 9400) +9702 = NAND(9368, 9367) +9707 = OR(8996, 8517) +9710 = NOT(9183) +9711 = NOT(8996) +9714 = NOT(9193) +9715 = NOT(9203) +9716 = NAND(9203, 6235) +9717 = OR(9005, 8518) +9720 = NOT(9206) +9721 = NOT(9220) +9722 = NAND(9220, 7573) +9723 = NOT(9005) +9726 = NOT(9223) +9727 = NAND(9418, 9417) +9732 = AND(9268, 8269) +9733 = NAND(9581, 9326) +9734 = AND(89, 9408, 9332, 8394, 8421) +9735 = AND(89, 9408, 9332, 8394, 8421) +9736 = AND(9265, 8262) +9737 = NOT(9555) +9738 = NOT(9556) +9739 = NAND(9361, 9601) +9740 = NAND(9423, 1115) +9741 = NOT(9423) +9742 = NAND(9299, 9570) +9754 = AND(8333, 9280) +9758 = OR(8898, 9560) +9762 = NAND(8660, 9561) +9763 = NAND(8663, 9563) +9764 = NAND(8666, 9565) +9765 = NAND(8669, 9567) +9766 = NAND(9297, 9569) +9767 = AND(9280, 367) +9768 = NAND(9557, 9276) +9769 = NOT(9307) +9773 = NAND(9307, 367) +9774 = NAND(9571, 9301) +9775 = AND(8365, 9307) +9779 = OR(8920, 9579) +9784 = NOT(9478) +9785 = NAND(9616, 9402) +9786 = OR(8950, 9585) +9790 = AND(89, 9408, 9332, 8394) +9791 = OR(8963, 9591) +9795 = NAND(8735, 9592) +9796 = NAND(8738, 9594) +9797 = NAND(8741, 9596) +9798 = NAND(8744, 9598) +9799 = NAND(9359, 9600) +9800 = NOR(9602, 9369) +9801 = NOR(9603, 9370) +9802 = NOR(9604, 9371) +9803 = NOR(9605, 9372) +9805 = NOT(9485) +9806 = NOT(9488) +9809 = OR(8995, 9611) +9813 = NOR(9612, 9396) +9814 = NOR(9613, 9397) +9815 = NOR(9614, 9398) +9816 = NOR(9615, 9399) +9817 = AND(9617, 9407) +9820 = OR(9029, 9618) +9825 = NOT(9517) +9826 = NOT(9520) +9827 = NOR(9621, 9419) +9828 = NOR(9622, 9420) +9829 = NOR(9623, 9421) +9830 = NOR(9624, 9422) +9835 = NOT(9426) +9836 = NAND(9426, 4789) +9837 = NOT(9429) +9838 = NAND(9429, 4794) +9846 = NAND(3625, 9659) +9847 = NAND(4810, 9661) +9862 = NOT(9462) +9863 = NAND(7553, 9690) +9866 = NOT(9473) +9873 = NAND(5030, 9715) +9876 = NAND(6236, 9721) +9890 = NAND(9795, 9593) +9891 = NAND(9797, 9597) +9892 = NOT(9799) +9893 = NAND(871, 9741) +9894 = NAND(9762, 9562) +9895 = NAND(9764, 9566) +9896 = NOT(9766) +9897 = NOT(9626) +9898 = NAND(9626, 9249) +9899 = NOT(9629) +9900 = NAND(9629, 9250) +9901 = NOT(9632) +9902 = NAND(9632, 9251) +9903 = NOT(9635) +9904 = NAND(9635, 9252) +9905 = NOT(9543) +9906 = NOT(9650) +9907 = NAND(9650, 5769) +9908 = NOT(9653) +9909 = NAND(9653, 5770) +9910 = NOT(9656) +9911 = NAND(9656, 9262) +9917 = NOT(9551) +9923 = NAND(9763, 9564) +9924 = NAND(9765, 9568) +9925 = OR(8902, 9767) +9932 = AND(9575, 9773) +9935 = AND(9575, 9769) +9938 = NOT(9698) +9939 = NAND(9698, 9323) +9945 = NAND(9796, 9595) +9946 = NAND(9798, 9599) +9947 = NOT(9702) +9948 = NAND(9702, 6102) +9949 = AND(9608, 9375) +9953 = NOT(9727) +9954 = NAND(9727, 9412) +9955 = NAND(3502, 9835) +9956 = NAND(3510, 9837) +9957 = NOT(9642) +9958 = NAND(9642, 9645) +9959 = NOT(9646) +9960 = NAND(9646, 9649) +9961 = NAND(9660, 9846) +9964 = NAND(9662, 9847) +9967 = NOT(9663) +9968 = NAND(9663, 9666) +9969 = NOT(9667) +9970 = NAND(9667, 9670) +9971 = NOT(9671) +9972 = NAND(9671, 6213) +9973 = NOT(9675) +9974 = NAND(9675, 7551) +9975 = NOT(9679) +9976 = NAND(9679, 7552) +9977 = NOT(9682) +9978 = NOT(9685) +9979 = NAND(9691, 9863) +9982 = NOT(9692) +9983 = NAND(9814, 9813) +9986 = NAND(9816, 9815) +9989 = NAND(9801, 9800) +9992 = NAND(9803, 9802) +9995 = NOT(9707) +9996 = NAND(9707, 6231) +9997 = NOT(9711) +9998 = NAND(9711, 7572) +9999 = NAND(9716, 9873) +10002 = NOT(9717) +10003 = NAND(9722, 9876) +10006 = NOT(9723) +10007 = NAND(9830, 9829) +10010 = NAND(9828, 9827) +10013 = AND(9791, 8307, 8269) +10014 = AND(9758, 9344, 8307, 8269) +10015 = AND(367, 9754, 9344, 8307, 8269) +10016 = AND(9786, 8394, 8421) +10017 = AND(9820, 9332, 8394, 8421) +10018 = AND(9786, 8394, 8421) +10019 = AND(9820, 9332, 8394, 8421) +10020 = AND(9809, 8298, 8262) +10021 = AND(9779, 9385, 8298, 8262) +10022 = AND(367, 9775, 9385, 8298, 8262) +10023 = NOT(9945) +10024 = NOT(9946) +10025 = NAND(9740, 9893) +10026 = NOT(9923) +10028 = NOT(9924) +10032 = NAND(8595, 9897) +10033 = NAND(8598, 9899) +10034 = NAND(8601, 9901) +10035 = NAND(8604, 9903) +10036 = NAND(4803, 9906) +10037 = NAND(4806, 9908) +10038 = NAND(8627, 9910) +10039 = AND(9809, 8298) +10040 = AND(9779, 9385, 8298) +10041 = AND(367, 9775, 9385, 8298) +10042 = AND(9779, 9385) +10043 = AND(367, 9775, 9385) +10050 = NAND(8727, 9938) +10053 = NOT(9817) +10054 = AND(9817, 9029) +10055 = AND(9786, 8394) +10056 = AND(9820, 9332, 8394) +10057 = AND(9791, 8307) +10058 = AND(9758, 9344, 8307) +10059 = AND(367, 9754, 9344, 8307) +10060 = AND(9758, 9344) +10061 = AND(367, 9754, 9344) +10062 = NAND(4997, 9947) +10067 = NAND(8811, 9953) +10070 = NAND(9955, 9836) +10073 = NAND(9956, 9838) +10076 = NAND(9068, 9957) +10077 = NAND(9074, 9959) +10082 = NAND(9089, 9967) +10083 = NAND(9095, 9969) +10084 = NAND(4871, 9971) +10085 = NAND(6214, 9973) +10086 = NAND(6217, 9975) +10093 = NAND(5027, 9995) +10094 = NAND(6232, 9997) +10101 = OR(9238, 9732, 10013, 10014, 10015) +10102 = OR(9339, 9526, 10016, 10017, 9734) +10103 = OR(9339, 9531, 10018, 10019, 9735) +10104 = OR(9242, 9736, 10020, 10021, 10022) +10105 = AND(9925, 9894) +10106 = AND(9925, 9895) +10107 = AND(9925, 9896) +10108 = AND(9925, 8253) +10109 = NAND(10032, 9898) +10110 = NAND(10033, 9900) +10111 = NAND(10034, 9902) +10112 = NAND(10035, 9904) +10113 = NAND(10036, 9907) +10114 = NAND(10037, 9909) +10115 = NAND(10038, 9911) +10116 = OR(9265, 10039, 10040, 10041) +10119 = OR(9809, 10042, 10043) +10124 = NOT(9925) +10130 = AND(9768, 9925) +10131 = NOT(9932) +10132 = NOT(9935) +10133 = AND(9932, 8920) +10134 = NAND(10050, 9939) +10135 = NOT(9983) +10136 = NAND(9983, 9324) +10137 = NOT(9986) +10138 = NAND(9986, 9784) +10139 = AND(9785, 10053) +10140 = OR(8943, 10055, 10056, 9790) +10141 = OR(9268, 10057, 10058, 10059) +10148 = OR(9791, 10060, 10061) +10155 = NAND(10062, 9948) +10156 = NOT(9989) +10157 = NAND(9989, 9805) +10158 = NOT(9992) +10159 = NAND(9992, 9806) +10160 = NOT(9949) +10161 = NAND(10067, 9954) +10162 = NOT(10007) +10163 = NAND(10007, 9825) +10164 = NOT(10010) +10165 = NAND(10010, 9826) +10170 = NAND(10076, 9958) +10173 = NAND(10077, 9960) +10176 = NOT(9961) +10177 = NAND(9961, 9082) +10178 = NOT(9964) +10179 = NAND(9964, 9086) +10180 = NAND(10082, 9968) +10183 = NAND(10083, 9970) +10186 = NAND(9972, 10084) +10189 = NAND(9974, 10085) +10192 = NAND(9976, 10086) +10195 = NOT(9979) +10196 = NAND(9979, 9982) +10197 = NAND(9996, 10093) +10200 = NAND(9998, 10094) +10203 = NOT(9999) +10204 = NAND(9999, 10002) +10205 = NOT(10003) +10206 = NAND(10003, 10006) +10212 = NAND(10070, 4308) +10213 = NAND(10073, 4313) +10230 = AND(9774, 10131) +10231 = NAND(8730, 10135) +10232 = NAND(9478, 10137) +10233 = OR(10139, 10054) +10234 = NAND(7100, 10140) +10237 = NAND(9485, 10156) +10238 = NAND(9488, 10158) +10239 = NAND(9517, 10162) +10240 = NAND(9520, 10164) +10241 = NOT(10070) +10242 = NOT(10073) +10247 = NAND(8146, 10176) +10248 = NAND(8156, 10178) +10259 = NAND(9692, 10195) +10264 = NAND(9717, 10203) +10265 = NAND(9723, 10205) +10266 = AND(10026, 10124) +10267 = AND(10028, 10124) +10268 = AND(9742, 10124) +10269 = AND(6923, 10124) +10270 = NAND(6762, 10116) +10271 = NAND(3061, 10241) +10272 = NAND(3064, 10242) +10273 = BUFF(10116) +10278 = AND(10141, 5728, 5707, 5718, 5697) +10279 = AND(10141, 5728, 5707, 5718) +10280 = AND(10141, 5728, 5718) +10281 = AND(10141, 5728) +10282 = AND(6784, 10141) +10283 = NOT(10119) +10287 = AND(10148, 5936, 5915, 5926, 5905) +10288 = AND(10148, 5936, 5915, 5926) +10289 = AND(10148, 5936, 5926) +10290 = AND(10148, 5936) +10291 = AND(6881, 10148) +10292 = AND(8898, 10124) +10293 = NAND(10231, 10136) +10294 = NAND(10232, 10138) +10295 = NAND(8412, 10233) +10296 = AND(8959, 10234) +10299 = NAND(10237, 10157) +10300 = NAND(10238, 10159) +10301 = OR(10230, 10133) +10306 = NAND(10239, 10163) +10307 = NAND(10240, 10165) +10308 = BUFF(10148) +10311 = BUFF(10141) +10314 = NOT(10170) +10315 = NAND(10170, 9071) +10316 = NOT(10173) +10317 = NAND(10173, 9077) +10318 = NAND(10247, 10177) +10321 = NAND(10248, 10179) +10324 = NOT(10180) +10325 = NAND(10180, 9092) +10326 = NOT(10183) +10327 = NAND(10183, 9098) +10328 = NOT(10186) +10329 = NAND(10186, 9674) +10330 = NOT(10189) +10331 = NAND(10189, 9678) +10332 = NOT(10192) +10333 = NAND(10192, 9977) +10334 = NAND(10259, 10196) +10337 = NOT(10197) +10338 = NAND(10197, 9710) +10339 = NOT(10200) +10340 = NAND(10200, 9714) +10341 = NAND(10264, 10204) +10344 = NAND(10265, 10206) +10350 = OR(10266, 10105) +10351 = OR(10267, 10106) +10352 = OR(10268, 10107) +10353 = OR(10269, 10108) +10354 = AND(8857, 10270) +10357 = NAND(10271, 10212) +10360 = NAND(10272, 10213) +10367 = OR(7620, 10282) +10375 = OR(7671, 10291) +10381 = OR(10292, 10130) +10388 = AND(10114, 10134, 10293, 10294) +10391 = AND(9582, 10295) +10399 = AND(10113, 10115, 10299, 10300) +10402 = AND(10155, 10161, 10306, 10307) +10406 = OR(3229, 6888, 6889, 6890, 10287) +10409 = OR(3232, 6891, 6892, 10288) +10412 = OR(3236, 6893, 10289) +10415 = OR(3241, 10290) +10419 = OR(3137, 6791, 6792, 6793, 10278) +10422 = OR(3140, 6794, 6795, 10279) +10425 = OR(3144, 6796, 10280) +10428 = OR(3149, 10281) +10431 = NAND(8117, 10314) +10432 = NAND(8134, 10316) +10437 = NAND(8169, 10324) +10438 = NAND(8186, 10326) +10439 = NAND(9117, 10328) +10440 = NAND(9127, 10330) +10441 = NAND(9682, 10332) +10444 = NAND(9183, 10337) +10445 = NAND(9193, 10339) +10450 = NOT(10296) +10451 = AND(10296, 4193) +10455 = NOT(10308) +10456 = NAND(10308, 8242) +10465 = NOT(10311) +10466 = NAND(10311, 8247) +10479 = NOT(10273) +10497 = NOT(10301) +10509 = NAND(10431, 10315) +10512 = NAND(10432, 10317) +10515 = NOT(10318) +10516 = NAND(10318, 8632) +10517 = NOT(10321) +10518 = NAND(10321, 8637) +10519 = NAND(10437, 10325) +10522 = NAND(10438, 10327) +10525 = NAND(10439, 10329) +10528 = NAND(10440, 10331) +10531 = NAND(10441, 10333) +10534 = NOT(10334) +10535 = NAND(10334, 9695) +10536 = NAND(10444, 10338) +10539 = NAND(10445, 10340) +10542 = NOT(10341) +10543 = NAND(10341, 9720) +10544 = NOT(10344) +10545 = NAND(10344, 9726) +10546 = AND(5631, 10450) +10547 = NOT(10391) +10548 = AND(10391, 8950) +10549 = AND(5165, 10367) +10550 = NOT(10354) +10551 = AND(10354, 3126) +10552 = NAND(7411, 10455) +10553 = AND(10375, 9539) +10554 = AND(10375, 9540) +10555 = AND(10375, 9541) +10556 = AND(10375, 6761) +10557 = NOT(10406) +10558 = NAND(10406, 8243) +10559 = NOT(10409) +10560 = NAND(10409, 8244) +10561 = NOT(10412) +10562 = NAND(10412, 8245) +10563 = NOT(10415) +10564 = NAND(10415, 8246) +10565 = NAND(7426, 10465) +10566 = NOT(10419) +10567 = NAND(10419, 8248) +10568 = NOT(10422) +10569 = NAND(10422, 8249) +10570 = NOT(10425) +10571 = NAND(10425, 8250) +10572 = NOT(10428) +10573 = NAND(10428, 8251) +10574 = NOT(10399) +10575 = NOT(10402) +10576 = NOT(10388) +10577 = AND(10399, 10402, 10388) +10581 = AND(10360, 9543, 10273) +10582 = AND(10357, 9905, 10273) +10583 = NOT(10367) +10587 = AND(10367, 5735) +10588 = AND(10367, 3135) +10589 = NOT(10375) +10594 = AND(10381, 7180, 7159, 7170, 7149) +10595 = AND(10381, 7180, 7159, 7170) +10596 = AND(10381, 7180, 7170) +10597 = AND(10381, 7180) +10598 = AND(8444, 10381) +10602 = BUFF(10381) +10609 = NAND(7479, 10515) +10610 = NAND(7491, 10517) +10621 = NAND(9149, 10534) +10626 = NAND(9206, 10542) +10627 = NAND(9223, 10544) +10628 = OR(10546, 10451) +10629 = AND(9733, 10547) +10631 = AND(5166, 10550) +10632 = NAND(10552, 10456) +10637 = NAND(7414, 10557) +10638 = NAND(7417, 10559) +10639 = NAND(7420, 10561) +10640 = NAND(7423, 10563) +10641 = NAND(10565, 10466) +10642 = NAND(7429, 10566) +10643 = NAND(7432, 10568) +10644 = NAND(7435, 10570) +10645 = NAND(7438, 10572) +10647 = AND(886, 887, 10577) +10648 = AND(10360, 8857, 10479) +10649 = AND(10357, 7609, 10479) +10652 = OR(8966, 10598) +10659 = OR(4675, 8451, 8452, 8453, 10594) +10662 = OR(4678, 8454, 8455, 10595) +10665 = OR(4682, 8456, 10596) +10668 = OR(4687, 10597) +10671 = NOT(10509) +10672 = NAND(10509, 8615) +10673 = NOT(10512) +10674 = NAND(10512, 8624) +10675 = NAND(10609, 10516) +10678 = NAND(10610, 10518) +10681 = NOT(10519) +10682 = NAND(10519, 8644) +10683 = NOT(10522) +10684 = NAND(10522, 8653) +10685 = NOT(10525) +10686 = NAND(10525, 9454) +10687 = NOT(10528) +10688 = NAND(10528, 9459) +10689 = NOT(10531) +10690 = NAND(10531, 9978) +10691 = NAND(10621, 10535) +10694 = NOT(10536) +10695 = NAND(10536, 9493) +10696 = NOT(10539) +10697 = NAND(10539, 9498) +10698 = NAND(10626, 10543) +10701 = NAND(10627, 10545) +10704 = OR(10629, 10548) +10705 = AND(3159, 10583) +10706 = OR(10631, 10551) +10707 = AND(9737, 10589) +10708 = AND(9738, 10589) +10709 = AND(9243, 10589) +10710 = AND(5892, 10589) +10711 = NAND(10637, 10558) +10712 = NAND(10638, 10560) +10713 = NAND(10639, 10562) +10714 = NAND(10640, 10564) +10715 = NAND(10642, 10567) +10716 = NAND(10643, 10569) +10717 = NAND(10644, 10571) +10718 = NAND(10645, 10573) +10719 = NOT(10602) +10720 = NAND(10602, 9244) +10729 = NOT(10647) +10730 = AND(5178, 10583) +10731 = AND(2533, 10583) +10737 = NAND(7447, 10671) +10738 = NAND(7465, 10673) +10739 = OR(10648, 10649, 10581, 10582) +10746 = NAND(7503, 10681) +10747 = NAND(7521, 10683) +10748 = NAND(8678, 10685) +10749 = NAND(8690, 10687) +10750 = NAND(9685, 10689) +10753 = NAND(8757, 10694) +10754 = NAND(8769, 10696) +10759 = OR(10705, 10549) +10760 = OR(10707, 10553) +10761 = OR(10708, 10554) +10762 = OR(10709, 10555) +10763 = OR(10710, 10556) +10764 = NAND(8580, 10719) +10765 = AND(10652, 9890) +10766 = AND(10652, 9891) +10767 = AND(10652, 9892) +10768 = AND(10652, 8252) +10769 = NOT(10659) +10770 = NAND(10659, 9245) +10771 = NOT(10662) +10772 = NAND(10662, 9246) +10773 = NOT(10665) +10774 = NAND(10665, 9247) +10775 = NOT(10668) +10776 = NAND(10668, 9248) +10778 = OR(10730, 10587) +10781 = OR(10731, 10588) +10784 = NOT(10652) +10789 = NAND(10737, 10672) +10792 = NAND(10738, 10674) +10796 = NOT(10675) +10797 = NAND(10675, 8633) +10798 = NOT(10678) +10799 = NAND(10678, 8638) +10800 = NAND(10746, 10682) +10803 = NAND(10747, 10684) +10806 = NAND(10748, 10686) +10809 = NAND(10749, 10688) +10812 = NAND(10750, 10690) +10815 = NOT(10691) +10816 = NAND(10691, 9866) +10817 = NAND(10753, 10695) +10820 = NAND(10754, 10697) +10823 = NOT(10698) +10824 = NAND(10698, 9505) +10825 = NOT(10701) +10826 = NAND(10701, 9514) +10827 = NAND(10764, 10720) +10832 = NAND(8583, 10769) +10833 = NAND(8586, 10771) +10834 = NAND(8589, 10773) +10835 = NAND(8592, 10775) +10836 = NOT(10739) +10837 = BUFF(10778) +10838 = BUFF(10778) +10839 = BUFF(10781) +10840 = BUFF(10781) +10845 = NAND(7482, 10796) +10846 = NAND(7494, 10798) +10857 = NAND(9473, 10815) +10862 = NAND(8781, 10823) +10863 = NAND(8799, 10825) +10864 = AND(10023, 10784) +10865 = AND(10024, 10784) +10866 = AND(9739, 10784) +10867 = AND(7136, 10784) +10868 = NAND(10832, 10770) +10869 = NAND(10833, 10772) +10870 = NAND(10834, 10774) +10871 = NAND(10835, 10776) +10872 = NOT(10789) +10873 = NAND(10789, 8616) +10874 = NOT(10792) +10875 = NAND(10792, 8625) +10876 = NAND(10845, 10797) +10879 = NAND(10846, 10799) +10882 = NOT(10800) +10883 = NAND(10800, 8645) +10884 = NOT(10803) +10885 = NAND(10803, 8654) +10886 = NOT(10806) +10887 = NAND(10806, 9455) +10888 = NOT(10809) +10889 = NAND(10809, 9460) +10890 = NOT(10812) +10891 = NAND(10812, 9862) +10892 = NAND(10857, 10816) +10895 = NOT(10817) +10896 = NAND(10817, 9494) +10897 = NOT(10820) +10898 = NAND(10820, 9499) +10899 = NAND(10862, 10824) +10902 = NAND(10863, 10826) +10905 = OR(10864, 10765) +10906 = OR(10865, 10766) +10907 = OR(10866, 10767) +10908 = OR(10867, 10768) +10909 = NAND(7450, 10872) +10910 = NAND(7468, 10874) +10915 = NAND(7506, 10882) +10916 = NAND(7524, 10884) +10917 = NAND(8681, 10886) +10918 = NAND(8693, 10888) +10919 = NAND(9462, 10890) +10922 = NAND(8760, 10895) +10923 = NAND(8772, 10897) +10928 = NAND(10909, 10873) +10931 = NAND(10910, 10875) +10934 = NOT(10876) +10935 = NAND(10876, 8634) +10936 = NOT(10879) +10937 = NAND(10879, 8639) +10938 = NAND(10915, 10883) +10941 = NAND(10916, 10885) +10944 = NAND(10917, 10887) +10947 = NAND(10918, 10889) +10950 = NAND(10919, 10891) +10953 = NOT(10892) +10954 = NAND(10892, 9476) +10955 = NAND(10922, 10896) +10958 = NAND(10923, 10898) +10961 = NOT(10899) +10962 = NAND(10899, 9506) +10963 = NOT(10902) +10964 = NAND(10902, 9515) +10969 = NAND(7485, 10934) +10970 = NAND(7497, 10936) +10981 = NAND(8718, 10953) +10986 = NAND(8784, 10961) +10987 = NAND(8802, 10963) +10988 = NOT(10928) +10989 = NAND(10928, 8617) +10990 = NOT(10931) +10991 = NAND(10931, 8626) +10992 = NAND(10969, 10935) +10995 = NAND(10970, 10937) +10998 = NOT(10938) +10999 = NAND(10938, 8646) +11000 = NOT(10941) +11001 = NAND(10941, 8655) +11002 = NOT(10944) +11003 = NAND(10944, 9456) +11004 = NOT(10947) +11005 = NAND(10947, 9461) +11006 = NOT(10950) +11007 = NAND(10950, 9465) +11008 = NAND(10981, 10954) +11011 = NOT(10955) +11012 = NAND(10955, 9495) +11013 = NOT(10958) +11014 = NAND(10958, 9500) +11015 = NAND(10986, 10962) +11018 = NAND(10987, 10964) +11023 = NAND(7453, 10988) +11024 = NAND(7471, 10990) +11027 = NAND(7509, 10998) +11028 = NAND(7527, 11000) +11029 = NAND(8684, 11002) +11030 = NAND(8696, 11004) +11031 = NAND(8702, 11006) +11034 = NAND(8763, 11011) +11035 = NAND(8775, 11013) +11040 = NOT(10992) +11041 = NAND(10992, 8294) +11042 = NOT(10995) +11043 = NAND(10995, 8295) +11044 = NAND(11023, 10989) +11047 = NAND(11024, 10991) +11050 = NAND(11027, 10999) +11053 = NAND(11028, 11001) +11056 = NAND(11029, 11003) +11059 = NAND(11030, 11005) +11062 = NAND(11031, 11007) +11065 = NOT(11008) +11066 = NAND(11008, 9477) +11067 = NAND(11034, 11012) +11070 = NAND(11035, 11014) +11073 = NOT(11015) +11074 = NAND(11015, 9507) +11075 = NOT(11018) +11076 = NAND(11018, 9516) +11077 = NAND(7488, 11040) +11078 = NAND(7500, 11042) +11095 = NAND(8721, 11065) +11098 = NAND(8787, 11073) +11099 = NAND(8805, 11075) +11100 = NAND(11077, 11041) +11103 = NAND(11078, 11043) +11106 = NOT(11056) +11107 = NAND(11056, 9319) +11108 = NOT(11059) +11109 = NAND(11059, 9320) +11110 = NOT(11067) +11111 = NAND(11067, 9381) +11112 = NOT(11070) +11113 = NAND(11070, 9382) +11114 = NOT(11044) +11115 = NAND(11044, 8618) +11116 = NOT(11047) +11117 = NAND(11047, 8619) +11118 = NOT(11050) +11119 = NAND(11050, 8647) +11120 = NOT(11053) +11121 = NAND(11053, 8648) +11122 = NOT(11062) +11123 = NAND(11062, 9466) +11124 = NAND(11095, 11066) +11127 = NAND(11098, 11074) +11130 = NAND(11099, 11076) +11137 = NAND(8687, 11106) +11138 = NAND(8699, 11108) +11139 = NAND(8766, 11110) +11140 = NAND(8778, 11112) +11141 = NAND(7456, 11114) +11142 = NAND(7474, 11116) +11143 = NAND(7512, 11118) +11144 = NAND(7530, 11120) +11145 = NAND(8705, 11122) +11152 = AND(11103, 8871, 10283) +11153 = AND(11100, 7655, 10283) +11154 = AND(11103, 9551, 10119) +11155 = AND(11100, 9917, 10119) +11156 = NAND(11137, 11107) +11159 = NAND(11138, 11109) +11162 = NAND(11139, 11111) +11165 = NAND(11140, 11113) +11168 = NAND(11141, 11115) +11171 = NAND(11142, 11117) +11174 = NAND(11143, 11119) +11177 = NAND(11144, 11121) +11180 = NAND(11145, 11123) +11183 = NOT(11124) +11184 = NAND(11124, 9468) +11185 = NOT(11127) +11186 = NAND(11127, 9508) +11187 = NOT(11130) +11188 = NAND(11130, 9509) +11205 = OR(11152, 11153, 11154, 11155) +11210 = NAND(8724, 11183) +11211 = NAND(8790, 11185) +11212 = NAND(8808, 11187) +11213 = NOT(11168) +11214 = NAND(11168, 8260) +11215 = NOT(11171) +11216 = NAND(11171, 8261) +11217 = NOT(11174) +11218 = NAND(11174, 8296) +11219 = NOT(11177) +11220 = NAND(11177, 8297) +11222 = AND(11159, 9575, 1218) +11223 = AND(11156, 8927, 1218) +11224 = AND(11159, 9935, 750) +11225 = AND(11156, 10132, 750) +11226 = AND(11165, 9608, 10497) +11227 = AND(11162, 9001, 10497) +11228 = AND(11165, 9949, 10301) +11229 = AND(11162, 10160, 10301) +11231 = NOT(11180) +11232 = NAND(11180, 9467) +11233 = NAND(11210, 11184) +11236 = NAND(11211, 11186) +11239 = NAND(11212, 11188) +11242 = NAND(7459, 11213) +11243 = NAND(7462, 11215) +11244 = NAND(7515, 11217) +11245 = NAND(7518, 11219) +11246 = NOT(11205) +11250 = NAND(8708, 11231) +11252 = OR(11222, 11223, 11224, 11225) +11257 = OR(11226, 11227, 11228, 11229) +11260 = NAND(11242, 11214) +11261 = NAND(11243, 11216) +11262 = NAND(11244, 11218) +11263 = NAND(11245, 11220) +11264 = NOT(11233) +11265 = NAND(11233, 9322) +11267 = NOT(11236) +11268 = NAND(11236, 9383) +11269 = NOT(11239) +11270 = NAND(11239, 9384) +11272 = NAND(11250, 11232) +11277 = NOT(11261) +11278 = AND(10273, 11260) +11279 = NOT(11263) +11280 = AND(10119, 11262) +11282 = NAND(8714, 11264) +11283 = NOT(11252) +11284 = NAND(8793, 11267) +11285 = NAND(8796, 11269) +11286 = NOT(11257) +11288 = AND(11277, 10479) +11289 = AND(11279, 10283) +11290 = NOT(11272) +11291 = NAND(11272, 9321) +11292 = NAND(11282, 11265) +11293 = NAND(11284, 11268) +11294 = NAND(11285, 11270) +11295 = NAND(8711, 11290) +11296 = NOT(11292) +11297 = NOT(11294) +11298 = AND(10301, 11293) +11299 = OR(11288, 11278) +11302 = OR(11289, 11280) +11307 = NAND(11295, 11291) +11308 = AND(11296, 1218) +11309 = AND(11297, 10497) +11312 = NAND(11302, 11246) +11313 = NAND(11299, 10836) +11314 = NOT(11299) +11315 = NOT(11302) +11316 = AND(750, 11307) +11317 = OR(11309, 11298) +11320 = NAND(11205, 11315) +11321 = NAND(10739, 11314) +11323 = OR(11308, 11316) +11327 = NAND(11312, 11320) +11328 = NAND(11313, 11321) +11329 = NAND(11317, 11286) +11331 = NOT(11317) +11333 = NOT(11327) +11334 = NOT(11328) +11335 = NAND(11257, 11331) +11336 = NAND(11323, 11283) +11337 = NOT(11323) +11338 = NAND(11329, 11335) +11339 = NAND(11252, 11337) +11340 = NOT(11338) +11341 = NAND(11336, 11339) +11342 = NOT(11341) diff --git a/benchmarks/iscas85/c880.bench b/benchmarks/iscas85/c880.bench new file mode 100644 index 00000000..3210a700 --- /dev/null +++ b/benchmarks/iscas85/c880.bench @@ -0,0 +1,477 @@ +# c880 +# 60 inputs +# 26 outputs +# 63 inverters +# 320 gates ( 143 ANDs + 150 NANDs + 29 ORs + 61 NORs + 26 buffers ) + +INPUT(1) +INPUT(8) +INPUT(13) +INPUT(17) +INPUT(26) +INPUT(29) +INPUT(36) +INPUT(42) +INPUT(51) +INPUT(55) +INPUT(59) +INPUT(68) +INPUT(72) +INPUT(73) +INPUT(74) +INPUT(75) +INPUT(80) +INPUT(85) +INPUT(86) +INPUT(87) +INPUT(88) +INPUT(89) +INPUT(90) +INPUT(91) +INPUT(96) +INPUT(101) +INPUT(106) +INPUT(111) +INPUT(116) +INPUT(121) +INPUT(126) +INPUT(130) +INPUT(135) +INPUT(138) +INPUT(143) +INPUT(146) +INPUT(149) +INPUT(152) +INPUT(153) +INPUT(156) +INPUT(159) +INPUT(165) +INPUT(171) +INPUT(177) +INPUT(183) +INPUT(189) +INPUT(195) +INPUT(201) +INPUT(207) +INPUT(210) +INPUT(219) +INPUT(228) +INPUT(237) +INPUT(246) +INPUT(255) +INPUT(259) +INPUT(260) +INPUT(261) +INPUT(267) +INPUT(268) + +OUTPUT(388) +OUTPUT(389) +OUTPUT(390) +OUTPUT(391) +OUTPUT(418) +OUTPUT(419) +OUTPUT(420) +OUTPUT(421) +OUTPUT(422) +OUTPUT(423) +OUTPUT(446) +OUTPUT(447) +OUTPUT(448) +OUTPUT(449) +OUTPUT(450) +OUTPUT(767) +OUTPUT(768) +OUTPUT(850) +OUTPUT(863) +OUTPUT(864) +OUTPUT(865) +OUTPUT(866) +OUTPUT(874) +OUTPUT(878) +OUTPUT(879) +OUTPUT(880) + +269 = NAND(1, 8, 13, 17) +270 = NAND(1, 26, 13, 17) +273 = AND(29, 36, 42) +276 = AND(1, 26, 51) +279 = NAND(1, 8, 51, 17) +280 = NAND(1, 8, 13, 55) +284 = NAND(59, 42, 68, 72) +285 = NAND(29, 68) +286 = NAND(59, 68, 74) +287 = AND(29, 75, 80) +290 = AND(29, 75, 42) +291 = AND(29, 36, 80) +292 = AND(29, 36, 42) +293 = AND(59, 75, 80) +294 = AND(59, 75, 42) +295 = AND(59, 36, 80) +296 = AND(59, 36, 42) +297 = AND(85, 86) +298 = OR(87, 88) +301 = NAND(91, 96) +302 = OR(91, 96) +303 = NAND(101, 106) +304 = OR(101, 106) +305 = NAND(111, 116) +306 = OR(111, 116) +307 = NAND(121, 126) +308 = OR(121, 126) +309 = AND(8, 138) +310 = NOT(268) +316 = AND(51, 138) +317 = AND(17, 138) +318 = AND(152, 138) +319 = NAND(59, 156) +322 = NOR(17, 42) +323 = AND(17, 42) +324 = NAND(159, 165) +325 = OR(159, 165) +326 = NAND(171, 177) +327 = OR(171, 177) +328 = NAND(183, 189) +329 = OR(183, 189) +330 = NAND(195, 201) +331 = OR(195, 201) +332 = AND(210, 91) +333 = AND(210, 96) +334 = AND(210, 101) +335 = AND(210, 106) +336 = AND(210, 111) +337 = AND(255, 259) +338 = AND(210, 116) +339 = AND(255, 260) +340 = AND(210, 121) +341 = AND(255, 267) +342 = NOT(269) +343 = NOT(273) +344 = OR(270, 273) +345 = NOT(276) +346 = NOT(276) +347 = NOT(279) +348 = NOR(280, 284) +349 = OR(280, 285) +350 = OR(280, 286) +351 = NOT(293) +352 = NOT(294) +353 = NOT(295) +354 = NOT(296) +355 = NAND(89, 298) +356 = AND(90, 298) +357 = NAND(301, 302) +360 = NAND(303, 304) +363 = NAND(305, 306) +366 = NAND(307, 308) +369 = NOT(310) +375 = NOR(322, 323) +376 = NAND(324, 325) +379 = NAND(326, 327) +382 = NAND(328, 329) +385 = NAND(330, 331) +388 = BUFF(290) +389 = BUFF(291) +390 = BUFF(292) +391 = BUFF(297) +392 = OR(270, 343) +393 = NOT(345) +399 = NOT(346) +400 = AND(348, 73) +401 = NOT(349) +402 = NOT(350) +403 = NOT(355) +404 = NOT(357) +405 = NOT(360) +406 = AND(357, 360) +407 = NOT(363) +408 = NOT(366) +409 = AND(363, 366) +410 = NAND(347, 352) +411 = NOT(376) +412 = NOT(379) +413 = AND(376, 379) +414 = NOT(382) +415 = NOT(385) +416 = AND(382, 385) +417 = AND(210, 369) +418 = BUFF(342) +419 = BUFF(344) +420 = BUFF(351) +421 = BUFF(353) +422 = BUFF(354) +423 = BUFF(356) +424 = NOT(400) +425 = AND(404, 405) +426 = AND(407, 408) +427 = AND(319, 393, 55) +432 = AND(393, 17, 287) +437 = NAND(393, 287, 55) +442 = NAND(375, 59, 156, 393) +443 = NAND(393, 319, 17) +444 = AND(411, 412) +445 = AND(414, 415) +446 = BUFF(392) +447 = BUFF(399) +448 = BUFF(401) +449 = BUFF(402) +450 = BUFF(403) +451 = NOT(424) +460 = NOR(406, 425) +463 = NOR(409, 426) +466 = NAND(442, 410) +475 = AND(143, 427) +476 = AND(310, 432) +477 = AND(146, 427) +478 = AND(310, 432) +479 = AND(149, 427) +480 = AND(310, 432) +481 = AND(153, 427) +482 = AND(310, 432) +483 = NAND(443, 1) +488 = OR(369, 437) +489 = OR(369, 437) +490 = OR(369, 437) +491 = OR(369, 437) +492 = NOR(413, 444) +495 = NOR(416, 445) +498 = NAND(130, 460) +499 = OR(130, 460) +500 = NAND(463, 135) +501 = OR(463, 135) +502 = AND(91, 466) +503 = NOR(475, 476) +504 = AND(96, 466) +505 = NOR(477, 478) +506 = AND(101, 466) +507 = NOR(479, 480) +508 = AND(106, 466) +509 = NOR(481, 482) +510 = AND(143, 483) +511 = AND(111, 466) +512 = AND(146, 483) +513 = AND(116, 466) +514 = AND(149, 483) +515 = AND(121, 466) +516 = AND(153, 483) +517 = AND(126, 466) +518 = NAND(130, 492) +519 = OR(130, 492) +520 = NAND(495, 207) +521 = OR(495, 207) +522 = AND(451, 159) +523 = AND(451, 165) +524 = AND(451, 171) +525 = AND(451, 177) +526 = AND(451, 183) +527 = NAND(451, 189) +528 = NAND(451, 195) +529 = NAND(451, 201) +530 = NAND(498, 499) +533 = NAND(500, 501) +536 = NOR(309, 502) +537 = NOR(316, 504) +538 = NOR(317, 506) +539 = NOR(318, 508) +540 = NOR(510, 511) +541 = NOR(512, 513) +542 = NOR(514, 515) +543 = NOR(516, 517) +544 = NAND(518, 519) +547 = NAND(520, 521) +550 = NOT(530) +551 = NOT(533) +552 = AND(530, 533) +553 = NAND(536, 503) +557 = NAND(537, 505) +561 = NAND(538, 507) +565 = NAND(539, 509) +569 = NAND(488, 540) +573 = NAND(489, 541) +577 = NAND(490, 542) +581 = NAND(491, 543) +585 = NOT(544) +586 = NOT(547) +587 = AND(544, 547) +588 = AND(550, 551) +589 = AND(585, 586) +590 = NAND(553, 159) +593 = OR(553, 159) +596 = AND(246, 553) +597 = NAND(557, 165) +600 = OR(557, 165) +605 = AND(246, 557) +606 = NAND(561, 171) +609 = OR(561, 171) +615 = AND(246, 561) +616 = NAND(565, 177) +619 = OR(565, 177) +624 = AND(246, 565) +625 = NAND(569, 183) +628 = OR(569, 183) +631 = AND(246, 569) +632 = NAND(573, 189) +635 = OR(573, 189) +640 = AND(246, 573) +641 = NAND(577, 195) +644 = OR(577, 195) +650 = AND(246, 577) +651 = NAND(581, 201) +654 = OR(581, 201) +659 = AND(246, 581) +660 = NOR(552, 588) +661 = NOR(587, 589) +662 = NOT(590) +665 = AND(593, 590) +669 = NOR(596, 522) +670 = NOT(597) +673 = AND(600, 597) +677 = NOR(605, 523) +678 = NOT(606) +682 = AND(609, 606) +686 = NOR(615, 524) +687 = NOT(616) +692 = AND(619, 616) +696 = NOR(624, 525) +697 = NOT(625) +700 = AND(628, 625) +704 = NOR(631, 526) +705 = NOT(632) +708 = AND(635, 632) +712 = NOR(337, 640) +713 = NOT(641) +717 = AND(644, 641) +721 = NOR(339, 650) +722 = NOT(651) +727 = AND(654, 651) +731 = NOR(341, 659) +732 = NAND(654, 261) +733 = NAND(644, 654, 261) +734 = NAND(635, 644, 654, 261) +735 = NOT(662) +736 = AND(228, 665) +737 = AND(237, 662) +738 = NOT(670) +739 = AND(228, 673) +740 = AND(237, 670) +741 = NOT(678) +742 = AND(228, 682) +743 = AND(237, 678) +744 = NOT(687) +745 = AND(228, 692) +746 = AND(237, 687) +747 = NOT(697) +748 = AND(228, 700) +749 = AND(237, 697) +750 = NOT(705) +751 = AND(228, 708) +752 = AND(237, 705) +753 = NOT(713) +754 = AND(228, 717) +755 = AND(237, 713) +756 = NOT(722) +757 = NOR(727, 261) +758 = AND(727, 261) +759 = AND(228, 727) +760 = AND(237, 722) +761 = NAND(644, 722) +762 = NAND(635, 713) +763 = NAND(635, 644, 722) +764 = NAND(609, 687) +765 = NAND(600, 678) +766 = NAND(600, 609, 687) +767 = BUFF(660) +768 = BUFF(661) +769 = NOR(736, 737) +770 = NOR(739, 740) +771 = NOR(742, 743) +772 = NOR(745, 746) +773 = NAND(750, 762, 763, 734) +777 = NOR(748, 749) +778 = NAND(753, 761, 733) +781 = NOR(751, 752) +782 = NAND(756, 732) +785 = NOR(754, 755) +786 = NOR(757, 758) +787 = NOR(759, 760) +788 = NOR(700, 773) +789 = AND(700, 773) +790 = NOR(708, 778) +791 = AND(708, 778) +792 = NOR(717, 782) +793 = AND(717, 782) +794 = AND(219, 786) +795 = NAND(628, 773) +796 = NAND(795, 747) +802 = NOR(788, 789) +803 = NOR(790, 791) +804 = NOR(792, 793) +805 = NOR(340, 794) +806 = NOR(692, 796) +807 = AND(692, 796) +808 = AND(219, 802) +809 = AND(219, 803) +810 = AND(219, 804) +811 = NAND(805, 787, 731, 529) +812 = NAND(619, 796) +813 = NAND(609, 619, 796) +814 = NAND(600, 609, 619, 796) +815 = NAND(738, 765, 766, 814) +819 = NAND(741, 764, 813) +822 = NAND(744, 812) +825 = NOR(806, 807) +826 = NOR(335, 808) +827 = NOR(336, 809) +828 = NOR(338, 810) +829 = NOT(811) +830 = NOR(665, 815) +831 = AND(665, 815) +832 = NOR(673, 819) +833 = AND(673, 819) +834 = NOR(682, 822) +835 = AND(682, 822) +836 = AND(219, 825) +837 = NAND(826, 777, 704) +838 = NAND(827, 781, 712, 527) +839 = NAND(828, 785, 721, 528) +840 = NOT(829) +841 = NAND(815, 593) +842 = NOR(830, 831) +843 = NOR(832, 833) +844 = NOR(834, 835) +845 = NOR(334, 836) +846 = NOT(837) +847 = NOT(838) +848 = NOT(839) +849 = AND(735, 841) +850 = BUFF(840) +851 = AND(219, 842) +852 = AND(219, 843) +853 = AND(219, 844) +854 = NAND(845, 772, 696) +855 = NOT(846) +856 = NOT(847) +857 = NOT(848) +858 = NOT(849) +859 = NOR(417, 851) +860 = NOR(332, 852) +861 = NOR(333, 853) +862 = NOT(854) +863 = BUFF(855) +864 = BUFF(856) +865 = BUFF(857) +866 = BUFF(858) +867 = NAND(859, 769, 669) +868 = NAND(860, 770, 677) +869 = NAND(861, 771, 686) +870 = NOT(862) +871 = NOT(867) +872 = NOT(868) +873 = NOT(869) +874 = BUFF(870) +875 = NOT(871) +876 = NOT(872) +877 = NOT(873) +878 = BUFF(875) +879 = BUFF(876) +880 = BUFF(877) diff --git a/cmake-build-release/.cmake/api/v1/query/cache-v2 b/cmake-build-release/.cmake/api/v1/query/cache-v2 new file mode 100644 index 00000000..e69de29b diff --git a/cmake-build-release/.cmake/api/v1/query/cmakeFiles-v1 b/cmake-build-release/.cmake/api/v1/query/cmakeFiles-v1 new file mode 100644 index 00000000..e69de29b diff --git a/cmake-build-release/.cmake/api/v1/query/codemodel-v2 b/cmake-build-release/.cmake/api/v1/query/codemodel-v2 new file mode 100644 index 00000000..e69de29b diff --git a/cmake-build-release/.cmake/api/v1/query/toolchains-v1 b/cmake-build-release/.cmake/api/v1/query/toolchains-v1 new file mode 100644 index 00000000..e69de29b diff --git a/cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json b/cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json new file mode 100644 index 00000000..ac65d2c3 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json @@ -0,0 +1,1923 @@ +{ + "entries" : + [ + { + "name" : "BUILD_GMOCK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Builds the googlemock subproject" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Release" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "30" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "5" + }, + { + "name" : "CMAKE_COLOR_DIAGNOSTICS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable colored diagnostics throughout." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/snap/clion/310/bin/cmake/linux/x64/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/snap/clion/310/bin/cmake/linux/x64/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/snap/clion/310/bin/cmake/linux/x64/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/c++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-13" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-13" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/cc" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-13" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-13" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable output of compile commands during generation." + } + ], + "type" : "BOOL", + "value" : "" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HAVE_LIBC_PTHREAD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/andro/RPTU/vds2/VDSProject" + }, + { + "name" : "CMAKE_INSTALL_BINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "User executables (bin)" + } + ], + "type" : "PATH", + "value" : "bin" + }, + { + "name" : "CMAKE_INSTALL_DATADIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data (DATAROOTDIR)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_DATAROOTDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data root (share)" + } + ], + "type" : "PATH", + "value" : "share" + }, + { + "name" : "CMAKE_INSTALL_DOCDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Documentation root (DATAROOTDIR/doc/PROJECT_NAME)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_INCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files (include)" + } + ], + "type" : "PATH", + "value" : "include" + }, + { + "name" : "CMAKE_INSTALL_INFODIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Info documentation (DATAROOTDIR/info)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LIBDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Object code libraries (lib)" + } + ], + "type" : "PATH", + "value" : "lib" + }, + { + "name" : "CMAKE_INSTALL_LIBEXECDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Program executables (libexec)" + } + ], + "type" : "PATH", + "value" : "libexec" + }, + { + "name" : "CMAKE_INSTALL_LOCALEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Locale-dependent data (DATAROOTDIR/locale)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LOCALSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable single-machine data (var)" + } + ], + "type" : "PATH", + "value" : "var" + }, + { + "name" : "CMAKE_INSTALL_MANDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Man documentation (DATAROOTDIR/man)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_OLDINCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files for non-gcc (/usr/include)" + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_RUNSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Run-time variable data (LOCALSTATEDIR/run)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_SBINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "System admin executables (sbin)" + } + ], + "type" : "PATH", + "value" : "sbin" + }, + { + "name" : "CMAKE_INSTALL_SHAREDSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable architecture-independent data (com)" + } + ], + "type" : "PATH", + "value" : "com" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_INSTALL_SYSCONFDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only single-machine data (etc)" + } + ], + "type" : "PATH", + "value" : "etc" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/snap/clion/310/bin/ninja/linux/x64/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "8" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "VDSProject" + }, + { + "name" : "CMAKE_PROJECT_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "1.15.2" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MAJOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MINOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "15" + }, + { + "name" : "CMAKE_PROJECT_VERSION_PATCH", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "2" + }, + { + "name" : "CMAKE_PROJECT_VERSION_TWEAK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/strip" + }, + { + "name" : "CMAKE_TAPI", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_TAPI-NOTFOUND" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_GTest", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding GTest" + } + ], + "type" : "INTERNAL", + "value" : "[/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake][c ][v1.14.0()]" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding Threads" + } + ], + "type" : "INTERNAL", + "value" : "[TRUE][v()]" + }, + { + "name" : "GTEST_HAS_ABSL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Use Abseil and RE2. Requires Abseil and RE2 to be separately added to the build." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "GTest_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "The directory containing a CMake configuration file for GTest." + } + ], + "type" : "PATH", + "value" : "/usr/lib/x86_64-linux-gnu/cmake/GTest" + }, + { + "name" : "INSTALL_GTEST", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "VDSProject_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release" + }, + { + "name" : "VDSProject_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "VDSProject_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject" + }, + { + "name" : "VDSProject_test_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test" + }, + { + "name" : "VDSProject_test_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "VDSProject_test_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "name" : "VDSProject_verify_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify" + }, + { + "name" : "VDSProject_verify_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "VDSProject_verify_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "CMAKE_INSTALL_PREFIX during last run" + } + ], + "type" : "INTERNAL", + "value" : "/usr/local" + }, + { + "name" : "cmake_package_name", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "GTest" + }, + { + "name" : "generated_dir", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/generated" + }, + { + "name" : "gmock_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock" + }, + { + "name" : "gmock_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "gmock_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock" + }, + { + "name" : "gmock_build_tests", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Build all of Google Mock's own tests." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "googletest-distribution_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build" + }, + { + "name" : "googletest-distribution_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "googletest-distribution_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src" + }, + { + "name" : "gtest_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest" + }, + { + "name" : "gtest_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "gtest_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" + }, + { + "name" : "gtest_build_samples", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Build gtest's sample programs." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "gtest_build_tests", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Build all of gtest's own tests." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "gtest_disable_pthreads", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Disable uses of pthreads in gtest." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "gtest_force_shared_crt", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Use shared (DLL) run-time lib even when Google Test is built as static lib." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "gtest_hide_internal_symbols", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Build gtest with internal symbols hidden in shared libraries." + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "targets_export_name", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "" + } + ], + "type" : "INTERNAL", + "value" : "GTestTargets" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json b/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json new file mode 100644 index 00000000..cf3ca393 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json @@ -0,0 +1,340 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "cmake-build-release/CMakeFiles/3.30.5/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-release/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-release/CMakeFiles/3.30.5/CMakeCCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "path" : "CMakeLists.txt.in" + }, + { + "path" : "gtest/googletest-src/CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDependentOption.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake" + }, + { + "path" : "gtest/googletest-src/googlemock/CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" + }, + { + "path" : "gtest/googletest-src/googlemock/cmake/gmock.pc.in" + }, + { + "path" : "gtest/googletest-src/googlemock/cmake/gmock_main.pc.in" + }, + { + "path" : "gtest/googletest-src/googletest/CMakeLists.txt" + }, + { + "path" : "gtest/googletest-src/googletest/cmake/internal_utils.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePackageConfigHelpers.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/WriteBasicConfigVersionFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in" + }, + { + "path" : "gtest/googletest-src/googletest/cmake/Config.cmake.in" + }, + { + "path" : "gtest/googletest-src/googletest/cmake/gtest.pc.in" + }, + { + "path" : "gtest/googletest-src/googletest/cmake/gtest_main.pc.in" + }, + { + "path" : "src/CMakeLists.txt" + }, + { + "path" : "src/test/CMakeLists.txt" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindGTest.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GoogleTest.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeFindDependencyMacro.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" + }, + { + "isExternal" : true, + "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake" + }, + { + "path" : "src/bench/CMakeLists.txt" + }, + { + "path" : "src/verify/CMakeLists.txt" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release", + "source" : "/home/andro/RPTU/vds2/VDSProject" + }, + "version" : + { + "major" : 1, + "minor" : 1 + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json b/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json new file mode 100644 index 00000000..594f763c --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json @@ -0,0 +1,327 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1, + 4 + ], + "hasInstallRule" : true, + "jsonFile" : "directory-.-Release-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.10" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 2 + ] + }, + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build", + "childIndexes" : + [ + 2 + ], + "hasInstallRule" : true, + "jsonFile" : "directory-gtest.googletest-src-Release-859890539598701b63fa.json", + "minimumCMakeVersion" : + { + "string" : "3.13" + }, + "parentIndex" : 0, + "projectIndex" : 1, + "source" : "gtest/googletest-src" + }, + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", + "childIndexes" : + [ + 3 + ], + "hasInstallRule" : true, + "jsonFile" : "directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json", + "minimumCMakeVersion" : + { + "string" : "3.13" + }, + "parentIndex" : 1, + "projectIndex" : 2, + "source" : "gtest/googletest-src/googlemock", + "targetIndexes" : + [ + 6, + 7 + ] + }, + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", + "hasInstallRule" : true, + "jsonFile" : "directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json", + "minimumCMakeVersion" : + { + "string" : "3.13" + }, + "parentIndex" : 2, + "projectIndex" : 3, + "source" : "gtest/googletest-src/googletest", + "targetIndexes" : + [ + 8, + 9 + ] + }, + { + "build" : "src", + "childIndexes" : + [ + 5, + 6, + 7 + ], + "jsonFile" : "directory-src-Release-b6cf2213fc5053b67c22.json", + "minimumCMakeVersion" : + { + "string" : "3.10" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "src", + "targetIndexes" : + [ + 1 + ] + }, + { + "build" : "src/test", + "jsonFile" : "directory-src.test-Release-3607701395add829ebf1.json", + "minimumCMakeVersion" : + { + "string" : "3.10" + }, + "parentIndex" : 4, + "projectIndex" : 4, + "source" : "src/test", + "targetIndexes" : + [ + 4 + ] + }, + { + "build" : "src/bench", + "jsonFile" : "directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json", + "minimumCMakeVersion" : + { + "string" : "3.10" + }, + "parentIndex" : 4, + "projectIndex" : 0, + "source" : "src/bench", + "targetIndexes" : + [ + 0, + 3 + ] + }, + { + "build" : "src/verify", + "jsonFile" : "directory-src.verify-Release-60d00413fbfb0aa783c1.json", + "minimumCMakeVersion" : + { + "string" : "3.10" + }, + "parentIndex" : 4, + "projectIndex" : 5, + "source" : "src/verify", + "targetIndexes" : + [ + 5 + ] + } + ], + "name" : "Release", + "projects" : + [ + { + "childIndexes" : + [ + 1, + 4, + 5 + ], + "directoryIndexes" : + [ + 0, + 4, + 6 + ], + "name" : "VDSProject", + "targetIndexes" : + [ + 0, + 1, + 2, + 3 + ] + }, + { + "childIndexes" : + [ + 2 + ], + "directoryIndexes" : + [ + 1 + ], + "name" : "googletest-distribution", + "parentIndex" : 0 + }, + { + "childIndexes" : + [ + 3 + ], + "directoryIndexes" : + [ + 2 + ], + "name" : "gmock", + "parentIndex" : 1, + "targetIndexes" : + [ + 6, + 7 + ] + }, + { + "directoryIndexes" : + [ + 3 + ], + "name" : "gtest", + "parentIndex" : 2, + "targetIndexes" : + [ + 8, + 9 + ] + }, + { + "directoryIndexes" : + [ + 5 + ], + "name" : "VDSProject_test", + "parentIndex" : 0, + "targetIndexes" : + [ + 4 + ] + }, + { + "directoryIndexes" : + [ + 7 + ], + "name" : "VDSProject_verify", + "parentIndex" : 0, + "targetIndexes" : + [ + 5 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 6, + "id" : "Benchmark::@cb52dcfef60bfef78aad", + "jsonFile" : "target-Benchmark-Release-65ef659ae92044132488.json", + "name" : "Benchmark", + "projectIndex" : 0 + }, + { + "directoryIndex" : 4, + "id" : "Manager::@145eef247bfb46b6828c", + "jsonFile" : "target-Manager-Release-448063735bcb10c740cb.json", + "name" : "Manager", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "VDSProject::@6890427a1f51a3e7e1df", + "jsonFile" : "target-VDSProject-Release-2e86d2069fded6878e52.json", + "name" : "VDSProject", + "projectIndex" : 0 + }, + { + "directoryIndex" : 6, + "id" : "VDSProject_bench::@cb52dcfef60bfef78aad", + "jsonFile" : "target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json", + "name" : "VDSProject_bench", + "projectIndex" : 0 + }, + { + "directoryIndex" : 5, + "id" : "VDSProject_test::@b7fcbc08bf8df37e9c1b", + "jsonFile" : "target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json", + "name" : "VDSProject_test", + "projectIndex" : 4 + }, + { + "directoryIndex" : 7, + "id" : "VDSProject_verify::@361c0a045f7e5449d7bd", + "jsonFile" : "target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json", + "name" : "VDSProject_verify", + "projectIndex" : 5 + }, + { + "directoryIndex" : 2, + "id" : "gmock::@91ae8a0eed36f324ee4e", + "jsonFile" : "target-gmock-Release-fa3a1473fcee7451b15e.json", + "name" : "gmock", + "projectIndex" : 2 + }, + { + "directoryIndex" : 2, + "id" : "gmock_main::@91ae8a0eed36f324ee4e", + "jsonFile" : "target-gmock_main-Release-89233eb6e82e62597195.json", + "name" : "gmock_main", + "projectIndex" : 2 + }, + { + "directoryIndex" : 3, + "id" : "gtest::@e859b05e259a1cc74f68", + "jsonFile" : "target-gtest-Release-f3f245d129ebc900b637.json", + "name" : "gtest", + "projectIndex" : 3 + }, + { + "directoryIndex" : 3, + "id" : "gtest_main::@e859b05e259a1cc74f68", + "jsonFile" : "target-gtest_main-Release-c1f47e481944117d2665.json", + "name" : "gtest_main", + "projectIndex" : 3 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release", + "source" : "/home/andro/RPTU/vds2/VDSProject" + }, + "version" : + { + "major" : 2, + "minor" : 7 + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json b/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json new file mode 100644 index 00000000..3a67af9c --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json new file mode 100644 index 00000000..da0aa3a0 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build", + "source" : "gtest/googletest-src" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json new file mode 100644 index 00000000..01a0d9b9 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json @@ -0,0 +1,116 @@ +{ + "backtraceGraph" : + { + "commands" : + [ + "install", + "install_project" + ], + "files" : + [ + "gtest/googletest-src/googletest/cmake/internal_utils.cmake", + "gtest/googletest-src/googlemock/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 116, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 301, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 305, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 329, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 329, + "parent" : 1 + } + ] + }, + "installers" : + [ + { + "backtrace" : 2, + "component" : "gmock", + "destination" : "include", + "paths" : + [ + { + "from" : "gtest/googletest-src/googlemock/include", + "to" : "." + } + ], + "type" : "directory" + }, + { + "backtrace" : 3, + "component" : "gmock", + "destination" : "lib", + "paths" : + [ + "lib/libgmock.a" + ], + "targetId" : "gmock::@91ae8a0eed36f324ee4e", + "targetIndex" : 6, + "type" : "target" + }, + { + "backtrace" : 3, + "component" : "gmock", + "destination" : "lib", + "paths" : + [ + "lib/libgmock_main.a" + ], + "targetId" : "gmock_main::@91ae8a0eed36f324ee4e", + "targetIndex" : 7, + "type" : "target" + }, + { + "backtrace" : 4, + "component" : "gmock", + "destination" : "lib/pkgconfig", + "paths" : + [ + "gtest/googletest-build/googletest/generated/gmock.pc" + ], + "type" : "file" + }, + { + "backtrace" : 5, + "component" : "gmock", + "destination" : "lib/pkgconfig", + "paths" : + [ + "gtest/googletest-build/googletest/generated/gmock_main.pc" + ], + "type" : "file" + } + ], + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", + "source" : "gtest/googletest-src/googlemock" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json new file mode 100644 index 00000000..2a518bce --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json @@ -0,0 +1,169 @@ +{ + "backtraceGraph" : + { + "commands" : + [ + "install", + "install_project" + ], + "files" : + [ + "gtest/googletest-src/googletest/CMakeLists.txt", + "gtest/googletest-src/googletest/cmake/internal_utils.cmake" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 97, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 104, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 158, + "parent" : 0 + }, + { + "command" : 0, + "file" : 1, + "line" : 301, + "parent" : 3 + }, + { + "command" : 0, + "file" : 1, + "line" : 305, + "parent" : 3 + }, + { + "command" : 0, + "file" : 1, + "line" : 329, + "parent" : 3 + }, + { + "command" : 0, + "file" : 1, + "line" : 329, + "parent" : 3 + } + ] + }, + "installers" : + [ + { + "backtrace" : 1, + "component" : "gtest", + "destination" : "lib/cmake/GTest", + "exportName" : "GTestTargets", + "exportTargets" : + [ + { + "id" : "gtest::@e859b05e259a1cc74f68", + "index" : 8 + }, + { + "id" : "gtest_main::@e859b05e259a1cc74f68", + "index" : 9 + }, + { + "id" : "gmock::@91ae8a0eed36f324ee4e", + "index" : 6 + }, + { + "id" : "gmock_main::@91ae8a0eed36f324ee4e", + "index" : 7 + } + ], + "paths" : + [ + "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/Export/0c08b8e77dd885bfe55a19a9659d9fc1/GTestTargets.cmake" + ], + "type" : "export" + }, + { + "backtrace" : 2, + "component" : "gtest", + "destination" : "lib/cmake/GTest", + "paths" : + [ + "gtest/googletest-build/googletest/generated/GTestConfigVersion.cmake", + "gtest/googletest-build/googletest/generated/GTestConfig.cmake" + ], + "type" : "file" + }, + { + "backtrace" : 4, + "component" : "gtest", + "destination" : "include", + "paths" : + [ + { + "from" : "gtest/googletest-src/googletest/include", + "to" : "." + } + ], + "type" : "directory" + }, + { + "backtrace" : 5, + "component" : "gtest", + "destination" : "lib", + "paths" : + [ + "lib/libgtest.a" + ], + "targetId" : "gtest::@e859b05e259a1cc74f68", + "targetIndex" : 8, + "type" : "target" + }, + { + "backtrace" : 5, + "component" : "gtest", + "destination" : "lib", + "paths" : + [ + "lib/libgtest_main.a" + ], + "targetId" : "gtest_main::@e859b05e259a1cc74f68", + "targetIndex" : 9, + "type" : "target" + }, + { + "backtrace" : 6, + "component" : "gtest", + "destination" : "lib/pkgconfig", + "paths" : + [ + "gtest/googletest-build/googletest/generated/gtest.pc" + ], + "type" : "file" + }, + { + "backtrace" : 7, + "component" : "gtest", + "destination" : "lib/pkgconfig", + "paths" : + [ + "gtest/googletest-build/googletest/generated/gtest_main.pc" + ], + "type" : "file" + } + ], + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", + "source" : "gtest/googletest-src/googletest" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json b/cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json new file mode 100644 index 00000000..5682a7f7 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src", + "source" : "src" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json b/cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json new file mode 100644 index 00000000..0e457a38 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/bench", + "source" : "src/bench" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json b/cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json new file mode 100644 index 00000000..ac362b87 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/test", + "source" : "src/test" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json b/cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json new file mode 100644 index 00000000..53c863c9 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/verify", + "source" : "src/verify" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json b/cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json new file mode 100644 index 00000000..0e75362f --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json @@ -0,0 +1,108 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/snap/clion/310/bin/cmake/linux/x64/bin/cmake", + "cpack" : "/snap/clion/310/bin/cmake/linux/x64/bin/cpack", + "ctest" : "/snap/clion/310/bin/cmake/linux/x64/bin/ctest", + "root" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 30, + "patch" : 5, + "string" : "3.30.5", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-a2bdf7e7b68da1145056.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 7 + } + }, + { + "jsonFile" : "cache-v2-a8db0d10de8128174cb2.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-5ad4b835231703248803.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 1 + } + }, + { + "jsonFile" : "toolchains-v1-3a03a1d1d0aeea10be44.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-a8db0d10de8128174cb2.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-5ad4b835231703248803.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 1 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-a2bdf7e7b68da1145056.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 7 + } + }, + "toolchains-v1" : + { + "jsonFile" : "toolchains-v1-3a03a1d1d0aeea10be44.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json b/cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json new file mode 100644 index 00000000..267a7f20 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json @@ -0,0 +1,169 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/bench/libBenchmark.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/bench/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 1, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 35, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 38, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 41, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 44, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 47, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/andro/RPTU/vds2/VDSProject/lib" + }, + { + "backtrace" : 4, + "path" : "/home/andro/RPTU/vds2/VDSProject/src" + }, + { + "backtrace" : 5, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "backtrace" : 6, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" + }, + { + "backtrace" : 7, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0, + 1, + 2 + ] + } + ], + "id" : "Benchmark::@cb52dcfef60bfef78aad", + "name" : "Benchmark", + "nameOnDisk" : "libBenchmark.a", + "paths" : + { + "build" : "src/bench", + "source" : "src/bench" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2 + ] + }, + { + "name" : "Header Files", + "sourceIndexes" : + [ + 3, + 4 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/bench/BenchParser.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/bench/BenchmarkLib.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/bench/CircuitToBDD.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "path" : "src/bench/bench_grammar.hpp", + "sourceGroupIndex" : 1 + }, + { + "backtrace" : 1, + "path" : "src/bench/skip_parser.hpp", + "sourceGroupIndex" : 1 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json b/cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json new file mode 100644 index 00000000..e8d537fa --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json @@ -0,0 +1,135 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/libManager.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 5, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 35, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 38, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 41, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 44, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 47, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/andro/RPTU/vds2/VDSProject/lib" + }, + { + "backtrace" : 4, + "path" : "/home/andro/RPTU/vds2/VDSProject/src" + }, + { + "backtrace" : 5, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "backtrace" : 6, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" + }, + { + "backtrace" : 7, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "Manager::@145eef247bfb46b6828c", + "name" : "Manager", + "nameOnDisk" : "libManager.a", + "paths" : + { + "build" : "src", + "source" : "src" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Manager.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json new file mode 100644 index 00000000..992fab4a --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json @@ -0,0 +1,224 @@ +{ + "artifacts" : + [ + { + "path" : "VDSProject" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "link_directories", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 51, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 36, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 39, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 42, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 45, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 48, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 52, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 35, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 38, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 41, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 44, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 47, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + } + ], + "includes" : + [ + { + "backtrace" : 8, + "path" : "/home/andro/RPTU/vds2/VDSProject/lib" + }, + { + "backtrace" : 9, + "path" : "/home/andro/RPTU/vds2/VDSProject/src" + }, + { + "backtrace" : 10, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "backtrace" : 11, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" + }, + { + "backtrace" : 12, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 7, + "id" : "Manager::@145eef247bfb46b6828c" + } + ], + "id" : "VDSProject::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", + "role" : "libraryPath" + }, + { + "backtrace" : 3, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", + "role" : "libraryPath" + }, + { + "backtrace" : 4, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", + "role" : "libraryPath" + }, + { + "backtrace" : 5, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", + "role" : "libraryPath" + }, + { + "backtrace" : 6, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraryPath" + }, + { + "fragment" : "-Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "src/libManager.a", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "VDSProject", + "nameOnDisk" : "VDSProject", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/main.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json new file mode 100644 index 00000000..e7867c26 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json @@ -0,0 +1,243 @@ +{ + "artifacts" : + [ + { + "path" : "src/bench/VDSProject_bench" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "link_directories", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "src/bench/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 36, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 39, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 42, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 45, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 48, + "parent" : 2 + }, + { + "command" : 2, + "file" : 0, + "line" : 13, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 14, + "parent" : 0 + }, + { + "command" : 3, + "file" : 1, + "line" : 35, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 38, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 41, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 44, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 47, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + } + ], + "includes" : + [ + { + "backtrace" : 10, + "path" : "/home/andro/RPTU/vds2/VDSProject/lib" + }, + { + "backtrace" : 11, + "path" : "/home/andro/RPTU/vds2/VDSProject/src" + }, + { + "backtrace" : 12, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "backtrace" : 13, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" + }, + { + "backtrace" : 14, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 8, + "id" : "Manager::@145eef247bfb46b6828c" + }, + { + "backtrace" : 9, + "id" : "Benchmark::@cb52dcfef60bfef78aad" + } + ], + "id" : "VDSProject_bench::@cb52dcfef60bfef78aad", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", + "role" : "libraryPath" + }, + { + "backtrace" : 4, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", + "role" : "libraryPath" + }, + { + "backtrace" : 5, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", + "role" : "libraryPath" + }, + { + "backtrace" : 6, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", + "role" : "libraryPath" + }, + { + "backtrace" : 7, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraryPath" + }, + { + "fragment" : "-Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "src/libManager.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "src/bench/libBenchmark.a", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "VDSProject_bench", + "nameOnDisk" : "VDSProject_bench", + "paths" : + { + "build" : "src/bench", + "source" : "src/bench" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/bench/main_bench.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json new file mode 100644 index 00000000..36ab9df5 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json @@ -0,0 +1,302 @@ +{ + "artifacts" : + [ + { + "path" : "src/test/VDSProject_test" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "link_directories", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "src/test/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 7, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 36, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 39, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 42, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 45, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 48, + "parent" : 2 + }, + { + "command" : 2, + "file" : 0, + "line" : 8, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 9, + "parent" : 0 + }, + { + "command" : 3, + "file" : 1, + "line" : 35, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 38, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 41, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 44, + "parent" : 2 + }, + { + "command" : 3, + "file" : 1, + "line" : 47, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + } + ], + "includes" : + [ + { + "backtrace" : 10, + "path" : "/home/andro/RPTU/vds2/VDSProject/lib" + }, + { + "backtrace" : 11, + "path" : "/home/andro/RPTU/vds2/VDSProject/src" + }, + { + "backtrace" : 12, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "backtrace" : 13, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" + }, + { + "backtrace" : 14, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + }, + { + "backtrace" : 9, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" + }, + { + "backtrace" : 9, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 9, + "id" : "gtest::@e859b05e259a1cc74f68" + }, + { + "backtrace" : 9, + "id" : "gtest_main::@e859b05e259a1cc74f68" + }, + { + "backtrace" : 8, + "id" : "Manager::@145eef247bfb46b6828c" + } + ], + "id" : "VDSProject_test::@b7fcbc08bf8df37e9c1b", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", + "role" : "libraryPath" + }, + { + "backtrace" : 4, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", + "role" : "libraryPath" + }, + { + "backtrace" : 5, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", + "role" : "libraryPath" + }, + { + "backtrace" : 6, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", + "role" : "libraryPath" + }, + { + "backtrace" : 7, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraryPath" + }, + { + "fragment" : "-Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "src/libManager.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "lib/libgtest.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "lib/libgtest_main.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "src/libManager.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "lib/libgtest.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "lib/libgtest_main.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 8, + "fragment" : "src/libManager.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "lib/libgtest.a", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "-lpthread", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "VDSProject_test", + "nameOnDisk" : "VDSProject_test", + "paths" : + { + "build" : "src/test", + "source" : "src/test" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/test/main_test.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json new file mode 100644 index 00000000..4b154825 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json @@ -0,0 +1,205 @@ +{ + "artifacts" : + [ + { + "path" : "src/verify/VDSProject_verify" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "link_directories", + "include_directories" + ], + "files" : + [ + "src/verify/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 5, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 36, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 39, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 42, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 45, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 48, + "parent" : 2 + }, + { + "command" : 2, + "file" : 1, + "line" : 35, + "parent" : 2 + }, + { + "command" : 2, + "file" : 1, + "line" : 38, + "parent" : 2 + }, + { + "command" : 2, + "file" : 1, + "line" : 41, + "parent" : 2 + }, + { + "command" : 2, + "file" : 1, + "line" : 44, + "parent" : 2 + }, + { + "command" : 2, + "file" : 1, + "line" : 47, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + } + ], + "includes" : + [ + { + "backtrace" : 8, + "path" : "/home/andro/RPTU/vds2/VDSProject/lib" + }, + { + "backtrace" : 9, + "path" : "/home/andro/RPTU/vds2/VDSProject/src" + }, + { + "backtrace" : 10, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" + }, + { + "backtrace" : 11, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" + }, + { + "backtrace" : 12, + "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "VDSProject_verify::@361c0a045f7e5449d7bd", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", + "role" : "libraryPath" + }, + { + "backtrace" : 4, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", + "role" : "libraryPath" + }, + { + "backtrace" : 5, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", + "role" : "libraryPath" + }, + { + "backtrace" : 6, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", + "role" : "libraryPath" + }, + { + "backtrace" : 7, + "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", + "role" : "libraryPath" + } + ], + "language" : "CXX" + }, + "name" : "VDSProject_verify", + "nameOnDisk" : "VDSProject_verify", + "paths" : + { + "build" : "src/verify", + "source" : "src/verify" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/verify/main_verify.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json b/cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json new file mode 100644 index 00000000..0178692b --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json @@ -0,0 +1,165 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/libgmock.a" + } + ], + "backtrace" : 3, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "cxx_library_with_type", + "cxx_library", + "install", + "install_project", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "gtest/googletest-src/googletest/cmake/internal_utils.cmake", + "gtest/googletest-src/googlemock/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 97, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 210, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 165, + "parent" : 2 + }, + { + "command" : 4, + "file" : 1, + "line" : 116, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 305, + "parent" : 4 + }, + { + "command" : 5, + "file" : 1, + "line" : 98, + "parent" : 0 + }, + { + "command" : 6, + "file" : 1, + "line" : 75, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" + } + ], + "includes" : + [ + { + "backtrace" : 7, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/include" + }, + { + "backtrace" : 7, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock" + }, + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" + }, + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 6, + "id" : "gtest::@e859b05e259a1cc74f68" + } + ], + "id" : "gmock::@91ae8a0eed36f324ee4e", + "install" : + { + "destinations" : + [ + { + "backtrace" : 5, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "gmock", + "nameOnDisk" : "libgmock.a", + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", + "source" : "gtest/googletest-src/googlemock" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 3, + "compileGroupIndex" : 0, + "path" : "gtest/googletest-src/googlemock/src/gmock-all.cc", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json b/cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json new file mode 100644 index 00000000..cd5f4ea4 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json @@ -0,0 +1,171 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/libgmock_main.a" + } + ], + "backtrace" : 3, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "cxx_library_with_type", + "cxx_library", + "install", + "install_project", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "gtest/googletest-src/googletest/cmake/internal_utils.cmake", + "gtest/googletest-src/googlemock/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 100, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 210, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 165, + "parent" : 2 + }, + { + "command" : 4, + "file" : 1, + "line" : 116, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 305, + "parent" : 4 + }, + { + "command" : 5, + "file" : 1, + "line" : 101, + "parent" : 0 + }, + { + "command" : 6, + "file" : 1, + "line" : 75, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" + } + ], + "includes" : + [ + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/include" + }, + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock" + }, + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" + }, + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 6, + "id" : "gmock::@91ae8a0eed36f324ee4e" + }, + { + "backtrace" : 6, + "id" : "gtest::@e859b05e259a1cc74f68" + } + ], + "id" : "gmock_main::@91ae8a0eed36f324ee4e", + "install" : + { + "destinations" : + [ + { + "backtrace" : 5, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "gmock_main", + "nameOnDisk" : "libgmock_main.a", + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", + "source" : "gtest/googletest-src/googlemock" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 3, + "compileGroupIndex" : 0, + "path" : "gtest/googletest-src/googlemock/src/gmock_main.cc", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json b/cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json new file mode 100644 index 00000000..09680979 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json @@ -0,0 +1,141 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/libgtest.a" + } + ], + "backtrace" : 3, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "cxx_library_with_type", + "cxx_library", + "install", + "install_project", + "include_directories" + ], + "files" : + [ + "gtest/googletest-src/googletest/cmake/internal_utils.cmake", + "gtest/googletest-src/googletest/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 123, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 210, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 165, + "parent" : 2 + }, + { + "command" : 4, + "file" : 1, + "line" : 158, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 305, + "parent" : 4 + }, + { + "command" : 5, + "file" : 1, + "line" : 113, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" + } + ], + "includes" : + [ + { + "backtrace" : 6, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" + }, + { + "backtrace" : 6, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "gtest::@e859b05e259a1cc74f68", + "install" : + { + "destinations" : + [ + { + "backtrace" : 5, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "gtest", + "nameOnDisk" : "libgtest.a", + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", + "source" : "gtest/googletest-src/googletest" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 3, + "compileGroupIndex" : 0, + "path" : "gtest/googletest-src/googletest/src/gtest-all.cc", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json b/cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json new file mode 100644 index 00000000..bbc04c67 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json @@ -0,0 +1,157 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/libgtest_main.a" + } + ], + "backtrace" : 3, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "cxx_library_with_type", + "cxx_library", + "install", + "install_project", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "gtest/googletest-src/googletest/cmake/internal_utils.cmake", + "gtest/googletest-src/googletest/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 141, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 210, + "parent" : 1 + }, + { + "command" : 0, + "file" : 0, + "line" : 165, + "parent" : 2 + }, + { + "command" : 4, + "file" : 1, + "line" : 158, + "parent" : 0 + }, + { + "command" : 3, + "file" : 0, + "line" : 305, + "parent" : 4 + }, + { + "command" : 5, + "file" : 1, + "line" : 153, + "parent" : 0 + }, + { + "command" : 6, + "file" : 1, + "line" : 113, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" + } + ], + "includes" : + [ + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" + }, + { + "backtrace" : 7, + "isSystem" : true, + "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" + } + ], + "language" : "CXX", + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 6, + "id" : "gtest::@e859b05e259a1cc74f68" + } + ], + "id" : "gtest_main::@e859b05e259a1cc74f68", + "install" : + { + "destinations" : + [ + { + "backtrace" : 5, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "gtest_main", + "nameOnDisk" : "libgtest_main.a", + "paths" : + { + "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", + "source" : "gtest/googletest-src/googletest" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 3, + "compileGroupIndex" : 0, + "path" : "gtest/googletest-src/googletest/src/gtest_main.cc", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json b/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json new file mode 100644 index 00000000..5789274d --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json @@ -0,0 +1,111 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/13/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/13", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "gcc", + "gcc_s", + "c", + "gcc", + "gcc_s" + ] + }, + "path" : "/usr/bin/cc", + "version" : "13.3.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/13", + "/usr/include/x86_64-linux-gnu/c++/13", + "/usr/include/c++/13/backward", + "/usr/lib/gcc/x86_64-linux-gnu/13/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/13", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/bin/c++", + "version" : "13.3.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "m", + "mm", + "mpp", + "CPP", + "ixx", + "cppm", + "ccm", + "cxxm", + "c++m" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-release/.ninja_deps b/cmake-build-release/.ninja_deps new file mode 100644 index 0000000000000000000000000000000000000000..5fd6d1ffc9bbb0559ed539f0918a6f2fb2949b16 GIT binary patch literal 170648 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 MyoZ+a=q#uDFGu;3CjbBd literal 0 HcmV?d00001 diff --git a/cmake-build-release/.ninja_log b/cmake-build-release/.ninja_log new file mode 100644 index 00000000..faa5b9a8 --- /dev/null +++ b/cmake-build-release/.ninja_log @@ -0,0 +1,24 @@ +# ninja log v6 +3 1024 1736765082386785856 src/bench/CMakeFiles/Benchmark.dir/BenchmarkLib.cpp.o 4b51845cacce5084 +1 2046 1736765082384785859 src/CMakeFiles/Manager.dir/Manager.cpp.o e70f872b81030190 +30 12915 1736765322851413259 src/libManager.a 145d38ad81985b9 +30 29640 1736765322851413259 src/bench/CMakeFiles/VDSProject_bench.dir/main_bench.cpp.o c8ca6ca11abf350e +29 30087 1736765322850413261 src/bench/CMakeFiles/Benchmark.dir/CircuitToBDD.cpp.o d9828f71d77819d +29 34463 1736765322850413261 src/bench/CMakeFiles/Benchmark.dir/BenchParser.cpp.o 140c508cfca1ad8b +34463 34689 1736765357284359901 src/bench/libBenchmark.a bf8e34e235e61536 +34689 34869 1736765357510359550 src/bench/VDSProject_bench ef68de24d7e10610 +60 3680 1736773514559932515 src/CMakeFiles/Manager.dir/Manager.cpp.o e70f872b81030190 +3680 8649 1736773518179926906 src/libManager.a 145d38ad81985b9 +61 13347 1736773514560932514 src/bench/CMakeFiles/VDSProject_bench.dir/main_bench.cpp.o c8ca6ca11abf350e +13348 13607 1736773527847911926 src/bench/VDSProject_bench ef68de24d7e10610 +20 2302 1736774203002865811 /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o 28c814094c69c4bb +20 2838 1736774203003865809 src/CMakeFiles/Manager.dir/Manager.cpp.o e70f872b81030190 +21 4522 1736774203003865809 src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o e86c5badb062737a +2838 7596 1736774205820861444 src/libManager.a 145d38ad81985b9 +19 11434 1736774203001865812 /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o 91db9d1245d6d21c +11434 11547 1736774214416848125 lib/libgtest.a e456d2052d59da6c +11547 11613 1736774214529847950 lib/libgtest_main.a 957e7279e8f98941 +11613 11739 1736774214595847848 src/test/VDSProject_test 3491292cab243c05 +7 1904 1736774367997610139 src/CMakeFiles/Manager.dir/Manager.cpp.o e70f872b81030190 +1904 2009 1736774369894607199 src/libManager.a 145d38ad81985b9 +2009 2129 1736774369999607037 src/test/VDSProject_test 3491292cab243c05 diff --git a/cmake-build-release/CMakeCache.txt b/cmake-build-release/CMakeCache.txt new file mode 100644 index 00000000..cd2b67b9 --- /dev/null +++ b/cmake-build-release/CMakeCache.txt @@ -0,0 +1,571 @@ +# This is the CMakeCache file. +# For build in directory: /home/andro/RPTU/vds2/VDSProject/cmake-build-release +# It was generated by CMake: /snap/clion/310/bin/cmake/linux/x64/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Builds the googlemock subproject +BUILD_GMOCK:BOOL=ON + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Release + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-13 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-13 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/snap/clion/310/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=VDSProject + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=1.15.2 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=15 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=2 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Use Abseil and RE2. Requires Abseil and RE2 to be separately +// added to the build. +GTEST_HAS_ABSL:BOOL=OFF + +//The directory containing a CMake configuration file for GTest. +GTest_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/GTest + +//Enable installation of googletest. (Projects embedding googletest +// may want to turn this OFF.) +INSTALL_GTEST:BOOL=ON + +//Value Computed by CMake +VDSProject_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release + +//Value Computed by CMake +VDSProject_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +VDSProject_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject + +//Value Computed by CMake +VDSProject_test_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test + +//Value Computed by CMake +VDSProject_test_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +VDSProject_test_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/src/test + +//Value Computed by CMake +VDSProject_verify_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify + +//Value Computed by CMake +VDSProject_verify_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +VDSProject_verify_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/src/verify + +//Value Computed by CMake +gmock_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock + +//Value Computed by CMake +gmock_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +gmock_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock + +//Build all of Google Mock's own tests. +gmock_build_tests:BOOL=OFF + +//Value Computed by CMake +googletest-distribution_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build + +//Value Computed by CMake +googletest-distribution_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +googletest-distribution_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src + +//Value Computed by CMake +gtest_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest + +//Value Computed by CMake +gtest_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +gtest_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest + +//Build gtest's sample programs. +gtest_build_samples:BOOL=OFF + +//Build all of gtest's own tests. +gtest_build_tests:BOOL=OFF + +//Disable uses of pthreads in gtest. +gtest_disable_pthreads:BOOL=OFF + +//Use shared (DLL) run-time lib even when Google Test is built +// as static lib. +gtest_force_shared_crt:BOOL=OFF + +//Build gtest with internal symbols hidden in shared libraries. +gtest_hide_internal_symbols:BOOL=OFF + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/andro/RPTU/vds2/VDSProject/cmake-build-release +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=30 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=5 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/andro/RPTU/vds2/VDSProject +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=8 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding GTest +FIND_PACKAGE_MESSAGE_DETAILS_GTest:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake][c ][v1.14.0()] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local +cmake_package_name:INTERNAL=GTest +generated_dir:INTERNAL=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/generated +//ADVANCED property for variable: gmock_build_tests +gmock_build_tests-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: gtest_build_samples +gtest_build_samples-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: gtest_build_tests +gtest_build_tests-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: gtest_disable_pthreads +gtest_disable_pthreads-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: gtest_force_shared_crt +gtest_force_shared_crt-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: gtest_hide_internal_symbols +gtest_hide_internal_symbols-ADVANCED:INTERNAL=1 +targets_export_name:INTERNAL=GTestTargets + diff --git a/cmake-build-release/CMakeFiles/3.30.5/CMakeCCompiler.cmake b/cmake-build-release/CMakeFiles/3.30.5/CMakeCCompiler.cmake new file mode 100644 index 00000000..ae8ad045 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.30.5/CMakeCCompiler.cmake @@ -0,0 +1,81 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "13.3.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_STANDARD_LATEST "23") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-13") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_C_COMPILER_LINKER_ID "GNU") +set(CMAKE_C_COMPILER_LINKER_VERSION 2.42) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-release/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake b/cmake-build-release/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake new file mode 100644 index 00000000..4f9a5976 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake @@ -0,0 +1,101 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "13.3.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_STANDARD_LATEST "23") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") +set(CMAKE_CXX26_COMPILE_FEATURES "") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-13") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-13") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_CXX_COMPILER_LINKER_ID "GNU") +set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.42) +set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang IN ITEMS C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) +set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/13;/usr/include/x86_64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") +set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "") + +set(CMAKE_CXX_COMPILER_IMPORT_STD "") +### Imported target for C++23 standard library +set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Toolchain does not support discovering `import std` support") + + + diff --git a/cmake-build-release/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin b/cmake-build-release/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..0e5f034156adf9d6d795b655cc52140f256663af GIT binary patch literal 15968 zcmeHOYit}>6~4Q9x#ZzZnh=w;&6YN8Lh;y19Fqo_tYfb;iyS8;8xW*nGV2}NBlcl- zXIr~K2nvr{AyufVLXnU{RRI!zQVEeC6~$Fh5r|iQP=XLr8mJURXkF1FQ_?Kw%st;` zJgi$(_<_V+%X{wm&iU@SbLP(Ootb+-n;sm9$6^X)f%<@AEtSwnN({;ONrgm8?NH0< z^Hz0>T1@&vAJg`f7G%}sVtlS_5qtqj=CyI9iM&O_6hRmCkR|ixD>I9<1yadzFwZxM z4jl3+2>=Pa5icnbLozEo$RLk%Gt;hlGd*)uPKPccrzIXF^2s^j z{~eOguL|Fm?yinPzP;dWd)_Sm*s?Ck%`Wlv|9JpV%5t*;;JxNrGu*^ayKy39V@Z|1NM7j6$jgmtcS zO!m?F_#D+_Y?Hj;{G#Xs^L#LGRTEnuVaX=AH4k2z2fvx{cQm-0#+;b|&f^DVHh{}lB21Bt zG7x1T%0QHXC<9Rjq6|bC_&?6TUt4c`-8^x%#XPy_w;f8EUzqmd^>l>dTZKQQWzw-4hf5}W;__#TB**x*bnf=-Hmgy}&F;DgUlp3h7 zsgmofBS!0n&-?8W{x~7#sYQ>lxOdiDL!m#+bqak`{Zi|OB6(|Mnb<&DYJT z8S~kfcA3x4E-+)ynHR2mtEqvF(m+f7lI|Dy+~4CpY*w{<4w)x<;#@VSUi6lkCwmr? za%FS9UcZv3kLMP>L3iD;BgAdQXa1iaAR|`}5pU`k+@$ANt{%E;diQBVh%iGdYuA8cLvK+AEpYu&x?*>09prk^aqF{AbgYNu`z0>0 zzjnP|X8o)zV#M0SF}~rWqSv%4by4i^(6D+)y?cF9i{Qgnb{iQtl&~?%EVsd)HeZ%fE>DJUgz8N{5zl)B3N%Q|bf%W14VT)Lo zx~H#iXL8e_T&?8Ql3TVJ+lD>AN~AP`anGx)WAwBD<5gRg`ZQHI zF0L2gJPu>(W`*$&{M%G%*8it{|Aa~2?m!CJt8lx56 z`)?P=fN0jAr7`xWt0pvVRuit&%Eo$pG;_D_|4xPL33w0T&DN2BjPN9!0`f5*U#nCq z08;gS!dI$-kHBC)C=;`2y=U zQ^EDTf-}cTM@vBm4)pHzpE_E!IiUZeL%n-5eFW1k3oC7k)$Bi@tUZJKcJ~fi`vwLM zrn6SIcQ-w(B*)O+g%q|Zyv4Qzzw3dgr^<5jwr49pN7O7UdeZ_ab9XRU`D)o3vrBp2 z-H_QwUU|1<)v8XO8Y$6-m8({TE88h(M+84u59%%-wX+I1b)w;hzoKcvPJ% zdUlSaSJ83|HMd0jF2GzB~=+T#)~v`1DD&|uJZhdF5$*g_V9i;%#RR&eS_r= zQg{wSm$hH!+t(%L#ykspH&ufC@cu4-9v&?Cz5~X;n?XK)w;_{o6dC4!gz&%790>i# zyblubG4I2?3(eY8;W;1pm={8x7Dw(Q=MH?#=Ul>gssTRcnUMT@9xUPff0B$m#{(bp zI!Mfy(SP_s9wR=_8KGm|2-zvY!~I8}PEmz(3O?qskkjIb_~GOKD%ts%U~l{`$nOK@ z@6wDP3w4&?p#LC0DLhC~8x-h}PlWiLVt|An8h{S@-4H(|2FQHqgn@_lo(l0XZ-B)8 z4gAC7_nh#Nf0YzZkq?UsAuv?+L#lBX!9Ohyko>MISijZ^eGdus?LjKM=Pyz{fm!ww*vK@YC829r(*+;IW7Jjd`b`8Pj}lRCxSz z0T1W#TZFL-_?U-Icd)loDgX1v2l$Y)WD4>dgig&t9JBx)^y^e%4Dm5PO9(&gFNXuV zT0j6};@-f)zo&ud3iv^Zu@iJnNrT^!j`4NOb7%Ai-+z3+g}w**SNKMW%H~kxh^wtU S7jDj9$v-SqmW2o*Rs9o9p%N7U literal 0 HcmV?d00001 diff --git a/cmake-build-release/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-release/CMakeFiles/3.30.5/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..e90f3f71d98d8b48fdca37fdc4f6d991fd1db519 GIT binary patch literal 15992 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 lrm#WB={^$3kg!$RQ-Ee*hEc8gl>u literal 0 HcmV?d00001 diff --git a/cmake-build-release/CMakeFiles/3.30.5/CMakeSystem.cmake b/cmake-build-release/CMakeFiles/3.30.5/CMakeSystem.cmake new file mode 100644 index 00000000..43edf659 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.30.5/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.8.0-51-generic") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-51-generic") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.8.0-51-generic") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.8.0-51-generic") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c b/cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 00000000..8d8bb038 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,904 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/a.out b/cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..ecc315e71b4e62a6558ef29ebb804b7c2bdf9e59 GIT binary patch literal 16088 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 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define CXX_STD_98 199711L +#define CXX_STD_11 201103L +#define CXX_STD_14 201402L +#define CXX_STD_17 201703L +#define CXX_STD_20 202002L +#define CXX_STD_23 202302L + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) +# if _MSVC_LANG > CXX_STD_17 +# define CXX_STD _MSVC_LANG +# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17 +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 +# define CXX_STD CXX_STD_17 +# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# elif defined(__INTEL_CXX11_MODE__) +# define CXX_STD CXX_STD_11 +# else +# define CXX_STD CXX_STD_98 +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# if _MSVC_LANG > __cplusplus +# define CXX_STD _MSVC_LANG +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__NVCOMPILER) +# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__INTEL_COMPILER) || defined(__PGI) +# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes) +# define CXX_STD CXX_STD_17 +# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__) +# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define CXX_STD CXX_STD_11 +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > CXX_STD_23 + "26" +#elif CXX_STD > CXX_STD_20 + "23" +#elif CXX_STD > CXX_STD_17 + "20" +#elif CXX_STD > CXX_STD_14 + "17" +#elif CXX_STD > CXX_STD_11 + "14" +#elif CXX_STD >= CXX_STD_11 + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/cmake-build-release/CMakeFiles/3.30.5/CompilerIdCXX/a.out b/cmake-build-release/CMakeFiles/3.30.5/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..c8ced32cf082708045baa23211fbf858c298928d GIT binary patch literal 16096 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 ASpWb4 literal 0 HcmV?d00001 diff --git a/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml b/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 00000000..2b867b02 --- /dev/null +++ b/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,575 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake:205 (message)" + - "CMakeLists.txt:2 (project)" + message: | + The system is: Linux - 6.8.0-51-generic - x86_64 + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: /usr/bin/c++ + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + + The CXX compiler identification is GNU, found in: + /home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/3.30.5/CompilerIdCXX/a.out + + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /usr/bin/cc + Build flags: + Id flags: + + The output was: + 0 + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + + The C compiler identification is GNU, found in: + /home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/3.30.5/CompilerIdC/a.out + + - + kind: "try_compile-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4" + binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4' + + Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_5058f + [1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5058f.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccux79pJ.s + GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) + compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13" + ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/include/c++/13 + /usr/include/x86_64-linux-gnu/c++/13 + /usr/include/c++/13/backward + /usr/lib/gcc/x86_64-linux-gnu/13/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + Compiler executable checksum: c81c05345ce537099dafd5580045814a + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/' + as -v --64 -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccux79pJ.s + GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5058f && : + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5058f' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5058f.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + collect2 version 13.3.0 + /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + GNU ld (GNU Binutils for Ubuntu) 2.42 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5058f' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5058f.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/13] + add: [/usr/include/x86_64-linux-gnu/c++/13] + add: [/usr/include/c++/13/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/13/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/13] ==> [/usr/include/c++/13] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/13] ==> [/usr/include/x86_64-linux-gnu/c++/13] + collapse include dir [/usr/include/c++/13/backward] ==> [/usr/include/c++/13/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/13/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/13/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/13;/usr/include/x86_64-linux-gnu/c++/13;/usr/include/c++/13/backward;/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4'] + ignore line: [] + ignore line: [Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_5058f] + ignore line: [[1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5058f.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccux79pJ.s] + ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/13"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/13] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/13] + ignore line: [ /usr/include/c++/13/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccux79pJ.s] + ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /usr/bin/c++ -v -Wl -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5058f && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5058f' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5058f.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccbIpg6n.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_5058f] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [collect2 version 13.3.0] + ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + linker tool for 'CXX': /usr/bin/ld + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the CXX compiler's linker: "/usr/bin/ld" "-v" + GNU ld (GNU Binutils for Ubuntu) 2.42 + - + kind: "try_compile-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7" + binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7' + + Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_063dd + [1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_063dd.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5073wl.s + GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) + compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed" + ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/13/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include + End of search list. + Compiler executable checksum: 38987c28e967c64056a6454abdef726e + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/' + as -v --64 -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o /tmp/cc5073wl.s + GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.' + [2/2] : && /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -o cmTC_063dd && : + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper + OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa + OFFLOAD_TARGET_DEFAULT=1 + Target: x86_64-linux-gnu + Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) + COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_063dd' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_063dd.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + collect2 version 13.3.0 + /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + GNU ld (GNU Binutils for Ubuntu) 2.42 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_063dd' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_063dd.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/13/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/13/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/13/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/13/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7'] + ignore line: [] + ignore line: [Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_063dd] + ignore line: [[1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_063dd.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5073wl.s] + ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/13/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o /tmp/cc5073wl.s] + ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /usr/bin/cc -v -Wl -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -o cmTC_063dd && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] + ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_063dd' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_063dd.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccxn4Xzc.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_063dd] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [collect2 version 13.3.0] + ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + linker tool for 'C': /usr/bin/ld + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13] ==> [/usr/lib/gcc/x86_64-linux-gnu/13] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/13;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the C compiler's linker: "/usr/bin/ld" "-v" + GNU ld (GNU Binutils for Ubuntu) 2.42 + - + kind: "try_compile-v1" + backtrace: + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)" + - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake:163 (_threads_check_libc)" + - "gtest/googletest-src/googletest/cmake/internal_utils.cmake:66 (find_package)" + - "gtest/googletest-src/googletest/CMakeLists.txt:83 (config_compiler_and_linker)" + checks: + - "Performing Test CMAKE_HAVE_LIBC_PTHREAD" + directories: + source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT" + binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_HAVE_LIBC_PTHREAD" + cached: true + stdout: | + Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT' + + Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_f1cbf + [1/2] /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -fdiagnostics-color=always -o CMakeFiles/cmTC_f1cbf.dir/src.c.o -c /home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT/src.c + [2/2] : && /usr/bin/cc CMakeFiles/cmTC_f1cbf.dir/src.c.o -o cmTC_f1cbf && : + + exitCode: 0 +... diff --git a/cmake-build-release/CMakeFiles/TargetDirectories.txt b/cmake-build-release/CMakeFiles/TargetDirectories.txt new file mode 100644 index 00000000..7beaeaf2 --- /dev/null +++ b/cmake-build-release/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,58 @@ +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/VDSProject.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/Manager.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/VDSProject_test.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/Benchmark.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/VDSProject_bench.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/install/strip.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/VDSProject_verify.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/edit_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/rebuild_cache.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/list_install_components.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/install.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/install/local.dir +/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/install/strip.dir diff --git a/cmake-build-release/CMakeFiles/clion-Release-log.txt b/cmake-build-release/CMakeFiles/clion-Release-log.txt new file mode 100644 index 00000000..28892b79 --- /dev/null +++ b/cmake-build-release/CMakeFiles/clion-Release-log.txt @@ -0,0 +1,15 @@ +/snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/snap/clion/310/bin/ninja/linux/x64/ninja -G Ninja -S /home/andro/RPTU/vds2/VDSProject -B /home/andro/RPTU/vds2/VDSProject/cmake-build-release +-- Configuring done (0.0s) +-- Generating done (0.0s) +-- Build files have been written to: /home/andro/RPTU/vds2/VDSProject/gtest/googletest-download +[1/7] Performing update step for 'googletest' +-- Fetching latest from the remote origin +[2/7] No patch step for 'googletest' +[3/7] No configure step for 'googletest' +[4/7] No build step for 'googletest' +[5/7] No install step for 'googletest' +[6/7] No test step for 'googletest' +[7/7] Completed 'googletest' +-- Configuring done (0.6s) +-- Generating done (0.0s) +-- Build files have been written to: /home/andro/RPTU/vds2/VDSProject/cmake-build-release diff --git a/cmake-build-release/CMakeFiles/clion-environment.txt b/cmake-build-release/CMakeFiles/clion-environment.txt new file mode 100644 index 00000000..381909bc --- /dev/null +++ b/cmake-build-release/CMakeFiles/clion-environment.txt @@ -0,0 +1,4 @@ +ToolSet: 1.0 (local)Ninja: 1.12.1@/snap/clion/310/bin/ninja/linux/x64/ninja +Options: + +Options:-DCMAKE_MAKE_PROGRAM=/snap/clion/310/bin/ninja/linux/x64/ninja \ No newline at end of file diff --git a/cmake-build-release/CMakeFiles/cmake.check_cache b/cmake-build-release/CMakeFiles/cmake.check_cache new file mode 100644 index 00000000..3dccd731 --- /dev/null +++ b/cmake-build-release/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/cmake-build-release/CMakeFiles/rules.ninja b/cmake-build-release/CMakeFiles/rules.ninja new file mode 100644 index 00000000..81723b5d --- /dev/null +++ b/cmake-build-release/CMakeFiles/rules.ninja @@ -0,0 +1,235 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.30 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: VDSProject +# Configurations: Release +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__VDSProject_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__VDSProject_Release + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__gmock_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__gmock_Release + command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__gmock_main_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__gmock_main_Release + command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__gtest_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__gtest_Release + command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__gtest_main_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__gtest_main_Release + command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Manager_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__Manager_Release + command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__VDSProject_test_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__VDSProject_test_Release + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Benchmark_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__Benchmark_Release + command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__VDSProject_bench_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__VDSProject_bench_Release + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__VDSProject_verify_unscanned_Release + depfile = $DEP_FILE + deps = gcc + command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__VDSProject_verify_Release + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /snap/clion/310/bin/ninja/linux/x64/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /snap/clion/310/bin/ninja/linux/x64/ninja -t targets + description = All primary targets available: + diff --git a/cmake-build-release/Testing/Temporary/LastTest.log b/cmake-build-release/Testing/Temporary/LastTest.log new file mode 100644 index 00000000..5d74a4d2 --- /dev/null +++ b/cmake-build-release/Testing/Temporary/LastTest.log @@ -0,0 +1,3 @@ +Start testing: Jan 13 14:19 CET +---------------------------------------------------------- +End testing: Jan 13 14:19 CET diff --git a/cmake-build-release/build.ninja b/cmake-build-release/build.ninja new file mode 100644 index 00000000..3e344de4 --- /dev/null +++ b/cmake-build-release/build.ninja @@ -0,0 +1,1063 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.30 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: VDSProject +# Configurations: Release +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Release +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/andro/RPTU/vds2/VDSProject/cmake-build-release/ +# ============================================================================= +# Object build statements for EXECUTABLE target VDSProject + + +############################################# +# Order-only phony target for VDSProject + +build cmake_object_order_depends_target_VDSProject: phony || cmake_object_order_depends_target_Manager + +build CMakeFiles/VDSProject.dir/src/main.cpp.o: CXX_COMPILER__VDSProject_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/main.cpp || cmake_object_order_depends_target_VDSProject + DEP_FILE = CMakeFiles/VDSProject.dir/src/main.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = CMakeFiles/VDSProject.dir + OBJECT_FILE_DIR = CMakeFiles/VDSProject.dir/src + + +# ============================================================================= +# Link build statements for EXECUTABLE target VDSProject + + +############################################# +# Link the executable VDSProject + +build VDSProject: CXX_EXECUTABLE_LINKER__VDSProject_Release CMakeFiles/VDSProject.dir/src/main.cpp.o | src/libManager.a || src/libManager.a + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + LINK_LIBRARIES = -Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify src/libManager.a + LINK_PATH = -L/home/andro/RPTU/vds2/VDSProject/lib -L/home/andro/RPTU/vds2/VDSProject/src -L/home/andro/RPTU/vds2/VDSProject/src/test -L/home/andro/RPTU/vds2/VDSProject/src/bench -L/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = CMakeFiles/VDSProject.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = VDSProject + TARGET_PDB = VDSProject.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/CMakeLists.txt +# ============================================================================= + + +############################################# +# Utility command for edit_cache + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/edit_cache: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/rebuild_cache: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/list_install_components: phony + + +############################################# +# Utility command for install + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/install: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/local.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/install/local: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/strip.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/install/strip: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target gmock + + +############################################# +# Order-only phony target for gmock + +build cmake_object_order_depends_target_gmock: phony || cmake_object_order_depends_target_gtest + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o: CXX_COMPILER__gmock_unscanned_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/src/gmock-all.cc || cmake_object_order_depends_target_gmock + DEP_FILE = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/include -I/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir + OBJECT_FILE_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir/src + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target gmock + + +############################################# +# Link the static library lib/libgmock.a + +build lib/libgmock.a: CXX_STATIC_LIBRARY_LINKER__gmock_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o || lib/libgtest.a + LANGUAGE_COMPILE_FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/libgmock.a + TARGET_PDB = gmock.a.dbg + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target gmock_main + + +############################################# +# Order-only phony target for gmock_main + +build cmake_object_order_depends_target_gmock_main: phony || cmake_object_order_depends_target_gmock cmake_object_order_depends_target_gtest + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o: CXX_COMPILER__gmock_main_unscanned_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/src/gmock_main.cc || cmake_object_order_depends_target_gmock_main + DEP_FILE = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + INCLUDES = -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/include -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir + OBJECT_FILE_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir/src + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target gmock_main + + +############################################# +# Link the static library lib/libgmock_main.a + +build lib/libgmock_main.a: CXX_STATIC_LIBRARY_LINKER__gmock_main_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o || lib/libgmock.a lib/libgtest.a + LANGUAGE_COMPILE_FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/libgmock_main.a + TARGET_PDB = gmock_main.a.dbg + + +############################################# +# Utility command for edit_cache + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/edit_cache: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/rebuild_cache: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/list_install_components: phony + + +############################################# +# Utility command for install + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/install: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/local.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/install/local: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/strip.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/install/strip: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target gtest + + +############################################# +# Order-only phony target for gtest + +build cmake_object_order_depends_target_gtest: phony || . + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o: CXX_COMPILER__gtest_unscanned_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/src/gtest-all.cc || cmake_object_order_depends_target_gtest + DEP_FILE = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include -I/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir + OBJECT_FILE_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir/src + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target gtest + + +############################################# +# Link the static library lib/libgtest.a + +build lib/libgtest.a: CXX_STATIC_LIBRARY_LINKER__gtest_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o + LANGUAGE_COMPILE_FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/libgtest.a + TARGET_PDB = gtest.a.dbg + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target gtest_main + + +############################################# +# Order-only phony target for gtest_main + +build cmake_object_order_depends_target_gtest_main: phony || cmake_object_order_depends_target_gtest + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o: CXX_COMPILER__gtest_main_unscanned_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/src/gtest_main.cc || cmake_object_order_depends_target_gtest_main + DEP_FILE = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers + INCLUDES = -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir + OBJECT_FILE_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir/src + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target gtest_main + + +############################################# +# Link the static library lib/libgtest_main.a + +build lib/libgtest_main.a: CXX_STATIC_LIBRARY_LINKER__gtest_main_Release /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o || lib/libgtest.a + LANGUAGE_COMPILE_FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + OBJECT_DIR = /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/libgtest_main.a + TARGET_PDB = gtest_main.a.dbg + + +############################################# +# Utility command for edit_cache + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/edit_cache: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/rebuild_cache: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/list_install_components: phony + + +############################################# +# Utility command for install + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/install: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/local.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/install/local: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/strip.util: CUSTOM_COMMAND /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/install/strip: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target Manager + + +############################################# +# Order-only phony target for Manager + +build cmake_object_order_depends_target_Manager: phony || . + +build src/CMakeFiles/Manager.dir/Manager.cpp.o: CXX_COMPILER__Manager_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/Manager.cpp || cmake_object_order_depends_target_Manager + DEP_FILE = src/CMakeFiles/Manager.dir/Manager.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/CMakeFiles/Manager.dir + OBJECT_FILE_DIR = src/CMakeFiles/Manager.dir + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target Manager + + +############################################# +# Link the static library src/libManager.a + +build src/libManager.a: CXX_STATIC_LIBRARY_LINKER__Manager_Release src/CMakeFiles/Manager.dir/Manager.cpp.o + LANGUAGE_COMPILE_FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + OBJECT_DIR = src/CMakeFiles/Manager.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = src/libManager.a + TARGET_PDB = Manager.a.dbg + + +############################################# +# Utility command for edit_cache + +build src/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build src/edit_cache: phony src/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build src/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build src/rebuild_cache: phony src/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build src/list_install_components: phony + + +############################################# +# Utility command for install + +build src/CMakeFiles/install.util: CUSTOM_COMMAND src/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build src/install: phony src/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build src/CMakeFiles/install/local.util: CUSTOM_COMMAND src/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build src/install/local: phony src/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build src/CMakeFiles/install/strip.util: CUSTOM_COMMAND src/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build src/install/strip: phony src/CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/src/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for EXECUTABLE target VDSProject_test + + +############################################# +# Order-only phony target for VDSProject_test + +build cmake_object_order_depends_target_VDSProject_test: phony || cmake_object_order_depends_target_Manager cmake_object_order_depends_target_gtest cmake_object_order_depends_target_gtest_main + +build src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o: CXX_COMPILER__VDSProject_test_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/test/main_test.cpp || cmake_object_order_depends_target_VDSProject_test + DEP_FILE = src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include -isystem /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest + OBJECT_DIR = src/test/CMakeFiles/VDSProject_test.dir + OBJECT_FILE_DIR = src/test/CMakeFiles/VDSProject_test.dir + + +# ============================================================================= +# Link build statements for EXECUTABLE target VDSProject_test + + +############################################# +# Link the executable src/test/VDSProject_test + +build src/test/VDSProject_test: CXX_EXECUTABLE_LINKER__VDSProject_test_Release src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o | src/libManager.a lib/libgtest.a lib/libgtest_main.a src/libManager.a lib/libgtest.a lib/libgtest_main.a src/libManager.a lib/libgtest.a || lib/libgtest.a lib/libgtest_main.a src/libManager.a + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + LINK_LIBRARIES = -Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify src/libManager.a lib/libgtest.a lib/libgtest_main.a -lpthread src/libManager.a lib/libgtest.a lib/libgtest_main.a -lpthread src/libManager.a lib/libgtest.a -lpthread + LINK_PATH = -L/home/andro/RPTU/vds2/VDSProject/lib -L/home/andro/RPTU/vds2/VDSProject/src -L/home/andro/RPTU/vds2/VDSProject/src/test -L/home/andro/RPTU/vds2/VDSProject/src/bench -L/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/test/CMakeFiles/VDSProject_test.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = src/test/VDSProject_test + TARGET_PDB = VDSProject_test.dbg + + +############################################# +# Utility command for edit_cache + +build src/test/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build src/test/edit_cache: phony src/test/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build src/test/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build src/test/rebuild_cache: phony src/test/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build src/test/list_install_components: phony + + +############################################# +# Utility command for install + +build src/test/CMakeFiles/install.util: CUSTOM_COMMAND src/test/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build src/test/install: phony src/test/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build src/test/CMakeFiles/install/local.util: CUSTOM_COMMAND src/test/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build src/test/install/local: phony src/test/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build src/test/CMakeFiles/install/strip.util: CUSTOM_COMMAND src/test/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build src/test/install/strip: phony src/test/CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/src/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target Benchmark + + +############################################# +# Order-only phony target for Benchmark + +build cmake_object_order_depends_target_Benchmark: phony || . + +build src/bench/CMakeFiles/Benchmark.dir/BenchParser.cpp.o: CXX_COMPILER__Benchmark_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/bench/BenchParser.cpp || cmake_object_order_depends_target_Benchmark + DEP_FILE = src/bench/CMakeFiles/Benchmark.dir/BenchParser.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/bench/CMakeFiles/Benchmark.dir + OBJECT_FILE_DIR = src/bench/CMakeFiles/Benchmark.dir + +build src/bench/CMakeFiles/Benchmark.dir/BenchmarkLib.cpp.o: CXX_COMPILER__Benchmark_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/bench/BenchmarkLib.cpp || cmake_object_order_depends_target_Benchmark + DEP_FILE = src/bench/CMakeFiles/Benchmark.dir/BenchmarkLib.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/bench/CMakeFiles/Benchmark.dir + OBJECT_FILE_DIR = src/bench/CMakeFiles/Benchmark.dir + +build src/bench/CMakeFiles/Benchmark.dir/CircuitToBDD.cpp.o: CXX_COMPILER__Benchmark_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/bench/CircuitToBDD.cpp || cmake_object_order_depends_target_Benchmark + DEP_FILE = src/bench/CMakeFiles/Benchmark.dir/CircuitToBDD.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/bench/CMakeFiles/Benchmark.dir + OBJECT_FILE_DIR = src/bench/CMakeFiles/Benchmark.dir + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target Benchmark + + +############################################# +# Link the static library src/bench/libBenchmark.a + +build src/bench/libBenchmark.a: CXX_STATIC_LIBRARY_LINKER__Benchmark_Release src/bench/CMakeFiles/Benchmark.dir/BenchParser.cpp.o src/bench/CMakeFiles/Benchmark.dir/BenchmarkLib.cpp.o src/bench/CMakeFiles/Benchmark.dir/CircuitToBDD.cpp.o + LANGUAGE_COMPILE_FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + OBJECT_DIR = src/bench/CMakeFiles/Benchmark.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = src/bench/libBenchmark.a + TARGET_PDB = Benchmark.a.dbg + +# ============================================================================= +# Object build statements for EXECUTABLE target VDSProject_bench + + +############################################# +# Order-only phony target for VDSProject_bench + +build cmake_object_order_depends_target_VDSProject_bench: phony || cmake_object_order_depends_target_Benchmark cmake_object_order_depends_target_Manager + +build src/bench/CMakeFiles/VDSProject_bench.dir/main_bench.cpp.o: CXX_COMPILER__VDSProject_bench_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/bench/main_bench.cpp || cmake_object_order_depends_target_VDSProject_bench + DEP_FILE = src/bench/CMakeFiles/VDSProject_bench.dir/main_bench.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/bench/CMakeFiles/VDSProject_bench.dir + OBJECT_FILE_DIR = src/bench/CMakeFiles/VDSProject_bench.dir + + +# ============================================================================= +# Link build statements for EXECUTABLE target VDSProject_bench + + +############################################# +# Link the executable src/bench/VDSProject_bench + +build src/bench/VDSProject_bench: CXX_EXECUTABLE_LINKER__VDSProject_bench_Release src/bench/CMakeFiles/VDSProject_bench.dir/main_bench.cpp.o | src/libManager.a src/bench/libBenchmark.a || src/bench/libBenchmark.a src/libManager.a + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + LINK_LIBRARIES = -Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify src/libManager.a src/bench/libBenchmark.a + LINK_PATH = -L/home/andro/RPTU/vds2/VDSProject/lib -L/home/andro/RPTU/vds2/VDSProject/src -L/home/andro/RPTU/vds2/VDSProject/src/test -L/home/andro/RPTU/vds2/VDSProject/src/bench -L/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/bench/CMakeFiles/VDSProject_bench.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = src/bench/VDSProject_bench + TARGET_PDB = VDSProject_bench.dbg + + +############################################# +# Utility command for edit_cache + +build src/bench/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build src/bench/edit_cache: phony src/bench/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build src/bench/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build src/bench/rebuild_cache: phony src/bench/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build src/bench/list_install_components: phony + + +############################################# +# Utility command for install + +build src/bench/CMakeFiles/install.util: CUSTOM_COMMAND src/bench/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build src/bench/install: phony src/bench/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build src/bench/CMakeFiles/install/local.util: CUSTOM_COMMAND src/bench/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build src/bench/install/local: phony src/bench/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build src/bench/CMakeFiles/install/strip.util: CUSTOM_COMMAND src/bench/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build src/bench/install/strip: phony src/bench/CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/andro/RPTU/vds2/VDSProject/src/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for EXECUTABLE target VDSProject_verify + + +############################################# +# Order-only phony target for VDSProject_verify + +build cmake_object_order_depends_target_VDSProject_verify: phony || . + +build src/verify/CMakeFiles/VDSProject_verify.dir/main_verify.cpp.o: CXX_COMPILER__VDSProject_verify_unscanned_Release /home/andro/RPTU/vds2/VDSProject/src/verify/main_verify.cpp || cmake_object_order_depends_target_VDSProject_verify + DEP_FILE = src/verify/CMakeFiles/VDSProject_verify.dir/main_verify.cpp.o.d + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always + INCLUDES = -I/home/andro/RPTU/vds2/VDSProject/lib -I/home/andro/RPTU/vds2/VDSProject/src -I/home/andro/RPTU/vds2/VDSProject/src/test -I/home/andro/RPTU/vds2/VDSProject/src/bench -I/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/verify/CMakeFiles/VDSProject_verify.dir + OBJECT_FILE_DIR = src/verify/CMakeFiles/VDSProject_verify.dir + + +# ============================================================================= +# Link build statements for EXECUTABLE target VDSProject_verify + + +############################################# +# Link the executable src/verify/VDSProject_verify + +build src/verify/VDSProject_verify: CXX_EXECUTABLE_LINKER__VDSProject_verify_Release src/verify/CMakeFiles/VDSProject_verify.dir/main_verify.cpp.o + FLAGS = -fPIC -std=c++17 -O3 -DNDEBUG + LINK_PATH = -L/home/andro/RPTU/vds2/VDSProject/lib -L/home/andro/RPTU/vds2/VDSProject/src -L/home/andro/RPTU/vds2/VDSProject/src/test -L/home/andro/RPTU/vds2/VDSProject/src/bench -L/home/andro/RPTU/vds2/VDSProject/src/verify + OBJECT_DIR = src/verify/CMakeFiles/VDSProject_verify.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = src/verify/VDSProject_verify + TARGET_PDB = VDSProject_verify.dbg + + +############################################# +# Utility command for edit_cache + +build src/verify/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build src/verify/edit_cache: phony src/verify/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build src/verify/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify && /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build src/verify/rebuild_cache: phony src/verify/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build src/verify/list_install_components: phony + + +############################################# +# Utility command for install + +build src/verify/CMakeFiles/install.util: CUSTOM_COMMAND src/verify/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build src/verify/install: phony src/verify/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build src/verify/CMakeFiles/install/local.util: CUSTOM_COMMAND src/verify/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build src/verify/install/local: phony src/verify/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build src/verify/CMakeFiles/install/strip.util: CUSTOM_COMMAND src/verify/all + COMMAND = cd /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build src/verify/install/strip: phony src/verify/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build Benchmark: phony src/bench/libBenchmark.a + +build Manager: phony src/libManager.a + +build VDSProject_bench: phony src/bench/VDSProject_bench + +build VDSProject_test: phony src/test/VDSProject_test + +build VDSProject_verify: phony src/verify/VDSProject_verify + +build gmock: phony lib/libgmock.a + +build gmock_main: phony lib/libgmock_main.a + +build gtest: phony lib/libgtest.a + +build gtest_main: phony lib/libgtest_main.a + +build libBenchmark.a: phony src/bench/libBenchmark.a + +build libManager.a: phony src/libManager.a + +build libgmock.a: phony lib/libgmock.a + +build libgmock_main.a: phony lib/libgmock_main.a + +build libgtest.a: phony lib/libgtest.a + +build libgtest_main.a: phony lib/libgtest_main.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/cmake-build-release + +build all: phony VDSProject src/all + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src + +build src/all: phony src/libManager.a src/test/all src/bench/all src/verify/all + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench + +build src/bench/all: phony src/bench/libBenchmark.a src/bench/VDSProject_bench + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test + +build src/test/all: phony src/test/VDSProject_test + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify + +build src/verify/all: phony src/verify/VDSProject_verify + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/all: phony /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/all + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/all: phony lib/libgmock.a lib/libgmock_main.a /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/all + +# ============================================================================= + +############################################# +# Folder: /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest + +build /home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/all: phony lib/libgtest.a lib/libgtest_main.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/andro/RPTU/vds2/VDSProject/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/CMakeLists.txt.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/cmake/gmock.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/cmake/gmock_main.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/Config.cmake.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/gtest.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/gtest_main.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/internal_utils.cmake /home/andro/RPTU/vds2/VDSProject/src/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/src/bench/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/src/test/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/src/verify/CMakeLists.txt /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDependentOption.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeFindDependencyMacro.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePackageConfigHelpers.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindGTest.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GoogleTest.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-CXX.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/WriteBasicConfigVersionFile.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake CMakeCache.txt CMakeFiles/3.30.5/CMakeCCompiler.cmake CMakeFiles/3.30.5/CMakeCXXCompiler.cmake CMakeFiles/3.30.5/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/andro/RPTU/vds2/VDSProject/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/CMakeLists.txt.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/cmake/gmock.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/cmake/gmock_main.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/Config.cmake.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/gtest.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/gtest_main.pc.in /home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/cmake/internal_utils.cmake /home/andro/RPTU/vds2/VDSProject/src/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/src/bench/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/src/test/CMakeLists.txt /home/andro/RPTU/vds2/VDSProject/src/verify/CMakeLists.txt /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDependentOption.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeFindDependencyMacro.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePackageConfigHelpers.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindGTest.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GoogleTest.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-CXX.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/WriteBasicConfigVersionFile.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake /usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake CMakeCache.txt CMakeFiles/3.30.5/CMakeCCompiler.cmake CMakeFiles/3.30.5/CMakeCXXCompiler.cmake CMakeFiles/3.30.5/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-release/cmake_install.cmake b/cmake-build-release/cmake_install.cmake new file mode 100644 index 00000000..1a19f152 --- /dev/null +++ b/cmake-build-release/cmake_install.cmake @@ -0,0 +1,68 @@ +# Install script for directory: /home/andro/RPTU/vds2/VDSProject + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/cmake_install.cmake") + +endif() + +if(CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") + else() + string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt") + unset(CMAKE_INST_COMP_HASH) + endif() +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") + file(WRITE "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") +endif() diff --git a/cmake-build-release/lib/libgtest.a b/cmake-build-release/lib/libgtest.a new file mode 100644 index 0000000000000000000000000000000000000000..46bfa515dd6787203087f3fc388b5cfbaff80b19 GIT binary patch literal 985704 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ℜ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 DjRqcE literal 0 HcmV?d00001 diff --git a/cmake-build-release/src/CMakeFiles/Manager.dir/Manager.cpp.o b/cmake-build-release/src/CMakeFiles/Manager.dir/Manager.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..ff382c8f482c309f6c9bc805744536d573dead03 GIT binary patch literal 51944 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 literal 0 HcmV?d00001 diff --git a/cmake-build-release/src/bench/VDSProject_bench b/cmake-build-release/src/bench/VDSProject_bench new file mode 100755 index 0000000000000000000000000000000000000000..b27ba18eabdefaf8f4f679904ccdac9f9dd50a61 GIT binary patch literal 251200 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 literal 0 HcmV?d00001 diff --git a/cmake-build-release/src/bench/results_c17/BNode_BDD.csv b/cmake-build-release/src/bench/results_c17/BNode_BDD.csv new file mode 100644 index 00000000..0748b719 --- /dev/null +++ b/cmake-build-release/src/bench/results_c17/BNode_BDD.csv @@ -0,0 +1,12 @@ +BDD_ID,Bench Label +2,7 +3,6 +4,3 +7,11 +9,19 +10,2 +15,16 +17,23 +18,1 +21,10 +29,22 diff --git a/cmake-build-release/src/bench/results_c17/dot/22.dot b/cmake-build-release/src/bench/results_c17/dot/22.dot new file mode 100644 index 00000000..05469fbf --- /dev/null +++ b/cmake-build-release/src/bench/results_c17/dot/22.dot @@ -0,0 +1,20 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "6" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "3" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "2" };"10";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"18";} +edge [style = invis]; {"6" -> "3" -> "2" -> "1" -> "T"; } +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"10" -> "1" [style=solid,arrowsize=".75"]; +"10" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c17/dot/23.dot b/cmake-build-release/src/bench/results_c17/dot/23.dot new file mode 100644 index 00000000..c16a88f5 --- /dev/null +++ b/cmake-build-release/src/bench/results_c17/dot/23.dot @@ -0,0 +1,20 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "7" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "6" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "3" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "2" };"10";} +edge [style = invis]; {"7" -> "6" -> "3" -> "2" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"10" -> "1" [style=solid,arrowsize=".75"]; +"10" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c17/txt/22.txt b/cmake-build-release/src/bench/results_c17/txt/22.txt new file mode 100644 index 00000000..0fecda1b --- /dev/null +++ b/cmake-build-release/src/bench/results_c17/txt/22.txt @@ -0,0 +1,6 @@ +Variable Node: 18 Top Var Id: 18 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 10 Top Var Id: 10 Top Var Name: 2 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 3 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 6 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c17/txt/23.txt b/cmake-build-release/src/bench/results_c17/txt/23.txt new file mode 100644 index 00000000..6f557e17 --- /dev/null +++ b/cmake-build-release/src/bench/results_c17/txt/23.txt @@ -0,0 +1,6 @@ +Variable Node: 10 Top Var Id: 10 Top Var Name: 2 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 3 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 6 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 7 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/BNode_BDD.csv b/cmake-build-release/src/bench/results_c3540/BNode_BDD.csv new file mode 100644 index 00000000..11a527ca --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/BNode_BDD.csv @@ -0,0 +1,1720 @@ +BDD_ID,Bench Label +2,41 +3,832 +3,1302 +4,13 +5,786 +6,20 +6,798 +7,1 +7,772 +16,1761 +16,2158 +17,794 +18,45 +4,782 +23,1337 +7,874 +26,1562 +29,2730 +30,33 +31,825 +31,1298 +33,1833 +17,895 +34,169 +35,1179 +4,1279 +43,1821 +43,2212 +44,2633 +45,50 +46,665 +52,2898 +32,2230 +53,213 +13,769 +56,1452 +59,1909 +60,793 +61,1196 +63,1409 +68,914 +70,913 +71,1202 +72,1869 +17,915 +62,1197 +80,2068 +85,1870 +86,1673 +31,820 +87,1117 +17,803 +88,1580 +89,150 +91,1788 +92,1579 +93,58 +93,845 +95,1787 +6,1345 +96,68 +97,854 +98,848 +46,842 +102,1338 +103,1581 +106,1986 +113,2270 +122,2648 +126,3172 +126,3493 +131,3681 +142,2652 +122,3118 +143,349 +144,896 +31,1384 +145,1850 +146,223 +148,2023 +150,1401 +151,222 +153,1643 +30,1849 +154,77 +155,2022 +158,2238 +159,829 +160,1427 +163,1670 +163,2052 +169,2419 +170,835 +13,779 +172,1306 +175,2057 +176,274 +185,2418 +187,1873 +188,226 +202,2417 +216,2656 +216,3112 +217,200 +271,3414 +287,3115 +288,190 +342,3413 +425,3557 +426,179 +484,3410 +544,3407 +673,3644 +737,3721 +737,3850 +737,3953 +839,4029 +846,4042 +882,4075 +918,4105 +900,4146 +933,4189 +39,2632 +30,821 +935,1818 +937,1815 +2,2211 +938,2398 +934,2210 +939,892 +939,1363 +941,1803 +288,886 +17,883 +942,1353 +948,2206 +948,2623 +945,3055 +949,116 +949,753 +953,3278 +756,889 +955,1806 +959,2203 +959,2614 +957,3054 +960,107 +960,740 +964,3277 +965,1358 +971,2200 +971,2605 +968,3053 +972,97 +972,727 +976,3276 +980,2197 +980,2596 +978,3052 +981,87 +981,715 +985,3275 +986,890 +987,1366 +989,1809 +995,2194 +995,2587 +992,3051 +154,706 +997,3274 +998,891 +1000,1812 +1004,2191 +1004,2578 +1002,3050 +96,690 +1006,3273 +1012,2188 +1012,2569 +1009,3049 +93,670 +1014,3272 +1018,2185 +1018,2560 +1016,3048 +1019,283 +1023,3271 +1164,3398 +1168,3538 +936,2209 +948,2551 +945,2991 +1169,125 +1173,3214 +959,2542 +957,2990 +1174,128 +1178,3213 +971,2533 +968,2989 +1179,132 +1183,3212 +980,2524 +978,2988 +1184,137 +1188,3211 +995,2515 +992,2987 +1189,143 +1193,3210 +1004,2506 +1002,2986 +1195,3209 +1012,2497 +1009,2985 +1196,159 +1200,3208 +1018,2488 +1016,2984 +1201,124 +1205,3207 +1263,3390 +1267,3537 +1272,3634 +1284,3713 +1330,4251 +1342,4335 +12,2729 +72,1884 +1350,2083 +1356,1885 +86,1676 +88,1588 +1358,1794 +92,1587 +981,858 +1360,1793 +6,1348 +1361,1589 +1364,1988 +1369,2282 +1382,2677 +1375,3141 +145,1856 +1383,238 +1385,2029 +150,1404 +1386,232 +1388,1646 +30,1855 +1389,2028 +1392,2241 +1398,2432 +185,2431 +187,1888 +1399,244 +1413,2430 +1427,2681 +1427,3135 +1476,3438 +1490,3138 +1539,3437 +1623,3573 +1375,2673 +1670,3434 +1720,3431 +1829,3661 +1905,3740 +72,1879 +1913,2078 +1919,1880 +86,1675 +88,1585 +1920,1792 +92,1584 +1921,1791 +6,1347 +1922,1586 +1925,1987 +1931,2277 +1946,2666 +1939,3134 +145,1854 +1948,2027 +150,1403 +1950,1645 +30,1853 +1951,2026 +1954,2240 +1960,2427 +185,2426 +187,1883 +1974,2425 +1988,2670 +1988,3128 +2030,3430 +2041,3131 +2083,3429 +2147,3568 +1939,2662 +2187,3426 +2234,3423 +2323,3657 +2370,3734 +72,1874 +2377,2073 +2383,1875 +86,1674 +88,1583 +2385,1790 +92,1582 +96,851 +2387,1789 +6,1346 +96,877 +96,1496 +97,1765 +93,956 +2389,1981 +98,1339 +2391,1764 +2393,2178 +2392,2374 +2394,2486 +2397,2768 +2404,3119 +2421,3419 +2413,3653 +145,1852 +2423,2025 +150,1402 +2425,1644 +30,1851 +1359,2024 +2428,2239 +2434,2422 +185,2421 +187,1878 +2448,2420 +2462,2659 +2462,3122 +2513,3652 +2524,3125 +2575,3651 +2657,3731 +2413,3415 +2709,3648 +2767,3645 +2884,3789 +2949,3838 +4505,3926 +4505,4035 +4506,343 +4515,1926 +145,1864 +4516,264 +4518,2037 +150,1408 +4519,257 +4521,1650 +30,1863 +4522,303 +4523,2036 +4526,2245 +160,1426 +163,1667 +163,2038 +4532,2450 +18,836 +4533,1315 +175,2043 +4534,2449 +4535,1908 +4536,270 +4547,2448 +4558,2723 +4572,3168 +72,1904 +31,916 +4573,1219 +4579,2103 +4585,1905 +86,1680 +88,1599 +972,864 +4587,1802 +92,1598 +4589,1801 +6,1352 +4590,1600 +4593,1991 +4600,2299 +4606,2715 +4655,3466 +4558,3165 +4707,3463 +4748,3677 +72,1899 +4754,2098 +4760,1900 +86,1679 +88,1596 +4762,1800 +92,1595 +4763,1799 +6,1351 +1136,870 +4764,1597 +4767,1990 +4774,2294 +4791,2706 +4782,3164 +145,1862 +4793,2035 +150,1407 +4794,250 +4796,1649 +30,1861 +4797,294 +4798,2034 +4801,2244 +4807,2445 +4534,2444 +4535,1903 +4818,2443 +4829,2710 +4829,3158 +4890,3462 +4902,3161 +4963,3461 +5087,3589 +4782,2702 +5140,3458 +5194,3455 +5312,3676 +5479,3756 +72,1894 +5484,2093 +5490,1895 +86,1678 +88,1594 +5491,1798 +92,1593 +5492,1797 +6,1350 +960,880 +960,1502 +1136,1767 +972,962 +5494,1982 +1133,1344 +5496,1766 +5498,2179 +5497,2375 +5499,2487 +5502,2769 +5509,3149 +5528,3451 +5518,3672 +145,1860 +5530,2033 +150,1406 +5532,1648 +30,1859 +4588,2032 +5535,2243 +5541,2440 +4534,2439 +4535,1898 +5552,2438 +5563,2697 +5563,3152 +5624,3671 +5634,3155 +5695,3670 +5826,3753 +5518,3447 +5881,3667 +5937,3664 +6056,3803 +6216,3845 +72,1889 +6221,2088 +6227,1890 +86,1677 +88,1591 +6228,1796 +92,1590 +6229,1795 +6,1349 +1133,867 +1138,861 +6231,1343 +6232,1592 +6235,1989 +6242,2287 +6261,2688 +6251,3148 +145,1858 +6263,2031 +150,1405 +6265,1647 +30,1857 +4597,2030 +6268,2242 +6274,2437 +171,1322 +184,2436 +186,1893 +6287,2435 +6300,2692 +6300,3142 +6368,3446 +6378,3145 +6431,3445 +6538,3578 +6251,2684 +6593,3442 +6647,3439 +6764,3663 +6907,3743 +9519,3936 +5239,3673 +10872,3935 +5984,3800 +11584,3895 +6690,3662 +6764,3766 +15185,3996 +15589,4091 +15589,4167 +23574,4283 +1765,3658 +25071,3931 +2274,3654 +25603,3930 +2816,3786 +25890,3894 +597,3643 +673,3765 +27596,3992 +36394,4310 +36394,4465 +36394,4563 +45876,4562 +4515,1917 +4515,2304 +45885,2719 +4606,3171 +45933,3470 +45981,3469 +46082,3594 +46138,3680 +46274,3762 +47686,3932 +48037,4056 +4510,2728 +4572,3193 +4902,3192 +5634,3191 +6378,3190 +426,917 +48098,3383 +598,1459 +48156,3194 +48174,3471 +48197,3605 +48607,4094 +48607,4174 +56236,4284 +56237,330 +66814,4608 +97043,4644 +97043,4722 +4510,1913 +97048,3178 +97048,3502 +97053,3687 +1905,3858 +1905,3962 +97177,4047 +97184,4046 +97232,4086 +97280,4119 +97280,4213 +97285,3175 +97285,3496 +97290,3685 +2370,3855 +2370,3956 +97379,4044 +97386,4043 +97430,4085 +97472,4116 +97472,4203 +97476,3682 +97476,3821 +97480,3898 +2949,3937 +2949,4059 +97573,4114 +97580,4113 +97608,4154 +97644,4197 +97644,4305 +102125,4443 +104003,4549 +104003,4656 +110741,4706 +126,3490 +131,3703 +737,3950 +839,4058 +846,4057 +882,4098 +918,4139 +900,4239 +97472,4200 +117612,4448 +117635,3812 +117635,3913 +118035,4447 +118055,3809 +118207,4446 +118210,1912 +118224,3912 +118238,3947 +123695,4503 +123695,4616 +127419,4670 +121964,4669 +130993,4705 +138151,4740 +138151,4844 +151369,4897 +134594,4896 +156742,4924 +163692,4946 +97280,4209 +164643,4317 +165669,4387 +165669,4531 +166729,4596 +97472,4356 +97452,4452 +167892,4322 +168714,4421 +174687,4509 +175675,4508 +180444,4552 +186348,4593 +186348,4691 +197216,4748 +183818,4747 +202540,4786 +211644,4818 +214003,4316 +215051,4435 +216101,4507 +97644,4353 +97626,4484 +218800,4326 +218907,4325 +218923,3920 +220936,4416 +227881,4527 +220212,4526 +233033,4572 +242308,4619 +258332,4674 +238651,4673 +264680,4708 +278136,4743 +293385,4982 +104003,4659 +110741,4707 +138151,4847 +151369,4899 +134594,4898 +156742,4925 +163692,4949 +160217,4968 +298259,4981 +300627,5007 +300631,5030 +300634,2121 +300651,4985 +300671,5080 +300671,5139 +302443,5182 +29,2732 +44,2635 +98,679 +302448,2899 +32,2231 +97476,3824 +97480,3899 +2949,4062 +97573,4106 +97580,4115 +97608,4147 +97644,4190 +97626,4252 +302462,4303 +39,2634 +945,3063 +302465,3286 +957,3062 +302467,3285 +968,3061 +302470,3284 +978,3060 +302472,3283 +992,3059 +302475,3282 +1002,3058 +302477,3281 +1009,3057 +302479,3280 +1016,3056 +302483,3279 +302556,3399 +30,1369 +302559,3540 +31,1842 +945,2999 +302561,3222 +957,2998 +302564,3221 +968,2997 +302566,3220 +978,2996 +302570,3219 +992,2995 +302572,3218 +1002,2994 +302574,3217 +1009,2993 +45,655 +302576,3216 +1016,2992 +302580,3215 +302653,3391 +302656,3539 +302659,3635 +302666,3714 +302712,4376 +302721,4472 +12,2731 +308722,4916 +316367,4951 +278136,4850 +338210,4969 +272774,4902 +352504,4950 +370178,4983 +370181,5010 +300634,2122 +370197,4831 +370217,5050 +370217,5117 +379399,5212 +379416,5159 +391680,5183 +402200,5228 +397392,5253 +29,2734 +44,2637 +97,686 +402204,2900 +32,2232 +97285,3499 +97290,3686 +2370,3959 +97379,4030 +97386,4045 +97430,4076 +97472,4107 +97452,4148 +402218,4191 +39,2636 +945,3071 +402222,3294 +957,3070 +402224,3293 +968,3069 +402227,3292 +978,3068 +402229,3291 +992,3067 +402232,3290 +1002,3066 +402234,3289 +1009,3065 +402236,3288 +1016,3064 +402240,3287 +402284,3400 +402287,3542 +31,1843 +945,3007 +402289,3230 +957,3006 +402292,3229 +968,3005 +402294,3228 +978,3004 +402296,3227 +992,3003 +402298,3226 +1002,3002 +402300,3225 +1009,3001 +1014,3224 +1016,3000 +402304,3223 +402426,3392 +402429,3541 +402432,3636 +402439,3715 +402485,4253 +402494,4338 +12,2733 +97043,4805 +80701,4870 +165669,4534 +166729,4597 +186348,4694 +197216,4750 +183818,4749 +202540,4787 +211644,4822 +207857,4889 +416119,4928 +211644,4929 +316367,4952 +439524,4970 +427780,4984 +439528,5013 +300634,2123 +439544,4907 +439564,5058 +439564,5111 +439564,5151 +439581,5197 +29,2736 +44,2639 +281,702 +439585,2901 +32,2233 +97048,3505 +97053,3688 +1905,3965 +97177,4031 +97184,4048 +97232,4077 +97280,4108 +97257,4149 +439599,4192 +39,2638 +945,3079 +439603,3302 +957,3078 +439605,3301 +968,3077 +439608,3300 +978,3076 +439610,3299 +992,3075 +439613,3298 +1002,3074 +439615,3297 +1009,3073 +439618,3296 +1016,3072 +439619,311 +439623,3295 +439650,3401 +439653,3544 +31,1844 +945,3015 +439655,3238 +957,3014 +439658,3237 +968,3013 +439660,3236 +978,3012 +439662,3235 +992,3011 +439664,3234 +1002,3010 +439666,3233 +1009,3009 +302479,3232 +1016,3008 +439670,3231 +439858,3393 +439861,3543 +439864,3637 +439871,3716 +439917,4254 +439926,4341 +12,2735 +440449,4186 +440987,4291 +97280,4359 +97257,4486 +15589,4182 +443662,4528 +443688,4299 +445305,4487 +448617,4576 +453907,4636 +447161,4635 +456512,4675 +461448,4711 +461452,4797 +300634,2124 +461469,4794 +461488,4876 +461488,4937 +477010,5220 +477026,4978 +489315,5196 +501465,5236 +501465,5269 +535230,5284 +496026,5283 +581643,5295 +611252,5309 +611252,5335 +604008,5352 +29,2738 +611255,1824 +43,2221 +611256,2641 +11,1325 +611260,1747 +611262,1738 +15,2144 +1138,724 +611264,2347 +611258,2145 +611261,2143 +4536,947 +4559,1470 +4516,944 +8869,1694 +4560,1469 +8813,1693 +611266,1936 +611265,2142 +4519,941 +4561,1468 +4794,938 +8678,1692 +4891,1467 +8671,1691 +611268,1933 +611274,2342 +611267,2141 +611280,2341 +611286,2471 +611290,2980 +611297,3206 +611302,3406 +611253,2234 +611308,3181 +611308,3511 +611314,3689 +6907,3861 +6907,3971 +611538,4032 +611545,4049 +611587,4078 +611669,4109 +611633,4150 +611675,4193 +39,2640 +945,3087 +611679,3310 +957,3086 +611681,3309 +968,3085 +611684,3308 +978,3084 +611686,3307 +992,3083 +611689,3306 +1002,3082 +611691,3305 +1009,3081 +611694,3304 +1016,3080 +611695,317 +611699,3303 +611728,3402 +611730,3546 +31,1845 +945,3023 +611732,3246 +957,3022 +611734,3245 +968,3021 +611736,3244 +978,3020 +611738,3243 +992,3019 +611740,3242 +1002,3018 +1006,3241 +1009,3017 +402236,3240 +1016,3016 +611744,3239 +612051,3394 +612054,3545 +612057,3638 +612064,3717 +612092,4255 +612103,4344 +12,2737 +4510,1922 +612109,3184 +612109,3514 +612115,3696 +5479,3865 +5479,3974 +612349,4055 +612356,4054 +612406,4090 +612488,4128 +612494,3187 +612494,3520 +612500,3694 +46274,3868 +46274,3980 +612730,4052 +612737,4051 +612787,4088 +612869,4123 +612869,4223 +613246,4319 +613707,4493 +614168,4558 +614174,3690 +614174,3827 +614180,3911 +6216,3940 +6216,4067 +614400,4127 +614407,4126 +614457,4161 +614539,4218 +614539,4362 +614503,4491 +614560,3818 +614560,3917 +614864,4238 +614885,3815 +615249,4287 +615249,4430 +616409,4530 +616721,4529 +617839,4573 +619101,4623 +621037,4677 +618522,4676 +622443,4716 +624337,4757 +624620,4242 +624620,4365 +624903,4461 +612488,4247 +612452,4330 +614560,3921 +625535,4393 +625555,4013 +626132,4329 +626845,4458 +626845,4581 +627959,4641 +626501,4640 +628831,4678 +629917,4717 +15589,4296 +443688,4295 +440449,4331 +631155,4468 +631155,4564 +631588,4318 +632122,4390 +632122,4537 +632656,4602 +611308,3508 +611314,3704 +6907,3968 +611538,4066 +611545,4065 +611587,4101 +611669,4142 +611633,4241 +633494,4328 +633809,4327 +633830,3916 +633851,3948 +635113,4427 +637262,4511 +634709,4510 +638862,4555 +641254,4599 +641254,4697 +645414,4754 +640198,4753 +647904,4788 +651676,4823 +657272,4901 +632122,4540 +632656,4603 +641254,4700 +645414,4756 +640198,4755 +647904,4789 +651676,4826 +650053,4868 +659876,4900 +661497,4926 +661501,4954 +300634,2125 +661514,4913 +661534,4988 +661534,5042 +661861,5097 +29,2740 +611256,2643 +15,2150 +1133,736 +661863,2351 +611258,2151 +611261,2149 +1131,763 +1131,1490 +949,1946 +1136,749 +1136,1487 +377965,2139 +960,1945 +388642,2138 +399910,2334 +395124,2477 +1133,1484 +972,1944 +1138,1481 +9138,2137 +981,1943 +11340,2136 +182992,2331 +568888,2757 +183002,2476 +526734,2756 +607823,2977 +661867,3388 +661874,3535 +661879,3642 +611253,2235 +614174,3830 +614180,3906 +6216,4070 +614400,4110 +614407,4122 +614457,4151 +614539,4194 +614503,4256 +661888,4304 +39,2642 +945,3095 +661892,3318 +957,3094 +661894,3317 +968,3093 +661897,3316 +978,3092 +661899,3315 +992,3091 +661902,3314 +1002,3090 +661904,3313 +1009,3089 +661907,3312 +1016,3088 +661908,322 +661912,3311 +661941,3403 +661944,3548 +31,1846 +945,3031 +661946,3254 +957,3030 +661948,3253 +968,3029 +661950,3252 +978,3028 +661952,3251 +992,3027 +661954,3250 +1002,3026 +302477,3249 +1009,3025 +439618,3248 +1016,3024 +661957,3247 +662210,3395 +662213,3547 +662216,3639 +662223,3718 +662259,4377 +662270,4475 +12,2739 +663628,4808 +665624,4872 +624337,4854 +670564,4905 +623470,4904 +674041,4930 +678318,4953 +678322,4973 +300634,2126 +678335,4838 +678355,5018 +678355,5070 +682943,5110 +682960,5109 +686923,5125 +690769,5145 +690769,5205 +689028,5233 +29,2742 +611256,2645 +15,2157 +690771,2355 +611258,2156 +4325,1340 +6522,1725 +690775,2354 +611261,2155 +96,683 +154,699 +690776,1267 +6421,1722 +690782,2148 +21,839 +21,1273 +690783,2350 +18,1736 +1399,935 +1477,1262 +1383,932 +11317,1512 +1478,1261 +11278,1511 +180571,1718 +180571,2316 +180488,2468 +1386,929 +1479,1260 +188,926 +690785,1510 +272,1259 +690787,1509 +690789,1715 +690789,2313 +690791,2749 +690788,2467 +690793,2748 +690795,2966 +690794,3196 +690796,3387 +690802,3534 +690808,3633 +690817,3712 +690822,3779 +611253,2236 +612109,3517 +612115,3693 +5479,3977 +612349,4033 +612356,4050 +612406,4079 +612488,4111 +612452,4152 +690831,4195 +39,2644 +945,3103 +690835,3326 +957,3102 +690837,3325 +968,3101 +690840,3324 +978,3100 +690842,3323 +992,3099 +690845,3322 +1002,3098 +690847,3321 +1009,3097 +690850,3320 +1016,3096 +690851,326 +690855,3319 +690884,3404 +690887,3550 +31,1847 +945,3039 +690889,3262 +957,3038 +690891,3261 +968,3037 +690893,3260 +978,3036 +690895,3259 +992,3035 +997,3258 +1002,3034 +402234,3257 +1009,3033 +611694,3256 +1016,3032 +690897,3255 +691083,3396 +691086,3549 +691089,3640 +691096,3719 +691134,4257 +691145,4347 +12,2741 +631155,4664 +630536,4726 +624620,4368 +624903,4462 +626845,4584 +627959,4643 +626501,4642 +628831,4679 +629917,4721 +629406,4775 +694480,4829 +629917,4830 +665624,4873 +700255,4906 +697383,4931 +700259,4957 +300634,2127 +700272,4800 +700292,4996 +700292,5039 +700309,5095 +29,2744 +611256,2647 +15,2154 +700311,2353 +611258,2153 +10517,1264 +26573,1735 +700315,2352 +611261,2152 +21,1276 +101,1263 +700316,1520 +700317,1966 +18,1737 +281,1478 +154,1942 +97,1475 +378356,2135 +96,1941 +389102,2134 +400265,2328 +395478,2475 +98,1471 +93,1939 +45,950 +700319,2133 +46,1474 +700321,1940 +391682,2325 +700323,2755 +397394,2474 +700325,2754 +581695,2973 +700326,3389 +700329,3536 +700335,3632 +700344,3711 +700349,3780 +611253,2237 +612494,3523 +612500,3695 +46274,3983 +612730,4034 +612737,4053 +612787,4080 +612869,4112 +612833,4153 +700358,4196 +39,2646 +945,3111 +700362,3334 +957,3110 +700364,3333 +968,3109 +700367,3332 +978,3108 +700369,3331 +992,3107 +700372,3330 +1002,3106 +700374,3329 +1009,3105 +700376,3328 +1016,3104 +700377,329 +700381,3327 +700410,3405 +700413,3552 +31,1848 +945,3047 +700415,3270 +957,3046 +700417,3269 +968,3045 +700419,3268 +978,3044 +700421,3267 +992,3043 +302475,3266 +1002,3042 +439615,3265 +1009,3041 +661907,3264 +1016,3040 +700423,3263 +700544,3397 +700547,3551 +700550,3641 +700557,3720 +700595,4258 +700606,4350 +12,2743 +612869,4371 +612833,4464 +56237,965 +701022,4515 +80702,1460 +701600,4463 +702112,4559 +702116,4650 +300634,2128 +702129,4647 +702148,4727 +702148,4812 +703904,5108 +703920,4885 +705399,5094 +707043,5122 +707043,5174 +712467,5245 +706242,5217 +718973,5232 +724319,5258 +724319,5292 +822253,5355 +722222,5312 +926036,5349 +990046,5359 +611252,5332 +604008,5353 +724319,5289 +822253,5354 +722222,5313 +926036,5348 +990046,5358 +978406,5361 +690769,5209 +689028,5235 +707043,5177 +712467,5246 +706242,5219 +718973,5234 +724319,5261 +722222,5279 +722222,5306 +724319,5322 +439564,5154 +439581,5199 +461488,4940 +477010,5221 +477026,4979 +489315,5198 +501465,5240 +496026,5250 +4506,923 +127,920 +990047,1461 +1004968,5114 +1004968,5163 +1019909,5203 +1037081,5128 +1037081,5188 +1060547,5224 +1071022,5225 +1082458,5243 +1101016,5257 +1091737,5266 +1101017,350 +1060548,1464 +1060548,1930 +1101019,2307 +1112721,5286 +1112724,2310 +1004968,5160 +1019909,5201 +1037081,5184 +1060547,5223 +1071022,5222 +1082458,5242 +1101016,5254 +1136662,5278 +1203508,5285 +0,5277 +1313422,5298 +1313422,5327 +1465984,5341 +1503137,5344 +1659748,5351 +1778682,5357 +722222,5303 +724319,5323 +1313422,5324 +1465984,5340 +1503137,5345 +1659748,5350 +1778682,5356 +1778682,5360 +302443,5085 +379416,5055 +439581,5061 +477026,4880 +1795184,5133 +682960,5021 +700309,4999 +661861,4991 +703920,4730 +1802311,5066 +1815059,5173 +1836400,5136 +1893815,5193 +1894086,5215 +1894357,5231 +1815059,5166 +1898085,5192 +439564,5103 +439564,5121 +300671,5120 +370217,5102 +678355,5046 +678355,5078 +700292,5029 +700292,5047 +661534,5026 +661534,5045 +1898087,1331 +1898089,1756 +1898090,2184 +102125,4569 +1903816,4630 +56236,4413 +1905319,4668 +1907688,4506 +1912499,4629 +1914867,4704 +1915964,4772 +1917080,4817 +36394,4479 +45876,4568 +123695,4613 +1917296,4688 +121964,4687 +1920216,4733 +1920794,4769 +1924924,4860 +1920505,4816 +1926246,4859 +1929584,4895 +1929596,4921 +1898088,2183 +960,1499 +1136,1731 +972,959 +5494,1961 +1133,1272 +5496,1730 +5498,2147 +632657,2349 +1929599,2483 +1898086,1770 +46,1268 +1929600,1729 +45,1726 +96,1493 +97,1728 +93,953 +2389,1960 +98,1271 +2391,1727 +2393,2146 +1929602,2348 +1929603,2478 +1929605,2764 +1929636,4965 +1929620,4980 +1929620,4964 +1929620,5002 +461488,4920 +461488,4944 +702148,4778 +702148,4815 +7,1334 +16,2175 +1929639,2482 +1929643,2761 +13,1769 +630536,4442 +1929654,4498 +12,2481 +1929658,2758 +1929687,4588 +1929674,4628 +1929674,4587 +1929674,4667 +615249,4398 +615249,4497 +616721,4496 +613707,4545 +1930140,4589 +26912,4074 +1931291,4073 +1931298,4104 +1931305,4145 +1931312,4028 +607823,3384 +607823,3697 +592198,3778 +581695,3484 +1931314,3835 +604010,3629 +1931316,3777 +926132,3885 +978408,3925 +607823,3700 +592198,3776 +581695,3487 +1931314,3834 +604010,3628 +1931316,3775 +926132,3884 +978408,3924 +926132,3987 +611286,2970 +611286,3481 +611285,3627 +180571,2322 +180488,2470 +690789,2319 +690791,2751 +690788,2469 +690793,2750 +690795,2967 +690795,3478 +1931318,3708 +690794,3626 +1931320,3707 +1931322,3774 +611286,3475 +611285,3631 +690795,3472 +1931318,3706 +690794,3630 +1931320,3705 +1931322,3773 +1931321,3833 +15,1328 +14,2181 +46035,1258 +5014,1257 +5750,1256 +5263,1255 +13828,1508 +1931323,1254 +1931324,1253 +1931325,1252 +1931326,1251 +1931355,1507 +1931401,1721 +1931403,2379 +11,1768 +8854,768 +12244,1067 +1931406,1983 +1898088,2180 +1931407,2376 +1931418,2746 +1931413,2962 +1931413,2745 +1931418,3195 +26521,1714 +26573,1947 +100,1250 +1931422,1505 +1790836,1713 diff --git a/cmake-build-release/src/bench/results_c3540/dot/1713.dot b/cmake-build-release/src/bench/results_c3540/dot/1713.dot new file mode 100644 index 00000000..6a558ecf --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/1713.dot @@ -0,0 +1,20 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +edge [style = invis]; {"50" -> "58" -> "68" -> "77" -> "T"; } +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/1947.dot b/cmake-build-release/src/bench/results_c3540/dot/1947.dot new file mode 100644 index 00000000..ad367f4d --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/1947.dot @@ -0,0 +1,17 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +edge [style = invis]; {"107" -> "97" -> "87" -> "T"; } +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/3195.dot b/cmake-build-release/src/bench/results_c3540/dot/3195.dot new file mode 100644 index 00000000..e1774a26 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/3195.dot @@ -0,0 +1,65 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +edge [style = invis]; {"13" -> "20" -> "1" -> "50" -> "58" -> "68" -> "77" -> "226" -> "116" -> "107" -> "97" -> "87" -> "238" -> "232" -> "244" -> "264" -> "257" -> "270" -> "250" -> "T"; } +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/3833.dot b/cmake-build-release/src/bench/results_c3540/dot/3833.dot new file mode 100644 index 00000000..74568af4 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/3833.dot @@ -0,0 +1,32 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +edge [style = invis]; {"226" -> "238" -> "232" -> "244" -> "264" -> "257" -> "270" -> "250" -> "T"; } +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/3987.dot b/cmake-build-release/src/bench/results_c3540/dot/3987.dot new file mode 100644 index 00000000..5ab07f6b --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/3987.dot @@ -0,0 +1,32 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +edge [style = invis]; {"50" -> "58" -> "68" -> "77" -> "116" -> "107" -> "97" -> "87" -> "T"; } +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/4028.dot b/cmake-build-release/src/bench/results_c3540/dot/4028.dot new file mode 100644 index 00000000..ebf38ddc --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/4028.dot @@ -0,0 +1,113 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "159" -> "238" -> "232" -> "244" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/4145.dot b/cmake-build-release/src/bench/results_c3540/dot/4145.dot new file mode 100644 index 00000000..ebf38ddc --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/4145.dot @@ -0,0 +1,113 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "159" -> "238" -> "232" -> "244" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/4589.dot b/cmake-build-release/src/bench/results_c3540/dot/4589.dot new file mode 100644 index 00000000..a6c3c629 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/4589.dot @@ -0,0 +1,86 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "213" -> "349" -> "274" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/4667.dot b/cmake-build-release/src/bench/results_c3540/dot/4667.dot new file mode 100644 index 00000000..b06075ca --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/4667.dot @@ -0,0 +1,83 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "58" -> "68" -> "274" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "343" -> "264" -> "257" -> "270" -> "250" -> "330" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/4815.dot b/cmake-build-release/src/bench/results_c3540/dot/4815.dot new file mode 100644 index 00000000..b1524d05 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/4815.dot @@ -0,0 +1,113 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "326" };"690851";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "329" };"700377";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "58" -> "68" -> "349" -> "77" -> "274" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "159" -> "343" -> "264" -> "257" -> "303" -> "270" -> "294" -> "330" -> "311" -> "317" -> "322" -> "326" -> "329" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +"690851" -> "1" [style=solid,arrowsize=".75"]; +"690851" -> "0" [style=dashed,arrowsize=".75"]; +"700377" -> "1" [style=solid,arrowsize=".75"]; +"700377" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/4944.dot b/cmake-build-release/src/bench/results_c3540/dot/4944.dot new file mode 100644 index 00000000..d50d938e --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/4944.dot @@ -0,0 +1,125 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "77" -> "274" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "132" -> "137" -> "143" -> "159" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5002.dot b/cmake-build-release/src/bench/results_c3540/dot/5002.dot new file mode 100644 index 00000000..98c44e5b --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5002.dot @@ -0,0 +1,122 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "159" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5045.dot b/cmake-build-release/src/bench/results_c3540/dot/5045.dot new file mode 100644 index 00000000..63aa9947 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5045.dot @@ -0,0 +1,122 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "77" -> "274" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "137" -> "143" -> "159" -> "238" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5047.dot b/cmake-build-release/src/bench/results_c3540/dot/5047.dot new file mode 100644 index 00000000..2873ac2c --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5047.dot @@ -0,0 +1,128 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "326" };"690851";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "159" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "322" -> "326" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +"690851" -> "1" [style=solid,arrowsize=".75"]; +"690851" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5078.dot b/cmake-build-release/src/bench/results_c3540/dot/5078.dot new file mode 100644 index 00000000..71be54eb --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5078.dot @@ -0,0 +1,119 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "77" -> "274" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "143" -> "159" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "322" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5102.dot b/cmake-build-release/src/bench/results_c3540/dot/5102.dot new file mode 100644 index 00000000..83f5c13f --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5102.dot @@ -0,0 +1,134 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "125" };"1169";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "125" -> "128" -> "132" -> "137" -> "143" -> "159" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1169" -> "1" [style=solid,arrowsize=".75"]; +"1169" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5120.dot b/cmake-build-release/src/bench/results_c3540/dot/5120.dot new file mode 100644 index 00000000..bb6453fe --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5120.dot @@ -0,0 +1,140 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "125" };"1169";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "124" };"1201";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "125" -> "128" -> "132" -> "137" -> "143" -> "159" -> "124" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1169" -> "1" [style=solid,arrowsize=".75"]; +"1169" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1201" -> "1" [style=solid,arrowsize=".75"]; +"1201" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5121.dot b/cmake-build-release/src/bench/results_c3540/dot/5121.dot new file mode 100644 index 00000000..838217a7 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5121.dot @@ -0,0 +1,128 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "128" -> "132" -> "137" -> "143" -> "159" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5192.dot b/cmake-build-release/src/bench/results_c3540/dot/5192.dot new file mode 100644 index 00000000..d72d84d0 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5192.dot @@ -0,0 +1,155 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "125" };"1169";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "124" };"1201";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "326" };"690851";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "329" };"700377";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "125" -> "128" -> "132" -> "137" -> "143" -> "159" -> "124" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "322" -> "326" -> "329" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1169" -> "1" [style=solid,arrowsize=".75"]; +"1169" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1201" -> "1" [style=solid,arrowsize=".75"]; +"1201" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +"690851" -> "1" [style=solid,arrowsize=".75"]; +"690851" -> "0" [style=dashed,arrowsize=".75"]; +"700377" -> "1" [style=solid,arrowsize=".75"]; +"700377" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5231.dot b/cmake-build-release/src/bench/results_c3540/dot/5231.dot new file mode 100644 index 00000000..d72d84d0 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5231.dot @@ -0,0 +1,155 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "125" };"1169";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "124" };"1201";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "326" };"690851";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "329" };"700377";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "125" -> "128" -> "132" -> "137" -> "143" -> "159" -> "124" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "322" -> "326" -> "329" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1169" -> "1" [style=solid,arrowsize=".75"]; +"1169" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1201" -> "1" [style=solid,arrowsize=".75"]; +"1201" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +"690851" -> "1" [style=solid,arrowsize=".75"]; +"690851" -> "0" [style=dashed,arrowsize=".75"]; +"700377" -> "1" [style=solid,arrowsize=".75"]; +"700377" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5360.dot b/cmake-build-release/src/bench/results_c3540/dot/5360.dot new file mode 100644 index 00000000..6292e5b1 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5360.dot @@ -0,0 +1,158 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "125" };"1169";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "124" };"1201";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "326" };"690851";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "329" };"700377";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "350" };"1101017";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "125" -> "128" -> "132" -> "137" -> "143" -> "159" -> "124" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "322" -> "326" -> "329" -> "350" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1169" -> "1" [style=solid,arrowsize=".75"]; +"1169" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1201" -> "1" [style=solid,arrowsize=".75"]; +"1201" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +"690851" -> "1" [style=solid,arrowsize=".75"]; +"690851" -> "0" [style=dashed,arrowsize=".75"]; +"700377" -> "1" [style=solid,arrowsize=".75"]; +"700377" -> "0" [style=dashed,arrowsize=".75"]; +"1101017" -> "1" [style=solid,arrowsize=".75"]; +"1101017" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/dot/5361.dot b/cmake-build-release/src/bench/results_c3540/dot/5361.dot new file mode 100644 index 00000000..d72d84d0 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/dot/5361.dot @@ -0,0 +1,155 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "41" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "13" };"4";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "20" };"6";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "45" };"18";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "33" };"30";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "169" };"34";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"45";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "213" };"53";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "150" };"89";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "58" };"93";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "68" };"96";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "349" };"143";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "223" };"146";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "222" };"151";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "77" };"154";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "274" };"176";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "226" };"188";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "200" };"217";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "190" };"288";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "179" };"426";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "116" };"949";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "107" };"960";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "97" };"972";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "87" };"981";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "283" };"1019";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "125" };"1169";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "128" };"1174";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "132" };"1179";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "137" };"1184";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "143" };"1189";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "159" };"1196";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "124" };"1201";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "238" };"1383";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "232" };"1386";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "244" };"1399";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "343" };"4506";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "264" };"4516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "257" };"4519";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "303" };"4522";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "270" };"4536";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "250" };"4794";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "294" };"4797";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "330" };"56237";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "311" };"439619";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "317" };"611695";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "322" };"661908";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "326" };"690851";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "329" };"700377";} +edge [style = invis]; {"41" -> "13" -> "20" -> "1" -> "45" -> "33" -> "169" -> "50" -> "213" -> "150" -> "58" -> "68" -> "349" -> "223" -> "222" -> "77" -> "274" -> "226" -> "200" -> "190" -> "179" -> "116" -> "107" -> "97" -> "87" -> "283" -> "125" -> "128" -> "132" -> "137" -> "143" -> "159" -> "124" -> "238" -> "232" -> "244" -> "343" -> "264" -> "257" -> "303" -> "270" -> "250" -> "294" -> "330" -> "311" -> "317" -> "322" -> "326" -> "329" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"4" -> "1" [style=solid,arrowsize=".75"]; +"4" -> "0" [style=dashed,arrowsize=".75"]; +"6" -> "1" [style=solid,arrowsize=".75"]; +"6" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"18" -> "1" [style=solid,arrowsize=".75"]; +"18" -> "0" [style=dashed,arrowsize=".75"]; +"30" -> "1" [style=solid,arrowsize=".75"]; +"30" -> "0" [style=dashed,arrowsize=".75"]; +"34" -> "1" [style=solid,arrowsize=".75"]; +"34" -> "0" [style=dashed,arrowsize=".75"]; +"45" -> "1" [style=solid,arrowsize=".75"]; +"45" -> "0" [style=dashed,arrowsize=".75"]; +"53" -> "1" [style=solid,arrowsize=".75"]; +"53" -> "0" [style=dashed,arrowsize=".75"]; +"89" -> "1" [style=solid,arrowsize=".75"]; +"89" -> "0" [style=dashed,arrowsize=".75"]; +"93" -> "1" [style=solid,arrowsize=".75"]; +"93" -> "0" [style=dashed,arrowsize=".75"]; +"96" -> "1" [style=solid,arrowsize=".75"]; +"96" -> "0" [style=dashed,arrowsize=".75"]; +"143" -> "1" [style=solid,arrowsize=".75"]; +"143" -> "0" [style=dashed,arrowsize=".75"]; +"146" -> "1" [style=solid,arrowsize=".75"]; +"146" -> "0" [style=dashed,arrowsize=".75"]; +"151" -> "1" [style=solid,arrowsize=".75"]; +"151" -> "0" [style=dashed,arrowsize=".75"]; +"154" -> "1" [style=solid,arrowsize=".75"]; +"154" -> "0" [style=dashed,arrowsize=".75"]; +"176" -> "1" [style=solid,arrowsize=".75"]; +"176" -> "0" [style=dashed,arrowsize=".75"]; +"188" -> "1" [style=solid,arrowsize=".75"]; +"188" -> "0" [style=dashed,arrowsize=".75"]; +"217" -> "1" [style=solid,arrowsize=".75"]; +"217" -> "0" [style=dashed,arrowsize=".75"]; +"288" -> "1" [style=solid,arrowsize=".75"]; +"288" -> "0" [style=dashed,arrowsize=".75"]; +"426" -> "1" [style=solid,arrowsize=".75"]; +"426" -> "0" [style=dashed,arrowsize=".75"]; +"949" -> "1" [style=solid,arrowsize=".75"]; +"949" -> "0" [style=dashed,arrowsize=".75"]; +"960" -> "1" [style=solid,arrowsize=".75"]; +"960" -> "0" [style=dashed,arrowsize=".75"]; +"972" -> "1" [style=solid,arrowsize=".75"]; +"972" -> "0" [style=dashed,arrowsize=".75"]; +"981" -> "1" [style=solid,arrowsize=".75"]; +"981" -> "0" [style=dashed,arrowsize=".75"]; +"1019" -> "1" [style=solid,arrowsize=".75"]; +"1019" -> "0" [style=dashed,arrowsize=".75"]; +"1169" -> "1" [style=solid,arrowsize=".75"]; +"1169" -> "0" [style=dashed,arrowsize=".75"]; +"1174" -> "1" [style=solid,arrowsize=".75"]; +"1174" -> "0" [style=dashed,arrowsize=".75"]; +"1179" -> "1" [style=solid,arrowsize=".75"]; +"1179" -> "0" [style=dashed,arrowsize=".75"]; +"1184" -> "1" [style=solid,arrowsize=".75"]; +"1184" -> "0" [style=dashed,arrowsize=".75"]; +"1189" -> "1" [style=solid,arrowsize=".75"]; +"1189" -> "0" [style=dashed,arrowsize=".75"]; +"1196" -> "1" [style=solid,arrowsize=".75"]; +"1196" -> "0" [style=dashed,arrowsize=".75"]; +"1201" -> "1" [style=solid,arrowsize=".75"]; +"1201" -> "0" [style=dashed,arrowsize=".75"]; +"1383" -> "1" [style=solid,arrowsize=".75"]; +"1383" -> "0" [style=dashed,arrowsize=".75"]; +"1386" -> "1" [style=solid,arrowsize=".75"]; +"1386" -> "0" [style=dashed,arrowsize=".75"]; +"1399" -> "1" [style=solid,arrowsize=".75"]; +"1399" -> "0" [style=dashed,arrowsize=".75"]; +"4506" -> "1" [style=solid,arrowsize=".75"]; +"4506" -> "0" [style=dashed,arrowsize=".75"]; +"4516" -> "1" [style=solid,arrowsize=".75"]; +"4516" -> "0" [style=dashed,arrowsize=".75"]; +"4519" -> "1" [style=solid,arrowsize=".75"]; +"4519" -> "0" [style=dashed,arrowsize=".75"]; +"4522" -> "1" [style=solid,arrowsize=".75"]; +"4522" -> "0" [style=dashed,arrowsize=".75"]; +"4536" -> "1" [style=solid,arrowsize=".75"]; +"4536" -> "0" [style=dashed,arrowsize=".75"]; +"4794" -> "1" [style=solid,arrowsize=".75"]; +"4794" -> "0" [style=dashed,arrowsize=".75"]; +"4797" -> "1" [style=solid,arrowsize=".75"]; +"4797" -> "0" [style=dashed,arrowsize=".75"]; +"56237" -> "1" [style=solid,arrowsize=".75"]; +"56237" -> "0" [style=dashed,arrowsize=".75"]; +"439619" -> "1" [style=solid,arrowsize=".75"]; +"439619" -> "0" [style=dashed,arrowsize=".75"]; +"611695" -> "1" [style=solid,arrowsize=".75"]; +"611695" -> "0" [style=dashed,arrowsize=".75"]; +"661908" -> "1" [style=solid,arrowsize=".75"]; +"661908" -> "0" [style=dashed,arrowsize=".75"]; +"690851" -> "1" [style=solid,arrowsize=".75"]; +"690851" -> "0" [style=dashed,arrowsize=".75"]; +"700377" -> "1" [style=solid,arrowsize=".75"]; +"700377" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c3540/txt/1713.txt b/cmake-build-release/src/bench/results_c3540/txt/1713.txt new file mode 100644 index 00000000..e994fdb5 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/1713.txt @@ -0,0 +1,6 @@ +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/1947.txt b/cmake-build-release/src/bench/results_c3540/txt/1947.txt new file mode 100644 index 00000000..2d1f7128 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/1947.txt @@ -0,0 +1,5 @@ +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/3195.txt b/cmake-build-release/src/bench/results_c3540/txt/3195.txt new file mode 100644 index 00000000..d26ba1f3 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/3195.txt @@ -0,0 +1,21 @@ +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/3833.txt b/cmake-build-release/src/bench/results_c3540/txt/3833.txt new file mode 100644 index 00000000..e2f78e95 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/3833.txt @@ -0,0 +1,10 @@ +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/3987.txt b/cmake-build-release/src/bench/results_c3540/txt/3987.txt new file mode 100644 index 00000000..0e9bdc0c --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/3987.txt @@ -0,0 +1,10 @@ +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/4028.txt b/cmake-build-release/src/bench/results_c3540/txt/4028.txt new file mode 100644 index 00000000..56d88dd9 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/4028.txt @@ -0,0 +1,37 @@ +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/4145.txt b/cmake-build-release/src/bench/results_c3540/txt/4145.txt new file mode 100644 index 00000000..56d88dd9 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/4145.txt @@ -0,0 +1,37 @@ +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/4589.txt b/cmake-build-release/src/bench/results_c3540/txt/4589.txt new file mode 100644 index 00000000..8583b4cc --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/4589.txt @@ -0,0 +1,28 @@ +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/4667.txt b/cmake-build-release/src/bench/results_c3540/txt/4667.txt new file mode 100644 index 00000000..7104b974 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/4667.txt @@ -0,0 +1,27 @@ +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/4815.txt b/cmake-build-release/src/bench/results_c3540/txt/4815.txt new file mode 100644 index 00000000..46ba1228 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/4815.txt @@ -0,0 +1,37 @@ +Variable Node: 700377 Top Var Id: 700377 Top Var Name: 329 Low: 0 High: 1 +Variable Node: 690851 Top Var Id: 690851 Top Var Name: 326 Low: 0 High: 1 +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/4944.txt b/cmake-build-release/src/bench/results_c3540/txt/4944.txt new file mode 100644 index 00000000..1a331946 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/4944.txt @@ -0,0 +1,41 @@ +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5002.txt b/cmake-build-release/src/bench/results_c3540/txt/5002.txt new file mode 100644 index 00000000..46786997 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5002.txt @@ -0,0 +1,40 @@ +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5045.txt b/cmake-build-release/src/bench/results_c3540/txt/5045.txt new file mode 100644 index 00000000..26a999a9 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5045.txt @@ -0,0 +1,40 @@ +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5047.txt b/cmake-build-release/src/bench/results_c3540/txt/5047.txt new file mode 100644 index 00000000..a69e14e0 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5047.txt @@ -0,0 +1,42 @@ +Variable Node: 690851 Top Var Id: 690851 Top Var Name: 326 Low: 0 High: 1 +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5078.txt b/cmake-build-release/src/bench/results_c3540/txt/5078.txt new file mode 100644 index 00000000..be6eaa20 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5078.txt @@ -0,0 +1,39 @@ +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5102.txt b/cmake-build-release/src/bench/results_c3540/txt/5102.txt new file mode 100644 index 00000000..74e68dd3 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5102.txt @@ -0,0 +1,44 @@ +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1169 Top Var Id: 1169 Top Var Name: 125 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5120.txt b/cmake-build-release/src/bench/results_c3540/txt/5120.txt new file mode 100644 index 00000000..09149613 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5120.txt @@ -0,0 +1,46 @@ +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1201 Top Var Id: 1201 Top Var Name: 124 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1169 Top Var Id: 1169 Top Var Name: 125 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5121.txt b/cmake-build-release/src/bench/results_c3540/txt/5121.txt new file mode 100644 index 00000000..5924d130 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5121.txt @@ -0,0 +1,42 @@ +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5192.txt b/cmake-build-release/src/bench/results_c3540/txt/5192.txt new file mode 100644 index 00000000..d49119e8 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5192.txt @@ -0,0 +1,51 @@ +Variable Node: 700377 Top Var Id: 700377 Top Var Name: 329 Low: 0 High: 1 +Variable Node: 690851 Top Var Id: 690851 Top Var Name: 326 Low: 0 High: 1 +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1201 Top Var Id: 1201 Top Var Name: 124 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1169 Top Var Id: 1169 Top Var Name: 125 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5231.txt b/cmake-build-release/src/bench/results_c3540/txt/5231.txt new file mode 100644 index 00000000..d49119e8 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5231.txt @@ -0,0 +1,51 @@ +Variable Node: 700377 Top Var Id: 700377 Top Var Name: 329 Low: 0 High: 1 +Variable Node: 690851 Top Var Id: 690851 Top Var Name: 326 Low: 0 High: 1 +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1201 Top Var Id: 1201 Top Var Name: 124 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1169 Top Var Id: 1169 Top Var Name: 125 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5360.txt b/cmake-build-release/src/bench/results_c3540/txt/5360.txt new file mode 100644 index 00000000..95048844 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5360.txt @@ -0,0 +1,52 @@ +Variable Node: 1101017 Top Var Id: 1101017 Top Var Name: 350 Low: 0 High: 1 +Variable Node: 700377 Top Var Id: 700377 Top Var Name: 329 Low: 0 High: 1 +Variable Node: 690851 Top Var Id: 690851 Top Var Name: 326 Low: 0 High: 1 +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1201 Top Var Id: 1201 Top Var Name: 124 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1169 Top Var Id: 1169 Top Var Name: 125 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c3540/txt/5361.txt b/cmake-build-release/src/bench/results_c3540/txt/5361.txt new file mode 100644 index 00000000..d49119e8 --- /dev/null +++ b/cmake-build-release/src/bench/results_c3540/txt/5361.txt @@ -0,0 +1,51 @@ +Variable Node: 700377 Top Var Id: 700377 Top Var Name: 329 Low: 0 High: 1 +Variable Node: 690851 Top Var Id: 690851 Top Var Name: 326 Low: 0 High: 1 +Variable Node: 661908 Top Var Id: 661908 Top Var Name: 322 Low: 0 High: 1 +Variable Node: 611695 Top Var Id: 611695 Top Var Name: 317 Low: 0 High: 1 +Variable Node: 439619 Top Var Id: 439619 Top Var Name: 311 Low: 0 High: 1 +Variable Node: 56237 Top Var Id: 56237 Top Var Name: 330 Low: 0 High: 1 +Variable Node: 4797 Top Var Id: 4797 Top Var Name: 294 Low: 0 High: 1 +Variable Node: 4794 Top Var Id: 4794 Top Var Name: 250 Low: 0 High: 1 +Variable Node: 4536 Top Var Id: 4536 Top Var Name: 270 Low: 0 High: 1 +Variable Node: 4522 Top Var Id: 4522 Top Var Name: 303 Low: 0 High: 1 +Variable Node: 4519 Top Var Id: 4519 Top Var Name: 257 Low: 0 High: 1 +Variable Node: 4516 Top Var Id: 4516 Top Var Name: 264 Low: 0 High: 1 +Variable Node: 4506 Top Var Id: 4506 Top Var Name: 343 Low: 0 High: 1 +Variable Node: 1399 Top Var Id: 1399 Top Var Name: 244 Low: 0 High: 1 +Variable Node: 1386 Top Var Id: 1386 Top Var Name: 232 Low: 0 High: 1 +Variable Node: 1383 Top Var Id: 1383 Top Var Name: 238 Low: 0 High: 1 +Variable Node: 1201 Top Var Id: 1201 Top Var Name: 124 Low: 0 High: 1 +Variable Node: 1196 Top Var Id: 1196 Top Var Name: 159 Low: 0 High: 1 +Variable Node: 1189 Top Var Id: 1189 Top Var Name: 143 Low: 0 High: 1 +Variable Node: 1184 Top Var Id: 1184 Top Var Name: 137 Low: 0 High: 1 +Variable Node: 1179 Top Var Id: 1179 Top Var Name: 132 Low: 0 High: 1 +Variable Node: 1174 Top Var Id: 1174 Top Var Name: 128 Low: 0 High: 1 +Variable Node: 1169 Top Var Id: 1169 Top Var Name: 125 Low: 0 High: 1 +Variable Node: 1019 Top Var Id: 1019 Top Var Name: 283 Low: 0 High: 1 +Variable Node: 981 Top Var Id: 981 Top Var Name: 87 Low: 0 High: 1 +Variable Node: 972 Top Var Id: 972 Top Var Name: 97 Low: 0 High: 1 +Variable Node: 960 Top Var Id: 960 Top Var Name: 107 Low: 0 High: 1 +Variable Node: 949 Top Var Id: 949 Top Var Name: 116 Low: 0 High: 1 +Variable Node: 426 Top Var Id: 426 Top Var Name: 179 Low: 0 High: 1 +Variable Node: 288 Top Var Id: 288 Top Var Name: 190 Low: 0 High: 1 +Variable Node: 217 Top Var Id: 217 Top Var Name: 200 Low: 0 High: 1 +Variable Node: 188 Top Var Id: 188 Top Var Name: 226 Low: 0 High: 1 +Variable Node: 176 Top Var Id: 176 Top Var Name: 274 Low: 0 High: 1 +Variable Node: 154 Top Var Id: 154 Top Var Name: 77 Low: 0 High: 1 +Variable Node: 151 Top Var Id: 151 Top Var Name: 222 Low: 0 High: 1 +Variable Node: 146 Top Var Id: 146 Top Var Name: 223 Low: 0 High: 1 +Variable Node: 143 Top Var Id: 143 Top Var Name: 349 Low: 0 High: 1 +Variable Node: 96 Top Var Id: 96 Top Var Name: 68 Low: 0 High: 1 +Variable Node: 93 Top Var Id: 93 Top Var Name: 58 Low: 0 High: 1 +Variable Node: 89 Top Var Id: 89 Top Var Name: 150 Low: 0 High: 1 +Variable Node: 53 Top Var Id: 53 Top Var Name: 213 Low: 0 High: 1 +Variable Node: 45 Top Var Id: 45 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 34 Top Var Id: 34 Top Var Name: 169 Low: 0 High: 1 +Variable Node: 30 Top Var Id: 30 Top Var Name: 33 Low: 0 High: 1 +Variable Node: 18 Top Var Id: 18 Top Var Name: 45 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 6 Top Var Id: 6 Top Var Name: 20 Low: 0 High: 1 +Variable Node: 4 Top Var Id: 4 Top Var Name: 13 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 41 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/BNode_BDD.csv b/cmake-build-release/src/bench/results_c432/BNode_BDD.csv new file mode 100644 index 00000000..27280121 --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/BNode_BDD.csv @@ -0,0 +1,197 @@ +BDD_ID,Bench Label +2,115 +3,108 +4,151 +6,198 +7,102 +8,150 +10,180 +11,95 +12,89 +13,146 +15,177 +16,82 +17,76 +18,142 +20,174 +21,69 +22,63 +23,138 +25,171 +26,56 +27,50 +28,134 +30,168 +31,43 +32,37 +33,130 +35,165 +36,30 +37,24 +38,126 +40,162 +41,17 +42,11 +43,122 +45,159 +46,4 +47,1 +48,118 +50,154 +66,199 +82,203 +84,251 +89,295 +86,308 +90,112 +93,197 +129,285 +130,147 +131,99 +134,195 +138,247 +178,282 +179,143 +180,86 +183,193 +189,243 +229,279 +230,139 +231,73 +234,191 +242,239 +282,276 +283,135 +284,60 +287,189 +297,236 +337,273 +338,131 +339,47 +342,187 +354,233 +394,270 +395,127 +396,34 +399,185 +413,230 +453,267 +454,123 +455,21 +458,183 +474,227 +514,264 +515,119 +516,8 +519,157 +535,224 +571,260 +3167,296 +5693,309 +6970,343 +8761,356 +8762,105 +8765,196 +8805,294 +8785,307 +10084,341 +12898,355 +12899,92 +12902,194 +12942,293 +12922,306 +14227,339 +16925,354 +16926,79 +16929,192 +16969,292 +16949,305 +18268,337 +20930,353 +20931,66 +20934,190 +20974,291 +20954,304 +22303,335 +24993,352 +24994,53 +24997,188 +25037,290 +25017,303 +26428,333 +29226,351 +29227,40 +29230,186 +29270,289 +29250,302 +30787,332 +33829,350 +33830,27 +33833,184 +33873,288 +33853,301 +35644,331 +39190,349 +39191,14 +39194,158 +39230,263 +39212,300 +41509,330 +46069,348 +59258,357 +65337,360 +75247,378 +5693,319 +77036,346 +82,213 +77041,258 +85598,411 +82975,420 +95636,377 +97433,345 +97442,257 +106224,407 +116646,374 +118599,340 +118620,254 +128506,393 +139056,373 +141197,338 +141222,250 +151918,386 +159270,429 +169436,376 +171253,344 +171266,256 +180312,404 +177532,418 +190606,375 +192467,342 +192484,255 +201872,399 +209200,425 +125470,417 +212378,422 +223056,372 +225577,336 +225606,246 +237736,381 +250632,432 +103528,419 +255065,428 +267929,431 +279791,430 +279793,379 +280815,347 +83,259 +286938,414 +299656,416 +310448,371 +313476,334 +313508,242 +327147,380 +322701,415 +327167,421 +65337,370 +5693,329 +82,223 diff --git a/cmake-build-release/src/bench/results_c432/dot/223.dot b/cmake-build-release/src/bench/results_c432/dot/223.dot new file mode 100644 index 00000000..46747117 --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/223.dot @@ -0,0 +1,62 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +edge [style = invis]; {"108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "T"; } +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/dot/329.dot b/cmake-build-release/src/bench/results_c432/dot/329.dot new file mode 100644 index 00000000..593d624e --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/329.dot @@ -0,0 +1,89 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "112" };"90";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "99" };"131";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "86" };"180";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "73" };"231";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "60" };"284";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "47" };"339";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "34" };"396";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "21" };"455";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "8" };"516";} +edge [style = invis]; {"108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "112" -> "99" -> "86" -> "73" -> "60" -> "47" -> "34" -> "21" -> "8" -> "T"; } +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +"90" -> "1" [style=solid,arrowsize=".75"]; +"90" -> "0" [style=dashed,arrowsize=".75"]; +"131" -> "1" [style=solid,arrowsize=".75"]; +"131" -> "0" [style=dashed,arrowsize=".75"]; +"180" -> "1" [style=solid,arrowsize=".75"]; +"180" -> "0" [style=dashed,arrowsize=".75"]; +"231" -> "1" [style=solid,arrowsize=".75"]; +"231" -> "0" [style=dashed,arrowsize=".75"]; +"284" -> "1" [style=solid,arrowsize=".75"]; +"284" -> "0" [style=dashed,arrowsize=".75"]; +"339" -> "1" [style=solid,arrowsize=".75"]; +"339" -> "0" [style=dashed,arrowsize=".75"]; +"396" -> "1" [style=solid,arrowsize=".75"]; +"396" -> "0" [style=dashed,arrowsize=".75"]; +"455" -> "1" [style=solid,arrowsize=".75"]; +"455" -> "0" [style=dashed,arrowsize=".75"]; +"516" -> "1" [style=solid,arrowsize=".75"]; +"516" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/dot/370.dot b/cmake-build-release/src/bench/results_c432/dot/370.dot new file mode 100644 index 00000000..ee18729c --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/370.dot @@ -0,0 +1,116 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "115" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "112" };"90";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "99" };"131";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "86" };"180";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "73" };"231";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "60" };"284";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "47" };"339";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "34" };"396";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "21" };"455";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "8" };"516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "105" };"8762";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "92" };"12899";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "79" };"16926";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "66" };"20931";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "53" };"24994";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "40" };"29227";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "27" };"33830";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "14" };"39191";} +edge [style = invis]; {"115" -> "108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "112" -> "99" -> "86" -> "73" -> "60" -> "47" -> "34" -> "21" -> "8" -> "105" -> "92" -> "79" -> "66" -> "53" -> "40" -> "27" -> "14" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +"90" -> "1" [style=solid,arrowsize=".75"]; +"90" -> "0" [style=dashed,arrowsize=".75"]; +"131" -> "1" [style=solid,arrowsize=".75"]; +"131" -> "0" [style=dashed,arrowsize=".75"]; +"180" -> "1" [style=solid,arrowsize=".75"]; +"180" -> "0" [style=dashed,arrowsize=".75"]; +"231" -> "1" [style=solid,arrowsize=".75"]; +"231" -> "0" [style=dashed,arrowsize=".75"]; +"284" -> "1" [style=solid,arrowsize=".75"]; +"284" -> "0" [style=dashed,arrowsize=".75"]; +"339" -> "1" [style=solid,arrowsize=".75"]; +"339" -> "0" [style=dashed,arrowsize=".75"]; +"396" -> "1" [style=solid,arrowsize=".75"]; +"396" -> "0" [style=dashed,arrowsize=".75"]; +"455" -> "1" [style=solid,arrowsize=".75"]; +"455" -> "0" [style=dashed,arrowsize=".75"]; +"516" -> "1" [style=solid,arrowsize=".75"]; +"516" -> "0" [style=dashed,arrowsize=".75"]; +"8762" -> "1" [style=solid,arrowsize=".75"]; +"8762" -> "0" [style=dashed,arrowsize=".75"]; +"12899" -> "1" [style=solid,arrowsize=".75"]; +"12899" -> "0" [style=dashed,arrowsize=".75"]; +"16926" -> "1" [style=solid,arrowsize=".75"]; +"16926" -> "0" [style=dashed,arrowsize=".75"]; +"20931" -> "1" [style=solid,arrowsize=".75"]; +"20931" -> "0" [style=dashed,arrowsize=".75"]; +"24994" -> "1" [style=solid,arrowsize=".75"]; +"24994" -> "0" [style=dashed,arrowsize=".75"]; +"29227" -> "1" [style=solid,arrowsize=".75"]; +"29227" -> "0" [style=dashed,arrowsize=".75"]; +"33830" -> "1" [style=solid,arrowsize=".75"]; +"33830" -> "0" [style=dashed,arrowsize=".75"]; +"39191" -> "1" [style=solid,arrowsize=".75"]; +"39191" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/dot/421.dot b/cmake-build-release/src/bench/results_c432/dot/421.dot new file mode 100644 index 00000000..ee18729c --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/421.dot @@ -0,0 +1,116 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "115" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "112" };"90";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "99" };"131";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "86" };"180";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "73" };"231";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "60" };"284";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "47" };"339";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "34" };"396";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "21" };"455";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "8" };"516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "105" };"8762";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "92" };"12899";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "79" };"16926";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "66" };"20931";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "53" };"24994";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "40" };"29227";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "27" };"33830";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "14" };"39191";} +edge [style = invis]; {"115" -> "108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "112" -> "99" -> "86" -> "73" -> "60" -> "47" -> "34" -> "21" -> "8" -> "105" -> "92" -> "79" -> "66" -> "53" -> "40" -> "27" -> "14" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +"90" -> "1" [style=solid,arrowsize=".75"]; +"90" -> "0" [style=dashed,arrowsize=".75"]; +"131" -> "1" [style=solid,arrowsize=".75"]; +"131" -> "0" [style=dashed,arrowsize=".75"]; +"180" -> "1" [style=solid,arrowsize=".75"]; +"180" -> "0" [style=dashed,arrowsize=".75"]; +"231" -> "1" [style=solid,arrowsize=".75"]; +"231" -> "0" [style=dashed,arrowsize=".75"]; +"284" -> "1" [style=solid,arrowsize=".75"]; +"284" -> "0" [style=dashed,arrowsize=".75"]; +"339" -> "1" [style=solid,arrowsize=".75"]; +"339" -> "0" [style=dashed,arrowsize=".75"]; +"396" -> "1" [style=solid,arrowsize=".75"]; +"396" -> "0" [style=dashed,arrowsize=".75"]; +"455" -> "1" [style=solid,arrowsize=".75"]; +"455" -> "0" [style=dashed,arrowsize=".75"]; +"516" -> "1" [style=solid,arrowsize=".75"]; +"516" -> "0" [style=dashed,arrowsize=".75"]; +"8762" -> "1" [style=solid,arrowsize=".75"]; +"8762" -> "0" [style=dashed,arrowsize=".75"]; +"12899" -> "1" [style=solid,arrowsize=".75"]; +"12899" -> "0" [style=dashed,arrowsize=".75"]; +"16926" -> "1" [style=solid,arrowsize=".75"]; +"16926" -> "0" [style=dashed,arrowsize=".75"]; +"20931" -> "1" [style=solid,arrowsize=".75"]; +"20931" -> "0" [style=dashed,arrowsize=".75"]; +"24994" -> "1" [style=solid,arrowsize=".75"]; +"24994" -> "0" [style=dashed,arrowsize=".75"]; +"29227" -> "1" [style=solid,arrowsize=".75"]; +"29227" -> "0" [style=dashed,arrowsize=".75"]; +"33830" -> "1" [style=solid,arrowsize=".75"]; +"33830" -> "0" [style=dashed,arrowsize=".75"]; +"39191" -> "1" [style=solid,arrowsize=".75"]; +"39191" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/dot/430.dot b/cmake-build-release/src/bench/results_c432/dot/430.dot new file mode 100644 index 00000000..ee18729c --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/430.dot @@ -0,0 +1,116 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "115" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "112" };"90";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "99" };"131";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "86" };"180";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "73" };"231";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "60" };"284";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "47" };"339";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "34" };"396";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "21" };"455";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "8" };"516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "105" };"8762";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "92" };"12899";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "79" };"16926";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "66" };"20931";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "53" };"24994";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "40" };"29227";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "27" };"33830";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "14" };"39191";} +edge [style = invis]; {"115" -> "108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "112" -> "99" -> "86" -> "73" -> "60" -> "47" -> "34" -> "21" -> "8" -> "105" -> "92" -> "79" -> "66" -> "53" -> "40" -> "27" -> "14" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +"90" -> "1" [style=solid,arrowsize=".75"]; +"90" -> "0" [style=dashed,arrowsize=".75"]; +"131" -> "1" [style=solid,arrowsize=".75"]; +"131" -> "0" [style=dashed,arrowsize=".75"]; +"180" -> "1" [style=solid,arrowsize=".75"]; +"180" -> "0" [style=dashed,arrowsize=".75"]; +"231" -> "1" [style=solid,arrowsize=".75"]; +"231" -> "0" [style=dashed,arrowsize=".75"]; +"284" -> "1" [style=solid,arrowsize=".75"]; +"284" -> "0" [style=dashed,arrowsize=".75"]; +"339" -> "1" [style=solid,arrowsize=".75"]; +"339" -> "0" [style=dashed,arrowsize=".75"]; +"396" -> "1" [style=solid,arrowsize=".75"]; +"396" -> "0" [style=dashed,arrowsize=".75"]; +"455" -> "1" [style=solid,arrowsize=".75"]; +"455" -> "0" [style=dashed,arrowsize=".75"]; +"516" -> "1" [style=solid,arrowsize=".75"]; +"516" -> "0" [style=dashed,arrowsize=".75"]; +"8762" -> "1" [style=solid,arrowsize=".75"]; +"8762" -> "0" [style=dashed,arrowsize=".75"]; +"12899" -> "1" [style=solid,arrowsize=".75"]; +"12899" -> "0" [style=dashed,arrowsize=".75"]; +"16926" -> "1" [style=solid,arrowsize=".75"]; +"16926" -> "0" [style=dashed,arrowsize=".75"]; +"20931" -> "1" [style=solid,arrowsize=".75"]; +"20931" -> "0" [style=dashed,arrowsize=".75"]; +"24994" -> "1" [style=solid,arrowsize=".75"]; +"24994" -> "0" [style=dashed,arrowsize=".75"]; +"29227" -> "1" [style=solid,arrowsize=".75"]; +"29227" -> "0" [style=dashed,arrowsize=".75"]; +"33830" -> "1" [style=solid,arrowsize=".75"]; +"33830" -> "0" [style=dashed,arrowsize=".75"]; +"39191" -> "1" [style=solid,arrowsize=".75"]; +"39191" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/dot/431.dot b/cmake-build-release/src/bench/results_c432/dot/431.dot new file mode 100644 index 00000000..ee18729c --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/431.dot @@ -0,0 +1,116 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "115" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "112" };"90";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "99" };"131";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "86" };"180";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "73" };"231";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "60" };"284";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "47" };"339";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "34" };"396";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "21" };"455";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "8" };"516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "105" };"8762";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "92" };"12899";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "79" };"16926";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "66" };"20931";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "53" };"24994";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "40" };"29227";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "27" };"33830";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "14" };"39191";} +edge [style = invis]; {"115" -> "108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "112" -> "99" -> "86" -> "73" -> "60" -> "47" -> "34" -> "21" -> "8" -> "105" -> "92" -> "79" -> "66" -> "53" -> "40" -> "27" -> "14" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +"90" -> "1" [style=solid,arrowsize=".75"]; +"90" -> "0" [style=dashed,arrowsize=".75"]; +"131" -> "1" [style=solid,arrowsize=".75"]; +"131" -> "0" [style=dashed,arrowsize=".75"]; +"180" -> "1" [style=solid,arrowsize=".75"]; +"180" -> "0" [style=dashed,arrowsize=".75"]; +"231" -> "1" [style=solid,arrowsize=".75"]; +"231" -> "0" [style=dashed,arrowsize=".75"]; +"284" -> "1" [style=solid,arrowsize=".75"]; +"284" -> "0" [style=dashed,arrowsize=".75"]; +"339" -> "1" [style=solid,arrowsize=".75"]; +"339" -> "0" [style=dashed,arrowsize=".75"]; +"396" -> "1" [style=solid,arrowsize=".75"]; +"396" -> "0" [style=dashed,arrowsize=".75"]; +"455" -> "1" [style=solid,arrowsize=".75"]; +"455" -> "0" [style=dashed,arrowsize=".75"]; +"516" -> "1" [style=solid,arrowsize=".75"]; +"516" -> "0" [style=dashed,arrowsize=".75"]; +"8762" -> "1" [style=solid,arrowsize=".75"]; +"8762" -> "0" [style=dashed,arrowsize=".75"]; +"12899" -> "1" [style=solid,arrowsize=".75"]; +"12899" -> "0" [style=dashed,arrowsize=".75"]; +"16926" -> "1" [style=solid,arrowsize=".75"]; +"16926" -> "0" [style=dashed,arrowsize=".75"]; +"20931" -> "1" [style=solid,arrowsize=".75"]; +"20931" -> "0" [style=dashed,arrowsize=".75"]; +"24994" -> "1" [style=solid,arrowsize=".75"]; +"24994" -> "0" [style=dashed,arrowsize=".75"]; +"29227" -> "1" [style=solid,arrowsize=".75"]; +"29227" -> "0" [style=dashed,arrowsize=".75"]; +"33830" -> "1" [style=solid,arrowsize=".75"]; +"33830" -> "0" [style=dashed,arrowsize=".75"]; +"39191" -> "1" [style=solid,arrowsize=".75"]; +"39191" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/dot/432.dot b/cmake-build-release/src/bench/results_c432/dot/432.dot new file mode 100644 index 00000000..ee18729c --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/dot/432.dot @@ -0,0 +1,116 @@ +digraph BDD { +center = true; +{ rank = same; { node [style=invis]; "T" }; + { node [shape=box,fontsize=12]; "0"; } + { node [shape=box,fontsize=12]; "1"; } +} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "115" };"2";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "108" };"3";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "102" };"7";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "95" };"11";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "89" };"12";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "82" };"16";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "76" };"17";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "69" };"21";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "63" };"22";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "56" };"26";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "50" };"27";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "43" };"31";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "37" };"32";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "30" };"36";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "24" };"37";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "17" };"41";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "11" };"42";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "4" };"46";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "1" };"47";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "112" };"90";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "99" };"131";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "86" };"180";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "73" };"231";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "60" };"284";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "47" };"339";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "34" };"396";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "21" };"455";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "8" };"516";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "105" };"8762";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "92" };"12899";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "79" };"16926";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "66" };"20931";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "53" };"24994";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "40" };"29227";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "27" };"33830";} +{ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] "14" };"39191";} +edge [style = invis]; {"115" -> "108" -> "102" -> "95" -> "89" -> "82" -> "76" -> "69" -> "63" -> "56" -> "50" -> "43" -> "37" -> "30" -> "24" -> "17" -> "11" -> "4" -> "1" -> "112" -> "99" -> "86" -> "73" -> "60" -> "47" -> "34" -> "21" -> "8" -> "105" -> "92" -> "79" -> "66" -> "53" -> "40" -> "27" -> "14" -> "T"; } +"2" -> "1" [style=solid,arrowsize=".75"]; +"2" -> "0" [style=dashed,arrowsize=".75"]; +"3" -> "1" [style=solid,arrowsize=".75"]; +"3" -> "0" [style=dashed,arrowsize=".75"]; +"7" -> "1" [style=solid,arrowsize=".75"]; +"7" -> "0" [style=dashed,arrowsize=".75"]; +"11" -> "1" [style=solid,arrowsize=".75"]; +"11" -> "0" [style=dashed,arrowsize=".75"]; +"12" -> "1" [style=solid,arrowsize=".75"]; +"12" -> "0" [style=dashed,arrowsize=".75"]; +"16" -> "1" [style=solid,arrowsize=".75"]; +"16" -> "0" [style=dashed,arrowsize=".75"]; +"17" -> "1" [style=solid,arrowsize=".75"]; +"17" -> "0" [style=dashed,arrowsize=".75"]; +"21" -> "1" [style=solid,arrowsize=".75"]; +"21" -> "0" [style=dashed,arrowsize=".75"]; +"22" -> "1" [style=solid,arrowsize=".75"]; +"22" -> "0" [style=dashed,arrowsize=".75"]; +"26" -> "1" [style=solid,arrowsize=".75"]; +"26" -> "0" [style=dashed,arrowsize=".75"]; +"27" -> "1" [style=solid,arrowsize=".75"]; +"27" -> "0" [style=dashed,arrowsize=".75"]; +"31" -> "1" [style=solid,arrowsize=".75"]; +"31" -> "0" [style=dashed,arrowsize=".75"]; +"32" -> "1" [style=solid,arrowsize=".75"]; +"32" -> "0" [style=dashed,arrowsize=".75"]; +"36" -> "1" [style=solid,arrowsize=".75"]; +"36" -> "0" [style=dashed,arrowsize=".75"]; +"37" -> "1" [style=solid,arrowsize=".75"]; +"37" -> "0" [style=dashed,arrowsize=".75"]; +"41" -> "1" [style=solid,arrowsize=".75"]; +"41" -> "0" [style=dashed,arrowsize=".75"]; +"42" -> "1" [style=solid,arrowsize=".75"]; +"42" -> "0" [style=dashed,arrowsize=".75"]; +"46" -> "1" [style=solid,arrowsize=".75"]; +"46" -> "0" [style=dashed,arrowsize=".75"]; +"47" -> "1" [style=solid,arrowsize=".75"]; +"47" -> "0" [style=dashed,arrowsize=".75"]; +"90" -> "1" [style=solid,arrowsize=".75"]; +"90" -> "0" [style=dashed,arrowsize=".75"]; +"131" -> "1" [style=solid,arrowsize=".75"]; +"131" -> "0" [style=dashed,arrowsize=".75"]; +"180" -> "1" [style=solid,arrowsize=".75"]; +"180" -> "0" [style=dashed,arrowsize=".75"]; +"231" -> "1" [style=solid,arrowsize=".75"]; +"231" -> "0" [style=dashed,arrowsize=".75"]; +"284" -> "1" [style=solid,arrowsize=".75"]; +"284" -> "0" [style=dashed,arrowsize=".75"]; +"339" -> "1" [style=solid,arrowsize=".75"]; +"339" -> "0" [style=dashed,arrowsize=".75"]; +"396" -> "1" [style=solid,arrowsize=".75"]; +"396" -> "0" [style=dashed,arrowsize=".75"]; +"455" -> "1" [style=solid,arrowsize=".75"]; +"455" -> "0" [style=dashed,arrowsize=".75"]; +"516" -> "1" [style=solid,arrowsize=".75"]; +"516" -> "0" [style=dashed,arrowsize=".75"]; +"8762" -> "1" [style=solid,arrowsize=".75"]; +"8762" -> "0" [style=dashed,arrowsize=".75"]; +"12899" -> "1" [style=solid,arrowsize=".75"]; +"12899" -> "0" [style=dashed,arrowsize=".75"]; +"16926" -> "1" [style=solid,arrowsize=".75"]; +"16926" -> "0" [style=dashed,arrowsize=".75"]; +"20931" -> "1" [style=solid,arrowsize=".75"]; +"20931" -> "0" [style=dashed,arrowsize=".75"]; +"24994" -> "1" [style=solid,arrowsize=".75"]; +"24994" -> "0" [style=dashed,arrowsize=".75"]; +"29227" -> "1" [style=solid,arrowsize=".75"]; +"29227" -> "0" [style=dashed,arrowsize=".75"]; +"33830" -> "1" [style=solid,arrowsize=".75"]; +"33830" -> "0" [style=dashed,arrowsize=".75"]; +"39191" -> "1" [style=solid,arrowsize=".75"]; +"39191" -> "0" [style=dashed,arrowsize=".75"]; +} diff --git a/cmake-build-release/src/bench/results_c432/txt/223.txt b/cmake-build-release/src/bench/results_c432/txt/223.txt new file mode 100644 index 00000000..37e91bcf --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/223.txt @@ -0,0 +1,20 @@ +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/txt/329.txt b/cmake-build-release/src/bench/results_c432/txt/329.txt new file mode 100644 index 00000000..b52e6f25 --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/329.txt @@ -0,0 +1,29 @@ +Variable Node: 516 Top Var Id: 516 Top Var Name: 8 Low: 0 High: 1 +Variable Node: 455 Top Var Id: 455 Top Var Name: 21 Low: 0 High: 1 +Variable Node: 396 Top Var Id: 396 Top Var Name: 34 Low: 0 High: 1 +Variable Node: 339 Top Var Id: 339 Top Var Name: 47 Low: 0 High: 1 +Variable Node: 284 Top Var Id: 284 Top Var Name: 60 Low: 0 High: 1 +Variable Node: 231 Top Var Id: 231 Top Var Name: 73 Low: 0 High: 1 +Variable Node: 180 Top Var Id: 180 Top Var Name: 86 Low: 0 High: 1 +Variable Node: 131 Top Var Id: 131 Top Var Name: 99 Low: 0 High: 1 +Variable Node: 90 Top Var Id: 90 Top Var Name: 112 Low: 0 High: 1 +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/txt/370.txt b/cmake-build-release/src/bench/results_c432/txt/370.txt new file mode 100644 index 00000000..d378cf0a --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/370.txt @@ -0,0 +1,38 @@ +Variable Node: 39191 Top Var Id: 39191 Top Var Name: 14 Low: 0 High: 1 +Variable Node: 33830 Top Var Id: 33830 Top Var Name: 27 Low: 0 High: 1 +Variable Node: 29227 Top Var Id: 29227 Top Var Name: 40 Low: 0 High: 1 +Variable Node: 24994 Top Var Id: 24994 Top Var Name: 53 Low: 0 High: 1 +Variable Node: 20931 Top Var Id: 20931 Top Var Name: 66 Low: 0 High: 1 +Variable Node: 16926 Top Var Id: 16926 Top Var Name: 79 Low: 0 High: 1 +Variable Node: 12899 Top Var Id: 12899 Top Var Name: 92 Low: 0 High: 1 +Variable Node: 8762 Top Var Id: 8762 Top Var Name: 105 Low: 0 High: 1 +Variable Node: 516 Top Var Id: 516 Top Var Name: 8 Low: 0 High: 1 +Variable Node: 455 Top Var Id: 455 Top Var Name: 21 Low: 0 High: 1 +Variable Node: 396 Top Var Id: 396 Top Var Name: 34 Low: 0 High: 1 +Variable Node: 339 Top Var Id: 339 Top Var Name: 47 Low: 0 High: 1 +Variable Node: 284 Top Var Id: 284 Top Var Name: 60 Low: 0 High: 1 +Variable Node: 231 Top Var Id: 231 Top Var Name: 73 Low: 0 High: 1 +Variable Node: 180 Top Var Id: 180 Top Var Name: 86 Low: 0 High: 1 +Variable Node: 131 Top Var Id: 131 Top Var Name: 99 Low: 0 High: 1 +Variable Node: 90 Top Var Id: 90 Top Var Name: 112 Low: 0 High: 1 +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 115 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/txt/421.txt b/cmake-build-release/src/bench/results_c432/txt/421.txt new file mode 100644 index 00000000..d378cf0a --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/421.txt @@ -0,0 +1,38 @@ +Variable Node: 39191 Top Var Id: 39191 Top Var Name: 14 Low: 0 High: 1 +Variable Node: 33830 Top Var Id: 33830 Top Var Name: 27 Low: 0 High: 1 +Variable Node: 29227 Top Var Id: 29227 Top Var Name: 40 Low: 0 High: 1 +Variable Node: 24994 Top Var Id: 24994 Top Var Name: 53 Low: 0 High: 1 +Variable Node: 20931 Top Var Id: 20931 Top Var Name: 66 Low: 0 High: 1 +Variable Node: 16926 Top Var Id: 16926 Top Var Name: 79 Low: 0 High: 1 +Variable Node: 12899 Top Var Id: 12899 Top Var Name: 92 Low: 0 High: 1 +Variable Node: 8762 Top Var Id: 8762 Top Var Name: 105 Low: 0 High: 1 +Variable Node: 516 Top Var Id: 516 Top Var Name: 8 Low: 0 High: 1 +Variable Node: 455 Top Var Id: 455 Top Var Name: 21 Low: 0 High: 1 +Variable Node: 396 Top Var Id: 396 Top Var Name: 34 Low: 0 High: 1 +Variable Node: 339 Top Var Id: 339 Top Var Name: 47 Low: 0 High: 1 +Variable Node: 284 Top Var Id: 284 Top Var Name: 60 Low: 0 High: 1 +Variable Node: 231 Top Var Id: 231 Top Var Name: 73 Low: 0 High: 1 +Variable Node: 180 Top Var Id: 180 Top Var Name: 86 Low: 0 High: 1 +Variable Node: 131 Top Var Id: 131 Top Var Name: 99 Low: 0 High: 1 +Variable Node: 90 Top Var Id: 90 Top Var Name: 112 Low: 0 High: 1 +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 115 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/txt/430.txt b/cmake-build-release/src/bench/results_c432/txt/430.txt new file mode 100644 index 00000000..d378cf0a --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/430.txt @@ -0,0 +1,38 @@ +Variable Node: 39191 Top Var Id: 39191 Top Var Name: 14 Low: 0 High: 1 +Variable Node: 33830 Top Var Id: 33830 Top Var Name: 27 Low: 0 High: 1 +Variable Node: 29227 Top Var Id: 29227 Top Var Name: 40 Low: 0 High: 1 +Variable Node: 24994 Top Var Id: 24994 Top Var Name: 53 Low: 0 High: 1 +Variable Node: 20931 Top Var Id: 20931 Top Var Name: 66 Low: 0 High: 1 +Variable Node: 16926 Top Var Id: 16926 Top Var Name: 79 Low: 0 High: 1 +Variable Node: 12899 Top Var Id: 12899 Top Var Name: 92 Low: 0 High: 1 +Variable Node: 8762 Top Var Id: 8762 Top Var Name: 105 Low: 0 High: 1 +Variable Node: 516 Top Var Id: 516 Top Var Name: 8 Low: 0 High: 1 +Variable Node: 455 Top Var Id: 455 Top Var Name: 21 Low: 0 High: 1 +Variable Node: 396 Top Var Id: 396 Top Var Name: 34 Low: 0 High: 1 +Variable Node: 339 Top Var Id: 339 Top Var Name: 47 Low: 0 High: 1 +Variable Node: 284 Top Var Id: 284 Top Var Name: 60 Low: 0 High: 1 +Variable Node: 231 Top Var Id: 231 Top Var Name: 73 Low: 0 High: 1 +Variable Node: 180 Top Var Id: 180 Top Var Name: 86 Low: 0 High: 1 +Variable Node: 131 Top Var Id: 131 Top Var Name: 99 Low: 0 High: 1 +Variable Node: 90 Top Var Id: 90 Top Var Name: 112 Low: 0 High: 1 +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 115 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/txt/431.txt b/cmake-build-release/src/bench/results_c432/txt/431.txt new file mode 100644 index 00000000..d378cf0a --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/431.txt @@ -0,0 +1,38 @@ +Variable Node: 39191 Top Var Id: 39191 Top Var Name: 14 Low: 0 High: 1 +Variable Node: 33830 Top Var Id: 33830 Top Var Name: 27 Low: 0 High: 1 +Variable Node: 29227 Top Var Id: 29227 Top Var Name: 40 Low: 0 High: 1 +Variable Node: 24994 Top Var Id: 24994 Top Var Name: 53 Low: 0 High: 1 +Variable Node: 20931 Top Var Id: 20931 Top Var Name: 66 Low: 0 High: 1 +Variable Node: 16926 Top Var Id: 16926 Top Var Name: 79 Low: 0 High: 1 +Variable Node: 12899 Top Var Id: 12899 Top Var Name: 92 Low: 0 High: 1 +Variable Node: 8762 Top Var Id: 8762 Top Var Name: 105 Low: 0 High: 1 +Variable Node: 516 Top Var Id: 516 Top Var Name: 8 Low: 0 High: 1 +Variable Node: 455 Top Var Id: 455 Top Var Name: 21 Low: 0 High: 1 +Variable Node: 396 Top Var Id: 396 Top Var Name: 34 Low: 0 High: 1 +Variable Node: 339 Top Var Id: 339 Top Var Name: 47 Low: 0 High: 1 +Variable Node: 284 Top Var Id: 284 Top Var Name: 60 Low: 0 High: 1 +Variable Node: 231 Top Var Id: 231 Top Var Name: 73 Low: 0 High: 1 +Variable Node: 180 Top Var Id: 180 Top Var Name: 86 Low: 0 High: 1 +Variable Node: 131 Top Var Id: 131 Top Var Name: 99 Low: 0 High: 1 +Variable Node: 90 Top Var Id: 90 Top Var Name: 112 Low: 0 High: 1 +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 115 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/bench/results_c432/txt/432.txt b/cmake-build-release/src/bench/results_c432/txt/432.txt new file mode 100644 index 00000000..d378cf0a --- /dev/null +++ b/cmake-build-release/src/bench/results_c432/txt/432.txt @@ -0,0 +1,38 @@ +Variable Node: 39191 Top Var Id: 39191 Top Var Name: 14 Low: 0 High: 1 +Variable Node: 33830 Top Var Id: 33830 Top Var Name: 27 Low: 0 High: 1 +Variable Node: 29227 Top Var Id: 29227 Top Var Name: 40 Low: 0 High: 1 +Variable Node: 24994 Top Var Id: 24994 Top Var Name: 53 Low: 0 High: 1 +Variable Node: 20931 Top Var Id: 20931 Top Var Name: 66 Low: 0 High: 1 +Variable Node: 16926 Top Var Id: 16926 Top Var Name: 79 Low: 0 High: 1 +Variable Node: 12899 Top Var Id: 12899 Top Var Name: 92 Low: 0 High: 1 +Variable Node: 8762 Top Var Id: 8762 Top Var Name: 105 Low: 0 High: 1 +Variable Node: 516 Top Var Id: 516 Top Var Name: 8 Low: 0 High: 1 +Variable Node: 455 Top Var Id: 455 Top Var Name: 21 Low: 0 High: 1 +Variable Node: 396 Top Var Id: 396 Top Var Name: 34 Low: 0 High: 1 +Variable Node: 339 Top Var Id: 339 Top Var Name: 47 Low: 0 High: 1 +Variable Node: 284 Top Var Id: 284 Top Var Name: 60 Low: 0 High: 1 +Variable Node: 231 Top Var Id: 231 Top Var Name: 73 Low: 0 High: 1 +Variable Node: 180 Top Var Id: 180 Top Var Name: 86 Low: 0 High: 1 +Variable Node: 131 Top Var Id: 131 Top Var Name: 99 Low: 0 High: 1 +Variable Node: 90 Top Var Id: 90 Top Var Name: 112 Low: 0 High: 1 +Variable Node: 47 Top Var Id: 47 Top Var Name: 1 Low: 0 High: 1 +Variable Node: 46 Top Var Id: 46 Top Var Name: 4 Low: 0 High: 1 +Variable Node: 42 Top Var Id: 42 Top Var Name: 11 Low: 0 High: 1 +Variable Node: 41 Top Var Id: 41 Top Var Name: 17 Low: 0 High: 1 +Variable Node: 37 Top Var Id: 37 Top Var Name: 24 Low: 0 High: 1 +Variable Node: 36 Top Var Id: 36 Top Var Name: 30 Low: 0 High: 1 +Variable Node: 32 Top Var Id: 32 Top Var Name: 37 Low: 0 High: 1 +Variable Node: 31 Top Var Id: 31 Top Var Name: 43 Low: 0 High: 1 +Variable Node: 27 Top Var Id: 27 Top Var Name: 50 Low: 0 High: 1 +Variable Node: 26 Top Var Id: 26 Top Var Name: 56 Low: 0 High: 1 +Variable Node: 22 Top Var Id: 22 Top Var Name: 63 Low: 0 High: 1 +Variable Node: 21 Top Var Id: 21 Top Var Name: 69 Low: 0 High: 1 +Variable Node: 17 Top Var Id: 17 Top Var Name: 76 Low: 0 High: 1 +Variable Node: 16 Top Var Id: 16 Top Var Name: 82 Low: 0 High: 1 +Variable Node: 12 Top Var Id: 12 Top Var Name: 89 Low: 0 High: 1 +Variable Node: 11 Top Var Id: 11 Top Var Name: 95 Low: 0 High: 1 +Variable Node: 7 Top Var Id: 7 Top Var Name: 102 Low: 0 High: 1 +Variable Node: 3 Top Var Id: 3 Top Var Name: 108 Low: 0 High: 1 +Variable Node: 2 Top Var Id: 2 Top Var Name: 115 Low: 0 High: 1 +Terminal Node: 1 +Terminal Node: 0 diff --git a/cmake-build-release/src/cmake_install.cmake b/cmake-build-release/src/cmake_install.cmake new file mode 100644 index 00000000..94f1711a --- /dev/null +++ b/cmake-build-release/src/cmake_install.cmake @@ -0,0 +1,52 @@ +# Install script for directory: /home/andro/RPTU/vds2/VDSProject/src + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/cmake_install.cmake") + include("/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/cmake_install.cmake") + include("/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/cmake_install.cmake") + +endif() + diff --git a/cmake-build-release/src/libManager.a b/cmake-build-release/src/libManager.a new file mode 100644 index 0000000000000000000000000000000000000000..72c37517708cb674f86b60fc67fa6992bbe00aab GIT binary patch literal 58370 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 literal 0 HcmV?d00001 diff --git a/cmake-build-release/src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o b/cmake-build-release/src/test/CMakeFiles/VDSProject_test.dir/main_test.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..1eec1f7320ba7958b1c699ac37eb020287430e96 GIT binary patch literal 254288 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

<7 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 *7+qdfT3NEV$n?|XOx^kDrYyM5 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

$@0yNIQ* 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�Rnx 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

;&EOk%L;#o4p^zj4p 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 z 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::const_iterator it_label; + + std::cout << "============ [BEGIN] Table of Labels and Nodes ============" << std::endl; + std::cout << std::endl << "-----" << std::endl; + for (it_label = label_to_node.begin(); it_label != label_to_node.end(); it_label++) { + std::cout << std::endl << "Label: " << it_label->first << std::endl; + std::cout << "Node Information:" << std::endl; + std::cout << "\tNode Label: " << it_label->second.label << std::endl; + std::cout << "\tGate Type: " << it_label->second.gate_type << std::endl; + std::cout << "\tInputs: "; + for (const auto &i : it_label->second.input_node_list) + std::cout << i << ' '; + std::cout << std::endl << "-----" << std::endl; + } + std::cout << "============ [END] Table of Labels and Nodes ============" << std::endl; +} + +void BenchParser::PrintUUIDCircuitTable() { + std::unordered_map::const_iterator it_uuid; + + std::cout << "============ [BEGIN] Table of Labels and Nodes ============" << std::endl; + std::cout << std::endl << "-----" << std::endl; + for (it_uuid = id_to_circuit_node.begin(); it_uuid != id_to_circuit_node.end(); it_uuid++) { + std::cout << std::endl << "UUID: " << it_uuid->first << std::endl; + std::cout << "Node Information:" << std::endl; + std::cout << "\tNode Circuit Label: " << it_uuid->second.label << std::endl; + std::cout << "\tGate Type: " << it_uuid->second.gate_type << std::endl; + std::cout << "\tInputs: "; + for (unsigned long i : it_uuid->second.input_id_list) + std::cout << i << ' '; + std::cout << std::endl << "-----" << std::endl; + std::cout << "\tOutputs: "; + for (unsigned long i : it_uuid->second.output_id_list) + std::cout << i << ' '; + std::cout << std::endl << "-----" << std::endl; + } + std::cout << "============ [END] Table of Labels and Nodes ============" << std::endl; +} + +void BenchParser::PrintOutputList() { + std::set::const_iterator it; + + std::cout << std::endl << "============ [BEGIN] List of Outputs ============" << std::endl << std::endl; + std::cout << std::endl << "List of output labels: "; + for (it = output_labels.begin(); it != output_labels.end(); it++) { + std::cout << (*it) << " -> "; + } + std::cout << "end;" << std::endl; + std::cout << std::endl << "============ [END] List of Outputs ============" << std::endl; +} + +void BenchParser::PrintLabels2UUIDTable() { + std::unordered_map::const_iterator it_label; + + std::cout << "============ [BEGIN] Table of Labels and UUIDs ============" << std::endl; + std::cout << std::endl << "-----" << std::endl; + for (it_label = labels_to_id.begin(); it_label != labels_to_id.end(); it_label++) { + std::cout << std::endl << "Label: " << it_label->first << std::endl; + std::cout << std::endl << "UUID: " << it_label->second << std::endl; + std::cout << std::endl << "------------------------------" << std::endl; + } + std::cout << "============ [END] Table of Labels and UUIDs ============" << std::endl; +} + +void BenchParser::PrintCircuit(unique_ID_t circuit_ID, int indent) { + std::unordered_map::const_iterator got; + circuit_node_t node; + + got = (id_to_circuit_node).find(circuit_ID); + if (got != id_to_circuit_node.end()) { + node = got->second; + std::cout << std::string(indent, ' ') << "Node ID: " << node.id << std::endl; + std::cout << std::string(indent, ' ') << "Label: " << node.label << std::endl; + std::cout << std::string(indent, ' ') << "Type: " << node.gate_type << std::endl; + + std::cout << std::string(indent, ' ') << "Input List: " << std::endl; + for (unsigned long i : node.input_id_list) + std::cout << std::string(indent, ' ') << " " << i << std::endl; + + std::cout << std::string(indent, ' ') << "Output List: " << std::endl; + for (unsigned long i : node.output_id_list) + std::cout << std::string(indent, ' ') << " " << i << std::endl; + + indent = indent + 4; + std::cout << std::string(indent, ' ') << "--------------" << std::endl; + for (unsigned long i : node.input_id_list) + PrintCircuit(i, indent); + std::cout << std::string(indent, ' ') << "--------------" << std::endl; + } +} + +void BenchParser::PrintCircuitByLabel(const label_t &node_label) { + std::unordered_map::const_iterator got; + + got = (labels_to_id).find(node_label); + if (got != labels_to_id.end()) { + PrintCircuit(got->second, 0); + } else { + throw std::runtime_error("There is no mapping from this label to a circuit node."); + } + +} + + +void BenchParser::PrintCircuitsOfOutputSet() { + for (unsigned long it : output_circuits) { + PrintCircuit(it, 0); + } +} + +void BenchParser::PrintSortedCircuitList() { + list_of_circuit_t::const_iterator it; + + std::cout << std::endl << "============ [BEGIN] List of Sorted Circuit Nodes ============" << std::endl + << std::endl; + std::cout << std::endl << "List of Sorted Circuit Nodes labels: "; + + list_of_circuit_t ordered_circuit = this->GetSortedCircuit(); + + + for (it = ordered_circuit.begin(); it != ordered_circuit.end(); it++) { + std::cout << (*it).id << " -> "; + } + std::cout << "end;" << std::endl; + std::cout << std::endl << "============ [END] List of Sorted Circuit Nodes ============" << std::endl; +} + +/* ---------------- + * Get functions + * ---------------- + */ + +set_of_circuit_t BenchParser::GetListOfCircuitsInputs() { + return input_circuits; +} + + +set_of_circuit_t BenchParser::GetListOfCircuitsOutputs() { + return output_circuits; +} + +std::set BenchParser::GetListOfOutputLabels() { + return outputs; +} + + +circuit_node_t BenchParser::GetCircuitNode(unique_ID_t circuit_node_uuid) { + /* Iterator for the uuid2circuitNode_table table */ + std::unordered_map::const_iterator got; + + /* Search the node and add the UUID of the current node to this node OUTPUT_LIST */ + got = id_to_circuit_node.find(circuit_node_uuid); + + if (got != id_to_circuit_node.end()) { + return got->second; + }//if + else { + throw std::runtime_error("There is no mapping from this unique_ID_t to a circuit_node_type."); + } +} + +std::unordered_map BenchParser::GetCircuit() { + return id_to_circuit_node; +} + +list_of_circuit_t BenchParser::GetSortedCircuit() { + return sorted_circuit; +} + +/* --------------- + * Read File Functions + * --------------- + */ +bool BenchParser::parseFile(const std::string &bench_file) { + + std::cout << std::endl << "- Reading bench format file... "; + std::ifstream in(bench_file); + if (!in.is_open()) { + throw std::runtime_error("Could not open file: " + bench_file); + } + in.unsetf(std::ios::skipws); + std::cout << "Done!" << std::endl; + + /* Declaring file iterators */ + boost::spirit::istream_iterator first(in), last; + + /* Declaring skip parser to be used */ + skip_p::skip_grammar skip; + + /* Declaring bench format grammar */ + bench_format::bench_parser bench_grammar_parser; + + /* Stored result after parsing a file line */ + bench_format::bench_node_type parsed_bench_node; + + /* Effectively parsing the file. The parser returns a benchnode to be added to the labels table */ + std::cout << "- Parsing input file '" << bench_file << "'... "; + bool successfully_parsed; + do { + successfully_parsed = phrase_parse(first, last, bench_grammar_parser, skip, parsed_bench_node); + if (!successfully_parsed) { + std::cout << "Failed parsing input file at: " << std::string(first, last) << std::endl; + return false; + } else { + /* Add the successfully read bench node into the labels table */ + addToLabelTable(parsed_bench_node); + } + parsed_bench_node = bench_format::bench_node_type(); + } while (first != last); /* Operations are performed until it is EOF */ + std::cout << "Done!" << std::endl; + + return true; +} + + +bool BenchParser::addToLabelTable(bench_node_t bench_node) { + bool new_node_added; + label_t search_label; + /* + * Output nodes have to be handle a bit different, since they'll have + * the same label as another gate. Mappings require unique element + * identifiers. By convention, OUTPUT gates will be referenced by its + * original label concatenated with the string "OUTPUT" to differentiate + * from the other gate that has the same label. + */ + if (bench_node.gate_type == OUTPUT_GATE_T) { + /* If the gate is an output gate, it must be included into the set_of_output_labels */ + output_labels.insert(bench_node.label); + search_label = bench_node.label + bench_node.gate_type; + } else { + search_label = bench_node.label; + } + + if (label_to_node.find(search_label) != label_to_node.end()) { + new_node_added = false; + } else { + /* + * Otherwise add bench_node to the labels_table + */ + if (bench_node.gate_type == FLIP_FLOP_GATE_T) { + + /* If it is a flip flop, we have to add two nodes: + One that will be the output node; + Another one as input node. + For the searching part it is not necessary to differentiate it, + since for each existing flip flop in the circuit we will add + to the labels table one node that is an INPUT with the same + label as the flip flop, and another one with the "FLIP_FLOP_GATE_T" + string concatenated. So if we search for one of them, it is + enough to check whether the node exists or not. */ + ff_labels.insert(search_label); + label_to_node.insert(std::pair(search_label + FLIP_FLOP_GATE_T, bench_node)); + bench_node.gate_type = INPUT_GATE_T; + bench_node.input_node_list.clear(); + } + label_to_node.insert(std::pair(search_label, bench_node)); + new_node_added = true; + } + return new_node_added; +} + +unique_ID_t BenchParser::findOrAddToCircuit(const bench_node_t &bench_node) { + + unique_ID_t CircuitNodeID; + std::unordered_map::const_iterator got; + circuit_node_t new_circuit_node; + label_t search_label; + + if ((bench_node.gate_type == OUTPUT_GATE_T) || (bench_node.gate_type == FLIP_FLOP_GATE_T)) { + search_label = bench_node.label + bench_node.gate_type; + } else { + search_label = bench_node.label; + } + + got = labels_to_id.find(search_label); + + if (got != labels_to_id.end()) { + /* If the iterator is not pointing to the end of the labels_table, + means that already exist another node with the same label. Then + simply returns the unique ID from the node. */ + CircuitNodeID = (got->second); + } else { + /* + * Otherwise add bench_node to the labels_table and returns its UUID + */ + new_circuit_node = benchNodeToCircuitNode(bench_node); + CircuitNodeID = new_circuit_node.id; + labels_to_id.insert(std::pair(search_label, CircuitNodeID)); + id_to_circuit_node.insert(std::pair(CircuitNodeID, new_circuit_node)); + } + return CircuitNodeID; +} + + +unique_ID_t BenchParser::findOrAddToCircuitByLabel(const label_t &node_label) { + + auto label = (label_to_node).find(node_label); + + if (label != label_to_node.end()) { + return (findOrAddToCircuit(label->second)); + } else { + throw std::runtime_error("There is no mapping from this label to a node."); + } +} + +circuit_node_t BenchParser::benchNodeToCircuitNode(const bench_node_t &bench_node) { + + circuit_node_t new_circuit_node; + size_t input_id, new_id; + + /* Generate an unique identifier */ + new_circuit_node.id = id_counter; + id_counter++; + new_id = new_circuit_node.id; + + new_circuit_node.label = bench_node.label; + new_circuit_node.gate_type = bench_node.gate_type; + + /* If it is not an INPUT gate, we have to recursively iterate to get the unique id of the inputs */ + if (!(new_circuit_node.gate_type == INPUT_GATE_T)) { + + if (new_circuit_node.gate_type == OUTPUT_GATE_T) { + + input_id = findOrAddToCircuitByLabel(bench_node.label); + new_circuit_node.input_id_list.insert(input_id); + + auto node = id_to_circuit_node.find(input_id); + if (node != id_to_circuit_node.end()) { + node->second.output_id_list.insert(new_id); + } + + } else { + + for (const auto &input_node : bench_node.input_node_list) { + + input_id = findOrAddToCircuitByLabel(input_node); + new_circuit_node.input_id_list.insert(input_id); + + auto node = id_to_circuit_node.find(input_id); + if (node != id_to_circuit_node.end()) { + node->second.output_id_list.insert(new_id); + } + } + } + } else { + input_circuits.insert(new_id); + } + + return new_circuit_node; +} + + +void BenchParser::createCircuitFromOutputList() { + + std::set::const_iterator it; + std::unordered_map::const_iterator got_uid; + std::unordered_map::const_iterator got_node; + + for (const auto &output_label : output_labels) { + createCircuitByLabel(output_label + OUTPUT_GATE_T); + } + for (const auto &ff_label : ff_labels) { + createCircuitByLabel(ff_label + FLIP_FLOP_GATE_T); + } + for (const auto &ff_label : ff_labels) { + auto ff_id = labels_to_id.find(ff_label + FLIP_FLOP_GATE_T); + auto ff_node = id_to_circuit_node.find(ff_id->second); + ff_node = id_to_circuit_node.find(*(ff_node->second).input_id_list.begin()); + outputs.insert(ff_node->second.label); + } + outputs.insert(output_labels.begin(), output_labels.end()); +} + +void BenchParser::createCircuitByLabel(const label_t &bnode_label) { + unique_ID_t new_circuit; + new_circuit = findOrAddToCircuitByLabel(bnode_label); + output_circuits.insert(new_circuit); +} + + +/* ----------------------------- + * Topological Sort Algorithms + * ----------------------------- + */ +void BenchParser::TopologicalSortKahnsAlgorithm() { + set_of_circuit_t nodes_without_outgoing_edges = GetListOfCircuitsOutputs(); + set_of_circuit_t::iterator it; + + circuit_node_t node, tmp_node; + + while (!nodes_without_outgoing_edges.empty()) { + it = nodes_without_outgoing_edges.begin(); + /* Always pick the first element of the list of nodes without incoming edges */ + node = GetCircuitNode(*it); + nodes_without_outgoing_edges.erase(it); + + /* Nodes are added always to the end of the list */ + sorted_circuit.push_front(node); + for (auto it_input_nodes = node.input_id_list.begin(); + it_input_nodes != node.input_id_list.end(); it_input_nodes++) { + if (IsUniqueOutgoingEdge(*it_input_nodes, node.id)) { + nodes_without_outgoing_edges.insert(*it_input_nodes); + } + } + } + + if (sorted_circuit.size() != id_to_circuit_node.size()) { + throw std::runtime_error("The circuit must be cycle free!"); + } +} + + +/* ----------------------------- + * Auxiliary functions for + * Topological Sort Algorithms + * ----------------------------- + */ + +bool BenchParser::IsUniqueOutgoingEdge(unique_ID_t src_node, unique_ID_t dst_node) { + std::unordered_map::iterator got; + + /* Search source node in the circuit graph */ + got = id_to_circuit_node.find(src_node); + + if (got != id_to_circuit_node.end()) { + /* Remove outgoing edge to source node */ + (got->second).output_id_list.erase((got->second).output_id_list.find(dst_node)); + return (got->second).output_id_list.empty(); + }//if + else { + throw std::runtime_error("Destination node UUID is not part of the circuit graph!"); + } +} diff --git a/src/bench/BenchParser.hpp b/src/bench/BenchParser.hpp new file mode 100644 index 00000000..41c9c8dc --- /dev/null +++ b/src/bench/BenchParser.hpp @@ -0,0 +1,348 @@ +// +// Written by Carolina P. Nogueira 2016 +// Refactored by Deutschmann 28.09.2021 +// + +#pragma once + +#include "skip_parser.hpp" +#include "bench_grammar.hpp" +#include + +#include + +#include +#include + +#include "BenchmarkLib.h" + + +#define OUTPUT_GATE_T "OUTPUT" +#define INPUT_GATE_T "INPUT" +#define FLIP_FLOP_GATE_T "DFF" +#define BUFFER_GATE_T "BUFF" +#define NOT_GATE_T "NOT" +#define AND_GATE_T "AND" +#define OR_GATE_T "OR" +#define NAND_GATE_T "NAND" +#define NOR_GATE_T "NOR" +#define XOR_GATE_T "XOR" + +/* Type definitions */ +typedef std::string label_t; ///< Type definition for labels +typedef bench_format::bench_node_type bench_node_t; ///< Type definition for a node of the ISCAS85/89/99 bench format +typedef size_t unique_ID_t; ///< Type definition for unique identifiers for circuits +typedef std::set set_of_circuit_t; ///< Type definition for set of circuits + +/** + * \struct circuit_node_type + * \brief Struct that represents a node from a circuit. + * + */ +typedef struct circuit_node_t { + size_t id; ///< Unique ID for a node + std::string label; ///< Node Label + std::string gate_type; ///< Type of the gate (ex. AND, NOT, OR) + std::set input_id_list; ///< set containing all the inputs of the respective gate + std::set output_id_list; ///< set containing all the outputs of the respective gate +} circuit_node_t; + +typedef std::list list_of_circuit_t; ///< Type definition for list of circuits + + +/** + * \class BenchParser + * + * \brief Class to parse and convert bench nodes into circuits nodes. + * + * Bench nodes are generated by parsing ISCAS85/89/99 bench format files. + * + * \authors {Carolina Nogueira, Lucas Deutschmann} + * + */ +class BenchParser { +private: + + size_t id_counter; + + std::set output_labels; ///< Set containing bench node labels of all OUTPUT gates + std::set ff_labels; ///< Set containing bench node labels of all FLIP FLOP gates. + ///< When a FLIP FLOP gate is parsed, it is split into two circuit's gates: + ///< one will be handled as INPUT gate and the other one as OUTPUT gate. + + std::set outputs; + + std::set output_circuits; ///< Set containing the unique ID of all OUTPUT gates + std::set input_circuits; ///< Set containing the unique ID of all INPUT gates + + std::unordered_map label_to_node; ///< Mapping from bench node labels to bench node + std::unordered_map labels_to_id; ///< Mapping from bench node labels to circuit unique IDs + std::unordered_map id_to_circuit_node; ///< Mapping from circuit unique IDs to circuit nodes + + /* Topological Sorted Circuit */ + list_of_circuit_t sorted_circuit; ///< List contained the topological sorted circuit nodes + + + + /** + * \brief Print the labels2node_table table. + * \param none + * \return none + * + * It prints all the labels and the data associated to bench nodes. + */ + void PrintLabelsTable(); + + /** + * \brief Print the uuid2circuitNode_table table. + * \param none + * \return none + * + * It prints all the unique IDs and the data associated to circuit nodes. + */ + void PrintUUIDCircuitTable(); + + /** + * \brief Print the set_of_output_labels list. + * \param none + * \return none + * + * It prints the list containing the label of all output nodes. + */ + void PrintOutputList(); + + /** + * \brief Print the labels2uuid_table table. + * \param none + * \return none + * + * It prints all the labels and its associates unique circuit ID. + */ + void PrintLabels2UUIDTable(); + + /** + * \brief prints the circuit starting from the given unique identificator. + * \param circuit_ID is unique_ID_t corresponding to a node circuit. + * \param indent is int and represents the depth of the node in the circuit. + * \return none + * + * It prints the circuit starting from circuit_ID node. Indent is an integer + * corresponding to the depth of the node in the circuit. Each unity + * will add four spaces as identation before printing the node's data. + * + */ + void PrintCircuit(unique_ID_t circuit_ID, int indent); + + /** + * \brief prints the circuit starting from the given label's node. + * \param node_label is label_t + * \return none + * + */ + void PrintCircuitByLabel(const label_t& node_label); + + /** + * \brief prints all circuits from the set of circuit OUTPUTS. + * \param none + * \return none + * + */ + void PrintCircuitsOfOutputSet(); + + /** + * \brief prints the list of topological sorted circuit's node. + * \param none + * \return none + * + */ + void PrintSortedCircuitList(); + + /* ---------------- + * Get functions + * ---------------- + */ + + /** + * \brief return a list with the UUID of the INPUT gates of the circuit. + * \param none + * \return set_of_circuit_t + * + */ + set_of_circuit_t GetListOfCircuitsInputs(); + + /** + * \brief return a list with the UUID of the OUTPUT gates of the circuit. + * \param none + * \return set_of_circuit_t + * + */ + set_of_circuit_t GetListOfCircuitsOutputs(); + + /** + * \brief return a circuit node, given a its unique ID. + * \param circuit_node_uuid is unique_ID_t + * \return circuit_node_type + * + */ + circuit_node_t GetCircuitNode(unique_ID_t circuit_node_uuid); + + /** + * \brief return the table representing the circuit. + * \param none + * \return unordered_map + * + */ + std::unordered_map GetCircuit(); + /* --------------- + * Read File Functions + * --------------- + */ + /** + * \brief Reads the file containing the circuit in the bench format. + * \param bench_file is std::string. + * \return bool returns true in case of success. + * + * Reads the file containing the circuit in the bench format. + */ + bool parseFile(const std::string& bench_file); + + /* ---------------- + * Insert functions + * ---------------- + */ + + /** + * \brief return the list of circuit nodes topologically sorted. + * \param bench_node is bench_node_t + * \return bool: + * true -> Node successfully added + * false -> Node already exist and could not be added + * + * Adds a node to the labels table (labels2node) and to the + * sets_of_outputs in case it is of gate type OUTPUT. + * + */ + bool addToLabelTable(bench_node_t bench_node); + + /** + * \brief search or add the node to the circuit. + * \param bench_node is bench_node_t + * \return unique_ID_t representing the given bench_node + * + * It searches if the bench node exist in the label2uuid_table. + * If it does't, adds it to the table and return the unique ID. + * Otherwise, simply return the unique ID of the node. + * + */ + unique_ID_t findOrAddToCircuit(const bench_node_t& bench_node); + + /** + * \brief find or add a node to the circuit given its label. + * \param node_label is label_t + * \return unique_ID_t representing the given label + * + * It searches if the node corresponding to the given label is + * already inserted into the labels2uuid_table table. If it is, + * returns its id. If not, creates a new node into the circuit + * and add it to the table. + * + */ + unique_ID_t findOrAddToCircuitByLabel(const label_t& node_label); + + /* -------------------- + * Conversion functions + * -------------------- + */ + + /** + * \brief converts bench node to circuit node. + * \param bench_node is bench_node_t and represents the node to be converted. + * \return circuit_node_type + * + * Given a bench_node_t, it converts the node into an circuit_node_type. + */ + circuit_node_t benchNodeToCircuitNode(const bench_node_t& bench_node); + + /* + * + * Create circuit functions + * + */ + + /** + * \brief create a circuit from the labels in the set_of_output_labels. + * \param none + * \return none + * + */ + void createCircuitFromOutputList(); + + /** + * \brief create a circuit from the given node's label. + * \param bnode_label is label_t + * \return none + * + */ + void createCircuitByLabel(const label_t& bnode_label); + + /* ----------------------------- + * Topological Sort Algorithms + * ----------------------------- + */ + + /** + * \brief Implementation of Kahn's Algorithm for topological sort. + * \param none + * \return none (the result is stored at sorted_circuit variable) + * + */ + void TopologicalSortKahnsAlgorithm(); + + /* ----------------------------- + * Auxiliar functions for + * Topological Sort Algorithms + * ----------------------------- + */ + + /** + * \brief auxiliar function for topological sort algorithms. + * \param src_node is unique_ID_t + * \param dst_node is unique_ID_t + * \return True if it was the only outgoing edge. False, otherwise. + * + * It removes the edge from src->dst at the table uuid2circuitNode and + * then checks if it was the only outgoing edge. + */ + bool IsUniqueOutgoingEdge(unique_ID_t src_node, unique_ID_t dst_node); + +public: + /** + * \brief Constructor + * \param bench_file the path to the benchmark file + * + * Constructor method for the bench_circuit_manager class. It + * generates the topological circuit described in the file + * bench_file that must be in the ISCAS85/ISCAS89/ISCAS99 format. + */ + explicit BenchParser(const std::string& bench_file); + + ~BenchParser(); + + + /** + * \brief return the list of circuit nodes topologically sorted. + * \param none + * \return list_of_circuit_t + * + */ + list_of_circuit_t GetSortedCircuit(); + + /** + * \brief return a list with the labels of the OUTPUT gates of the circuit. The label's list also includes the FLIP_FLOPS + * \param none + * \return std::set + * + */ + std::set GetListOfOutputLabels(); + +}; diff --git a/src/bench/BenchmarkLib.cpp b/src/bench/BenchmarkLib.cpp new file mode 100644 index 00000000..53fb2056 --- /dev/null +++ b/src/bench/BenchmarkLib.cpp @@ -0,0 +1,145 @@ +/* + * BenchmarkLib.cpp + * + * Created on: 25.01.2011 + * Author: villarraga + */ + + +#include "BenchmarkLib.h" + +using namespace std; + + +long long max_mem_usage; +ofstream benmkng_file; + +void create_benmkng_file(string name) { + // creates files and checks ... + benmkng_file.open("benchmarking_info.txt"); + if(!benmkng_file) + cerr << "-E- Error: create_benmkng_file. Info: Imposible to create file" << endl; + + benmkng_file << "- Benchmarking Information" << endl; + benmkng_file << "- Project Name: " << name << endl; + benmkng_file << endl; + + max_mem_usage = 0; +} + +void close_benmkng_file(void) { + benmkng_file.close(); +} + +void write_benmkng_info(string info, int dat) { + ios_base::fmtflags initialState = benmkng_file.setf(ios_base::fixed, ios_base::floatfield); // saves initial state + benmkng_file.setf(ios_base::showpoint); + benmkng_file.precision(4); // precision 4 decimal digits + benmkng_file.setf(ios::fixed,ios::floatfield); + + // prints into file + benmkng_file << info << ": " << dat << " "; + + benmkng_file.setf(initialState); // restores original format +} + +void write_benmkng_time(string stage, double t) { + benmkng_file << stage << ": " << t << " "; +} + +void write_benmkng_newline() { + benmkng_file << endl; +} + +void reset_peak_memory() { + max_mem_usage=0; +} + + +void update_benmkng_memory(long long mem) { + + // we are interested on the peak value + if (mem > max_mem_usage) + max_mem_usage = mem; + +} + +long long get_mem_peak() { + return max_mem_usage; +} + + +void write_benmkng_memory() { + benmkng_file << "Max. Memory Usage (MB): " << max_mem_usage / 1e6 << endl; +} + +double totalTime(void) { + struct rusage ru; + getrusage(RUSAGE_SELF, &ru); + double t_usr = (double)ru.ru_utime.tv_sec + (double)ru.ru_utime.tv_usec / 1000000.0; // user time + double t_sys = (double)ru.ru_stime.tv_sec + (double)ru.ru_stime.tv_usec / 1000000.0; // system time + return t_usr+t_sys; +} + +double userTime(void) { + struct rusage ru; + getrusage(RUSAGE_SELF, &ru); + return (double)ru.ru_utime.tv_sec + (double)ru.ru_utime.tv_usec / 1000000; } + +int memReadStats(int field) { + char name[256]; + pid_t pid = getpid(); + sprintf(name, "/proc/%d/statm", pid); + FILE* in = fopen(name, "rb"); + if (in == NULL) return 0; + int value; + for (; field >= 0; field--) + fscanf(in, "%d", &value); + fclose(in); + return value; +} + + +long long memUsing() +{ + return (long long)memReadStats(0) * (long long)getpagesize(); +} + +// taken from: +// http://stackoverflow.com/questions/669438/how-to-get-memory-usage-at-run-time-in-c +void process_mem_usage(double& vm_usage, double& resident_set) +{ + vm_usage = 0.0; + resident_set = 0.0; + + // 'file' stat seems to give the most reliable results + // + ifstream stat_stream("/proc/self/stat",ios_base::in); + + // dummy vars for leading entries in stat that we don't care about + // + string pid, comm, state, ppid, pgrp, session, tty_nr; + string tpgid, flags, minflt, cminflt, majflt, cmajflt; + string utime, stime, cutime, cstime, priority, nice; + string O, itrealvalue, starttime; + + // the two fields we want + // + unsigned long vsize; + long rss; + + stat_stream >> pid >> comm >> state >> ppid >> pgrp >> session >> tty_nr + >> tpgid >> flags >> minflt >> cminflt >> majflt >> cmajflt + >> utime >> stime >> cutime >> cstime >> priority >> nice + >> O >> itrealvalue >> starttime >> vsize >> rss; // don't care about the rest + + stat_stream.close(); + + long page_size_kb = sysconf(_SC_PAGE_SIZE) / 1024; // in case x86-64 is configured to use 2MB pages + vm_usage = vsize / 1024.0; + resident_set = rss * page_size_kb; + +} + + + diff --git a/src/bench/BenchmarkLib.h b/src/bench/BenchmarkLib.h new file mode 100644 index 00000000..ec804634 --- /dev/null +++ b/src/bench/BenchmarkLib.h @@ -0,0 +1,64 @@ +/* + * BenchmarkLib.h + * + * Created on: 01.12.2010 + * Author: villarraga + */ + +#ifndef BENCHMARKLIB_H_ +#define BENCHMARKLIB_H_ + +/* + * Taken from: Minisat-1.14 Global.h library + */ + +#include +#include +#include +#include +#include +#include + +using namespace std; + +// creates text file +void create_benmkng_file(string name); + +// closes file +void close_benmkng_file(void); + +// writes info like: node and loop numbers +void write_benmkng_info(string info, int dat); + +// writes the time for an stage +void write_benmkng_time(string stage, double t); + +// eofl +void write_benmkng_newline(void); + +// records internally memory usage +void update_benmkng_memory(long long mem); + +// returns current peak memory value +long long get_mem_peak(); + +// write at the end of the file memory usage info. +void write_benmkng_memory(); + +// peak memory equal to 0 +void reset_peak_memory(); + +// returns user + system time - Taken from: Minisat-1.14 Global.h library +double totalTime(void); + +// returns user time - Taken from: Minisat-1.14 Global.h library +double userTime(void); + +// Taken from: Minisat-1.14 Global.h library +int memReadStats(int field); + +long long memUsing(); + +void process_mem_usage(double& vm_usage, double& resident_set); + +#endif /* BENCHMARKLIB_H_ */ diff --git a/src/bench/CMakeLists.txt b/src/bench/CMakeLists.txt new file mode 100644 index 00000000..791d12d4 --- /dev/null +++ b/src/bench/CMakeLists.txt @@ -0,0 +1,17 @@ +add_library(Benchmark + BenchParser.cpp + BenchmarkLib.cpp + CircuitToBDD.cpp + bench_grammar.hpp + skip_parser.hpp) + +#Boost +#find_package(Boost) + +#Executable +add_executable(VDSProject_bench main_bench.cpp) +target_link_libraries(VDSProject_bench Manager) +target_link_libraries(VDSProject_bench Benchmark) +#target_link_libraries(VDSProject_bench ${Boost_LIBRARIES}) + + diff --git a/src/bench/CircuitToBDD.cpp b/src/bench/CircuitToBDD.cpp new file mode 100644 index 00000000..68b25511 --- /dev/null +++ b/src/bench/CircuitToBDD.cpp @@ -0,0 +1,296 @@ +// +// Written by Carolina P. Nogueira 2016 +// Refactored by Deutschmann 27.09.2021 +// + +#include "CircuitToBDD.hpp" + +#include + + +CircuitToBDD::CircuitToBDD(shared_ptr BDD_manager_p) { + bdd_manager = std::move(BDD_manager_p); +} + +CircuitToBDD::~CircuitToBDD() = default; + +void CircuitToBDD::GenerateBDD(const list_of_circuit_t &circuit, const std::string& benchmark_file) { + ClassProject::BDD_ID BDD_node; + + std::filesystem::path pathToBenchFile(benchmark_file); + if (!pathToBenchFile.has_filename()) + throw std::runtime_error("circuit_to_BDD_manager::GenerateBDD: benchmark_file not specified"); + if (!std::filesystem::exists(benchmark_file)) + throw std::runtime_error("circuit_to_BDD_manager::GenerateBDD: benchmark_file doesn't exist"); + result_dir = "results_" + pathToBenchFile.stem().string(); + + if (!(std::filesystem::exists(result_dir)) && !std::filesystem::create_directory(result_dir)) { + throw std::runtime_error("Unable to create directory 'result' for the output!"); + } + + std::ofstream bdd_out_file(result_dir + "/BNode_BDD.csv"); + + if (!bdd_out_file.is_open()) { + throw std::runtime_error("Unable to open Log File!"); + } + + bdd_out_file << "BDD_ID,Bench Label" << std::endl; + + for (const auto &circuit_node : circuit) { + if (circuit_node.gate_type == INPUT_GATE_T) { + BDD_node = InputGate(circuit_node.label); + } else if (circuit_node.gate_type == NOT_GATE_T) { + BDD_node = NotGate(circuit_node.input_id_list); + } else if (circuit_node.gate_type == AND_GATE_T) { + BDD_node = AndGate(circuit_node.input_id_list); + } else if (circuit_node.gate_type == OR_GATE_T) { + BDD_node = OrGate(circuit_node.input_id_list); + } else if (circuit_node.gate_type == NAND_GATE_T) { + BDD_node = NandGate(circuit_node.input_id_list); + } else if (circuit_node.gate_type == NOR_GATE_T) { + BDD_node = NorGate(circuit_node.input_id_list); + } else if (circuit_node.gate_type == XOR_GATE_T) { + BDD_node = XorGate(circuit_node.input_id_list); + } else if (circuit_node.gate_type == BUFFER_GATE_T) { + BDD_node = findBddId(*circuit_node.input_id_list.begin()); + } + + /* OUTPUT or FLIP FLOP gates do not generate a BDD */ + if (!((circuit_node.gate_type == OUTPUT_GATE_T) | (circuit_node.gate_type == FLIP_FLOP_GATE_T))) { + node_to_bdd_id.insert(std::pair(circuit_node.id, BDD_node)); + label_to_bdd_id.insert(std::pair(circuit_node.label, BDD_node)); + bdd_out_file << BDD_node << "," << circuit_node.label << std::endl; + } + } + + bdd_out_file.close(); +} + + +ClassProject::BDD_ID CircuitToBDD::findBddId(unique_ID_t circuit_node) { + + auto bdd_id_it = node_to_bdd_id.find(circuit_node); + + if (bdd_id_it != node_to_bdd_id.end()) { + return bdd_id_it->second; + } else { + throw std::runtime_error("Destination node ID is not part of the circuit graph!"); + } +} + + +ClassProject::BDD_ID CircuitToBDD::InputGate(const label_t &label) { + return bdd_manager->createVar(label); +} + + +ClassProject::BDD_ID CircuitToBDD::NotGate(const set_of_circuit_t &inputNodes) { + unique_ID_t node = *inputNodes.begin(); + return bdd_manager->neg(findBddId(node)); +} + + +ClassProject::BDD_ID CircuitToBDD::AndGate(set_of_circuit_t inputNodes) { + auto it = inputNodes.begin(); + ClassProject::BDD_ID first_op, second_op; + + /* Get the ClassProject::BDD_ID of first elements */ + first_op = findBddId(*it); + inputNodes.erase(it); + + while (!inputNodes.empty()) { + it = inputNodes.begin(); + second_op = findBddId(*it); + inputNodes.erase(it); + + first_op = bdd_manager->and2(first_op, second_op); + } + + /* Return the ClassProject::BDD_ID equivalent to the AND of all inputs */ + return first_op; +} + + +ClassProject::BDD_ID CircuitToBDD::OrGate(set_of_circuit_t inputNodes) { + auto it = inputNodes.begin(); + ClassProject::BDD_ID first_op, second_op; + + /* Get the ClassProject::BDD_ID of first elements */ + first_op = findBddId(*it); + inputNodes.erase(it); + + while (!inputNodes.empty()) { + it = inputNodes.begin(); + second_op = findBddId(*it); + inputNodes.erase(it); + + first_op = bdd_manager->or2(first_op, second_op); + } + + /* Return the ClassProject::BDD_ID equivalent to the OR of all inputs */ + return first_op; +} + +ClassProject::BDD_ID CircuitToBDD::NandGate(set_of_circuit_t inputNodes) { + auto it = inputNodes.begin(); + ClassProject::BDD_ID first_op, second_op; + + /* Get the ClassProject::BDD_ID of first elements */ + it = inputNodes.begin(); + first_op = findBddId(*it); + inputNodes.erase(it); + + if (inputNodes.size() == 1) { + it = inputNodes.begin(); + second_op = findBddId(*it); + inputNodes.erase(it); + + /* Create the NAND BDD node for the first two elements */ + first_op = bdd_manager->nand2(first_op, second_op); + } else { + /* AND of all inputs, to use as the second operator of the NAND gate */ + second_op = AndGate(inputNodes); + /* Create the NAND BDD node */ + first_op = bdd_manager->nand2(first_op, second_op); + } + + /* Return the ClassProject::BDD_ID equivalent to the NAND of all inputs */ + return first_op; +} + +ClassProject::BDD_ID CircuitToBDD::NorGate(set_of_circuit_t inputNodes) { + auto it = inputNodes.begin(); + ClassProject::BDD_ID first_op, second_op; + + /* Get the ClassProject::BDD_ID of first elements */ + it = inputNodes.begin(); + first_op = findBddId(*it); + inputNodes.erase(it); + + if (inputNodes.size() == 1) { + it = inputNodes.begin(); + second_op = findBddId(*it); + inputNodes.erase(it); + + /* Create the NOR BDD node for the first two elements */ + first_op = bdd_manager->nor2(first_op, second_op); + } else { + /* OR of all inputs, to use as the second operator of the NAND gate */ + second_op = OrGate(inputNodes); + /* Create the NOR BDD node */ + first_op = bdd_manager->nor2(first_op, second_op); + } + + /* Return the ClassProject::BDD_ID equivalent to the NOR of all inputs */ + return first_op; +} + +ClassProject::BDD_ID CircuitToBDD::XorGate(set_of_circuit_t inputNodes) { + auto it = inputNodes.begin(); + ClassProject::BDD_ID first_op, second_op; + + /* Get the ClassProject::BDD_ID of first elements */ + first_op = findBddId(*it); + inputNodes.erase(it); + + while (!inputNodes.empty()) { + it = inputNodes.begin(); + second_op = findBddId(*it); + inputNodes.erase(it); + + first_op = bdd_manager->xor2(first_op, second_op); + } + + /* Return the ClassProject::BDD_ID equivalent to the XOR of all inputs */ + return first_op; +} + +void CircuitToBDD::PrintBDD(const std::set &output_labels) { + + if ((!(std::filesystem::exists(result_dir + "/txt")) & + !(std::filesystem::create_directory(result_dir + "/txt"))) + & (!(std::filesystem::exists(result_dir + "/dot")) & + !(std::filesystem::create_directory(result_dir + "/dot")))) { + throw std::runtime_error("Unable to create directories 'txt' and 'dot' for the output!"); + } + + for (const auto &output_label : output_labels) { + + auto output_id_it = label_to_bdd_id.find(output_label); + + if (output_id_it != label_to_bdd_id.end()) { + + std::string dot_file_name = result_dir + "/dot/" + std::string(output_label) + ".dot"; + std::string txt_file_name = result_dir + "/txt/" + std::string(output_label) + ".txt"; + + std::ofstream bdd_out_dot_file(dot_file_name); + std::ofstream bdd_out_txt_file(txt_file_name); + + if (!bdd_out_dot_file.is_open() | !bdd_out_txt_file.is_open()) { + throw std::runtime_error("Unable to open Log File!"); + } + + output_nodes.clear(); + output_vars.clear(); + bdd_manager->findNodes(output_id_it->second, output_nodes); + bdd_manager->findVars(output_id_it->second, output_vars); + + dumpBddText(bdd_out_txt_file); + dumpBddDot(bdd_out_dot_file); + + bdd_out_dot_file.close(); + bdd_out_txt_file.close(); + + } else { + throw std::runtime_error("Destination node UUID is not part of the circuit graph!"); + } + } +} + +void CircuitToBDD::dumpBddText(std::ostream &out) { + for (auto it = output_nodes.rbegin(); it != output_nodes.rend(); ++it) { + if (bdd_manager->isConstant(*it)) { + out << "Terminal Node: " << (*it) << "\n"; + } else { + out << "Variable Node: " << (*it) + << " Top Var Id: " << bdd_manager->topVar(*it) + << " Top Var Name: " << bdd_manager->getTopVarName(bdd_manager->topVar(*it)) + << " Low: " << bdd_manager->coFactorFalse(*it) + << " High: " << bdd_manager->coFactorTrue(*it) << "\n"; + } + } +} + +void CircuitToBDD::dumpBddDot(std::ostream &out) { + out << "digraph BDD {\n"; + out << "center = true;\n"; + out << "{ rank = same; { node [style=invis]; \"T\" };\n"; + out << " { node [shape=box,fontsize=12]; \"0\"; }\n"; + out << " { node [shape=box,fontsize=12]; \"1\"; }\n}\n"; + for (const auto var : output_vars) { + out << R"({ rank=same; { node [shape=plaintext,fontname="Times Italic",fontsize=12] ")" + << bdd_manager->getTopVarName(var) << "\" };"; + for (unsigned long node : output_nodes) { + if (bdd_manager->topVar(node) == var) { + out << "\"" << node << "\";"; + } + } + out << "}\n"; + } + out << "edge [style = invis]; {"; + for (const auto var : output_vars) { + out << "\"" << bdd_manager->getTopVarName(var) << "\" -> "; + } + out << "\"T\"; }\n"; + for (const auto node : output_nodes) { + if (!bdd_manager->isConstant(node)) { + out << "\"" << node << "\" -> \"" << bdd_manager->coFactorTrue(node) + << "\" [style=solid,arrowsize=\".75\"];\n"; + out << "\"" << node << "\" -> \"" << bdd_manager->coFactorFalse(node) + << "\" [style=dashed,arrowsize=\".75\"];\n"; + } + } + out << "}\n"; +} + + diff --git a/src/bench/CircuitToBDD.hpp b/src/bench/CircuitToBDD.hpp new file mode 100644 index 00000000..bb99acb2 --- /dev/null +++ b/src/bench/CircuitToBDD.hpp @@ -0,0 +1,129 @@ +// +// Written by Carolina P. Nogueira 2016 +// Refactored by Deutschmann 27.09.2021 +// + +#pragma once + +#include "BenchParser.hpp" +#include "../ManagerInterface.h" +#include +#include +#include + + +/** + * \class CircuitToBDD + * + * \brief Class to convert circuits nodes into BDD nodes + * + * Circuit nodes are generated by the class bench_circuit_manager. + * + * \authors {Carolina Nogueira, Lucas Deutschmann} + * + */ +class CircuitToBDD { + +public: + + explicit CircuitToBDD(shared_ptr BDD_manager_p); + ~CircuitToBDD(); + + /** + * \brief Generates a BDD from the circuit nodes provided + * \param Topologically sorted list containing the circuit nodes + * \return none + * + * Generates the calls to the BDD package in order to + * generate the BDD equivalent to the provided circuit. + */ + void GenerateBDD(const std::list &circuit, const std::string& benchmark_file); + + + /** + * \brief Print the generated BDD in text and dot format + * \param The set of output labels to print a BDD for + * \return none + */ + void PrintBDD(const std::set &output_labels); + +private: + + std::unordered_map node_to_bdd_id; ///< Mapping from circuit node's unique ID to its BDD ID + std::unordered_map label_to_bdd_id; ///< Mapping from node's label to its BDD ID + + shared_ptr bdd_manager{}; + std::string result_dir; ///< Directory where the results are stored + + std::set output_nodes; + std::set output_vars; + + + /** + * \brief Returns the BDD_ID of the given circuit ID + * \param circuit_node is unique_ID_t + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID findBddId(unique_ID_t circuit_node); + + /** + * \brief Generates the BDD node equivalent to a variable with label "label". + * \param label is label_t + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID InputGate(const label_t &label); + + /** + * \brief Generates the BDD node equivalent to the NOT gate. + * \param node is set_of_circuit_t containing the circuit ID of the gate to be inverted. + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID NotGate(const set_of_circuit_t &node); + + /** + * \brief Generates the BDD node equivalent to the AND gate. + * \param node is set_of_circuit_t containing the circuit IDs of the gates to be used as input. + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID AndGate(set_of_circuit_t inputNodes); + + /** + * \brief Generates the BDD node equivalent to the OR gate. + * \param node is set_of_circuit_t containing the circuit IDs of the gates to be used as input. + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID OrGate(set_of_circuit_t inputNodes); + + /** + * \brief Generates the BDD node equivalent to the NAND gate. + * \param node is set_of_circuit_t containing the circuit IDs of the gates to be used as input. + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID NandGate(set_of_circuit_t inputNodes); + + /** + * \brief Generates the BDD node equivalent to the NOR gate. + * \param node is set_of_circuit_t containing the circuit IDs of the gates to be used as input. + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID NorGate(set_of_circuit_t inputNodes); + + /** + * \brief Generates the BDD node equivalent to the XOR gate. + * \param node is set_of_circuit_t containing the circuit IDs of the gates to be used as input. + * \return ClassProject::BDD_ID + * + */ + ClassProject::BDD_ID XorGate(set_of_circuit_t inputNodes); + + void dumpBddText(std::ostream &out); + + void dumpBddDot(std::ostream &out); +}; diff --git a/src/bench/bench_grammar.hpp b/src/bench/bench_grammar.hpp new file mode 100644 index 00000000..4f8aed36 --- /dev/null +++ b/src/bench/bench_grammar.hpp @@ -0,0 +1,104 @@ +/*============================================================================= + Written by Carolina P. Nogueira (2016) +=============================================================================*/ +#pragma once + +#include +#include "skip_parser.hpp" + +namespace bench_format +{ + struct bench_node_type + { + std::string label; // Unique ID for a node + std::string gate_type; // Type of the gate (ex. AND, NOT, OR) + std::vector input_node_list; // list containing all the inputs of the respective gate + }; +} + +/* Let fusion know about the structure */ +BOOST_FUSION_ADAPT_STRUCT( + bench_format::bench_node_type, + (std::string, label) + (std::string, gate_type) + (std::vector, input_node_list) +) + +namespace bench_format +{ + /* + * + * bench_format parser + * + */ + namespace qi = boost::spirit::qi; + namespace ascii = boost::spirit::ascii; + namespace phx = boost::phoenix; + + typedef skip_p::skip_grammar const_skipper; + + template + struct bench_parser : qi::grammar + { + /* Node */ + bench_format::bench_node_type bench_node; + + bench_parser() : bench_parser::base_type(start,"bench_grammar") + { + using qi::_1; + using qi::_val; + using phx::at_c; + + using qi::lit; + using ascii::char_; + using qi::lexeme; + using qi::eol; + using qi::string; + using qi::hold; + + /* Node IDs */ + lhs_id %= lexeme[+(char_("a-zA-Z_0-9.") - '=') ] >> lit("="); + rhs_id %= lit("(") >> lexeme[+(char_("a-zA-Z_0-9.") - ','- ')') ] >> !lit(',') >> lit(")"); + + /* Input Operators */ + single_op %= lit("(") >> lexeme[+(char_("a-zA-Z_0-9.") - ','- ')' ) ] >> !lit(',') >> lit(")"); + multiple_op %= lit("(") >> +(lexeme[+(char_("a-zA-Z_0-9.") - ',') ] >> lit(",")) >> lexeme[+(char_("a-zA-Z_0-9.") - ')')] >> lit(")"); + + /* Gate Types */ + single_input_gate_t %= string("NOT") | string("BUFF") | string("DFF") ; + multiple_input_gate_t %= string("AND") | string("OR") | string("NAND")| string("NOR") | string("XOR"); + + /* Primary inputs and outputs */ + primary_input = string("INPUT") [bind(&bench_format::bench_node_type::gate_type, _val)=_1] >> rhs_id [bind(&bench_format::bench_node_type::label, _val)=_1] >> +eol; + primary_output = string("OUTPUT") [bind(&bench_format::bench_node_type::gate_type, _val)=_1] >> rhs_id [bind(&bench_format::bench_node_type::label, _val)=_1] >> +eol; + + /* Gate Rules */ + single_input_gate %= lhs_id >> single_input_gate_t [at_c<1>(_val) = _1] >> single_op >> +eol; + multiple_input_gate %= lhs_id >> multiple_input_gate_t [at_c<1>(_val) = _1] >> multiple_op >> +eol; + + /* Starting Rule */ + start %= hold[primary_input] | hold[primary_output] | hold[single_input_gate] | hold[multiple_input_gate]; + } + + /* Node IDs */ + qi::rule lhs_id; + qi::rule rhs_id ; + + /* Input Operators */ + qi::rule(), const_skipper> single_op; + qi::rule(), const_skipper> multiple_op; + + /* Gate Types */ + qi::rule single_input_gate_t; + qi::rule multiple_input_gate_t; + + /* Primary inputs and outputs */ + qi::rule primary_input; + qi::rule primary_output; + qi::rule single_input_gate; + qi::rule multiple_input_gate; + + /* Starting Rule */ + qi::rule start; + }; +} diff --git a/src/bench/main_bench.cpp b/src/bench/main_bench.cpp new file mode 100644 index 00000000..2305178a --- /dev/null +++ b/src/bench/main_bench.cpp @@ -0,0 +1,46 @@ +// +// Written by Carolina P. Nogueira 2016 +// Refactored by Deutschmann 28.09.2021 +// + +#include +#include + +#include "Manager.h" +#include "BenchParser.hpp" +#include "CircuitToBDD.hpp" +#include "BenchmarkLib.h" + +int main(int argc, char *argv[]) { + + if (2 > argc) { + std::cout << "Must specify a filename!" << std::endl; + return -1; + } + + std::string bench_file = argv[1]; + + /* Parse the circuit from file and generate topological sorted circuit */ + BenchParser parsed_circuit(bench_file); + + auto BDD_manager = make_shared(); + auto circuit2BDD = make_unique(BDD_manager); + + double user_time, vm1, rss1, vm2, rss2; + + std::cout << "- Generating BDD from circuit..."; + process_mem_usage(vm1, rss1); + user_time = userTime(); + circuit2BDD->GenerateBDD(parsed_circuit.GetSortedCircuit(), bench_file); + user_time = userTime() - user_time; + std::cout << " BDD generated successfully!" << std::endl << std::endl; + + circuit2BDD->PrintBDD(parsed_circuit.GetListOfOutputLabels()); + + std::cout << "**** Performance ****" << std::endl; + std::cout << " Runtime: " << user_time << std::endl; + process_mem_usage(vm2, rss2); + std::cout << " VM: " << vm2 - vm1 << "; RSS: " << rss2 - rss1 << endl << endl; + + return 0; +} diff --git a/src/bench/skip_parser.hpp b/src/bench/skip_parser.hpp new file mode 100644 index 00000000..3a4f9e61 --- /dev/null +++ b/src/bench/skip_parser.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Written by Carolina P. Nogueira (2016) +=============================================================================*/ +#pragma once +#include + +namespace qi = boost::spirit::qi; +namespace ascii = boost::spirit::ascii; + +namespace skip_p +{ + /* Skip parser definition */ + template + struct skip_grammar : qi::grammar + { + skip_grammar() : skip_grammar::base_type(skip_, "Skip Grammar") + { + using qi::eol; + using qi::lit; + using namespace ascii; + using qi::blank; + + /* Skip all spaces and comments */ + skip_ = line_comment_ | blank; + + /* comments (i.e. # everything else should be ignored) */ + line_comment_ = lit("#") >> *(char_ - eol) >> +eol; + + } + /* + * + * Declaring alle rules used in this parser + * The prototype is: + * qi::rule, skip_parser_type> rule_name; + * + */ + qi::rule skip_; + qi::rule line_comment_; + }; +} + diff --git a/src/verify/CMakeLists.txt b/src/verify/CMakeLists.txt new file mode 100644 index 00000000..6537723e --- /dev/null +++ b/src/verify/CMakeLists.txt @@ -0,0 +1,5 @@ +project(VDSProject_verify CXX C) +cmake_minimum_required(VERSION 3.10) + + +add_executable(VDSProject_verify main_verify.cpp) diff --git a/src/verify/main_verify.cpp b/src/verify/main_verify.cpp new file mode 100644 index 00000000..7af1138f --- /dev/null +++ b/src/verify/main_verify.cpp @@ -0,0 +1,130 @@ +/*============================================================================= + Written by Mohammad R Fadiheh (2017) +=============================================================================*/ + +#include +#include +#include +#include +#include + +struct node { + std::string var_name; + int low; + int high; +}; + +typedef std::map uniqueTable; + +bool isEquivalent(const uniqueTable &BDD1, const uniqueTable &BDD2, int root1, int root2) +{ + if(BDD1.find(root1) == BDD1.end() || BDD2.find(root2) == BDD2.end()) + return false; + if(root1 == 1 && root2 == 1) + return true; + if(root1 == 0 && root2 == 0) + return true; + if(root1 != root2 && ( (root1 == 0 || root1 == 1) || (root2 == 0 || root2 == 1) ) ) + return false; + if(BDD1.at(root1).var_name != BDD2.at(root2).var_name) + return false; + return isEquivalent(BDD1, BDD2, BDD1.at(root1).low, BDD2.at(root2).low) and isEquivalent(BDD1, BDD2, BDD1.at(root1).high, BDD2.at(root2).high); +} + +int main(int argc, char* argv[]) +{ + + /* Number of arguments validation */ + if (3 > argc) + { + std::cout << "Must specify a filename!" << std::endl; + return -1; + } + + uniqueTable BDD1, BDD2; + + std::string BDD1_file = argv[1]; + std::string BDD2_file = argv[2]; + + std::ifstream BDD1_if(BDD1_file.c_str()); + std::ifstream BDD2_if(BDD2_file.c_str()); + + if(!BDD1_if.is_open() || !BDD2_if.is_open()) + { + std::cout << "invalid file!" << std::endl; + return -1; + } + + std::stringstream ss; + + std::string temp; + std::string var_name; + int id, top_var; + + while(!BDD1_if.eof()) + { + node n; + temp.clear(); + std::getline(BDD1_if, temp,'\n'); + + if(temp.find("Terminal Node: 1") != std::string::npos) + { + n.var_name = ""; + n.low = 1; + n.high = 1; + BDD1.insert(std::pair(1,n)); + } + else if(temp.find("Terminal Node: 0") != std::string::npos) + { + n.var_name = ""; + n.low = 0; + n.high = 0; + BDD1.insert(std::pair(0,n)); + + } + else if(temp.find("Variable Node:") != std::string::npos) + { + ss.clear(); + ss.str(temp); + ss>>temp>>temp>>id>>temp>>temp>>temp>>top_var>>temp>>temp>>temp>>n.var_name>>temp>>n.low>>temp>>n.high; + BDD1.insert(std::pair(id,n)); + } + } + + while(!BDD2_if.eof()) + { + node n; + temp.clear(); + std::getline(BDD2_if, temp,'\n'); + + if(temp.find("Terminal Node: 1") != std::string::npos) + { + n.var_name = ""; + n.low = 1; + n.high = 1; + BDD2.insert(std::pair(1,n)); + } + else if(temp.find("Terminal Node: 0") != std::string::npos) + { + n.var_name = ""; + n.low = 0; + n.high = 0; + BDD2.insert(std::pair(0,n)); + + } + else if(temp.find("Variable Node:") != std::string::npos) + { + ss.clear(); + ss.str(temp); + ss>>temp>>temp>>id>>temp>>temp>>temp>>top_var>>temp>>temp>>temp>>n.var_name>>temp>>n.low>>temp>>n.high; + BDD2.insert(std::pair(id,n)); + } + } + + if( isEquivalent(BDD1, BDD2, BDD1.rbegin()->first, BDD2.rbegin()->first) ) + std::cout<<"Equivalent!"< Date: Sun, 26 Jan 2025 12:12:18 +0100 Subject: [PATCH 14/21] add reachability files for task3 --- src/reachability/CMakeLists.txt | 9 ++ src/reachability/Reachability.cpp | 1 + src/reachability/Reachability.h | 13 +++ src/reachability/ReachabilityInterface.h | 111 +++++++++++++++++++++++ src/reachability/Tests.h | 35 +++++++ src/reachability/main_test.cpp | 12 +++ 6 files changed, 181 insertions(+) create mode 100644 src/reachability/CMakeLists.txt create mode 100644 src/reachability/Reachability.cpp create mode 100644 src/reachability/Reachability.h create mode 100644 src/reachability/ReachabilityInterface.h create mode 100644 src/reachability/Tests.h create mode 100644 src/reachability/main_test.cpp diff --git a/src/reachability/CMakeLists.txt b/src/reachability/CMakeLists.txt new file mode 100644 index 00000000..1361f52b --- /dev/null +++ b/src/reachability/CMakeLists.txt @@ -0,0 +1,9 @@ +project(VDSProject_test CXX C) +cmake_minimum_required(VERSION 3.10) + + +add_executable(VDSProject_reachability main_test.cpp Reachability.cpp Reachability.h Tests.h ReachabilityInterface.h) +target_link_libraries(VDSProject_reachability Manager) +target_link_libraries(VDSProject_reachability gtest gtest_main pthread) + + diff --git a/src/reachability/Reachability.cpp b/src/reachability/Reachability.cpp new file mode 100644 index 00000000..950c96c3 --- /dev/null +++ b/src/reachability/Reachability.cpp @@ -0,0 +1 @@ +#include "Reachability.h" diff --git a/src/reachability/Reachability.h b/src/reachability/Reachability.h new file mode 100644 index 00000000..022ceeb6 --- /dev/null +++ b/src/reachability/Reachability.h @@ -0,0 +1,13 @@ +#ifndef VDSPROJECT_REACHABILITY_H +#define VDSPROJECT_REACHABILITY_H + +#include "ReachabilityInterface.h" + +namespace ClassProject { + +// class Reachability : public ReachabilityInterface { +// +// }; + +} +#endif diff --git a/src/reachability/ReachabilityInterface.h b/src/reachability/ReachabilityInterface.h new file mode 100644 index 00000000..0d5e6004 --- /dev/null +++ b/src/reachability/ReachabilityInterface.h @@ -0,0 +1,111 @@ +// +// Created by ludwig on 04.12.18 +// Refactored by deutschmann on 19.04.21 +// + +#ifndef VDSPROJECT_REACHABILITYINTERFACE_H +#define VDSPROJECT_REACHABILITYINTERFACE_H + +#include "../Manager.h" + +namespace ClassProject { + class ReachabilityInterface : public Manager { + public: + + ReachabilityInterface() = delete; + virtual ~ReachabilityInterface() = default; + + /** + * The constructor initializes a default state machine with the given number of variables. + * All state variables should be created within the constructor. + * The default transition function for each state bit is the identity function. + * For the default initial state, all bits are assumed to be set to false. + * Hence, after calling the constructor, the only reachable state should be the initial state. + * + * @param stateSize vector specifying the number of bits + * @param inputSize number of boolean input bits, defaults to zero + * @throws std::runtime_error if stateSize is zero + */ + explicit ReachabilityInterface(unsigned int stateSize, unsigned int inputSize) {}; + + /** + * Returns a vector containing all state bits of the state machine. + * + * @returns vector with the BDD_ID of each state bit + */ + virtual const std::vector &getStates() const = 0; + + /** + * Returns a vector containing all input bits of the state machine. + * + * @returns vector with the BDD_ID of each input bit + */ + virtual const std::vector &getInputs() const = 0; + + /** + * This function computes whether a specific state is in the reachable state space or not. + * The input state is provided as a vector of boolean values for each state bit. + * + * @param stateVector provides the assignment for each state bit + * @returns true, if the given state is in the reachable state set + * @throws std::runtime_error if size does not match with number of state bits + */ + virtual bool isReachable(const std::vector &stateVector) = 0; + + /** + * This function computes the distance from the initial state to a specified state. + * i.e., minimum cycles it takes the FSM to transition to the specified state + * Example: Initial state s0 = 0; s1 = 0 + * Transition functions: s0' = !s1; s1' = s0 + * FSM transitions: + * {False, False} + * {True, False} + * {True, True} + * {False, True} + * {False, False} + * ... + * stateDistance return values: + * {False, False} -> 0 + * {True, False} -> 1 + * {True, True} -> 2 + * {False, True} -> 3 + * {False, False} -> 0 + * @param stateVector provides the assignment for each state bit + * @return the shortest distance to the initial state, -1 if unreachable + * @throws std::runtime_error if size does not match with number of state bits + */ + virtual int stateDistance(const std::vector &stateVector) = 0; + + /** + * Each state variable has a transition function. + * The transition function specifies the value of the state after the transition. + * The transition functions can be composed of state variables and inputs if present. + * Example: s0' = s0 XOR s1 + * Example: s1' = (s1 AND s0) OR i0 + * The next state for s0 is defined as XOR of the current values of the state bit s0 and s1 + * The next state for s1 is defined as the AND of the current values of s1 and s0 ORed with input i0 + * An exception is thrown, if + * - The number of given transition functions does not match the number of state bits + * - An unknown ID is provided + * + * @param transitionFunctions provide a transition function exactly for each state bit + * @throws std::runtime_error + */ + virtual void setTransitionFunctions(const std::vector &transitionFunctions) = 0; + + /** + * Provides an initial state for the system as a vector of boolean values. + * If the entry is true, the state bit is high. Otherwise, the bit is low. + * E.g. initial state not(s0) and not(s1) is transformed into {false,false}. + * + * @param stateVector provides the assignment for each state bit + * @throws std::runtime_error if size does not match with number of state bits + */ + virtual void setInitState(const std::vector &stateVector) = 0; + + }; +} + + +#endif + diff --git a/src/reachability/Tests.h b/src/reachability/Tests.h new file mode 100644 index 00000000..195ebff1 --- /dev/null +++ b/src/reachability/Tests.h @@ -0,0 +1,35 @@ +#ifndef VDSPROJECT_REACHABILITY_TESTS_H +#define VDSPROJECT_REACHABILITY_TESTS_H + +#include +#include "Reachability.h" + +using namespace ClassProject; + +struct ReachabilityTest : testing::Test { + + std::unique_ptr fsm2 = std::make_unique(2); + + std::vector stateVars2 = fsm2->getStates(); + std::vector transitionFunctions; + +}; + +TEST_F(ReachabilityTest, HowTo_Example) { /* NOLINT */ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->neg(s0)); // s0' = not(s0) + transitionFunctions.push_back(fsm2->neg(s1)); // s1' = not(s1) + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false,false}); + + ASSERT_TRUE(fsm2->isReachable({false, false})); + ASSERT_FALSE(fsm2->isReachable({false, true})); + ASSERT_FALSE(fsm2->isReachable({true, false})); + ASSERT_TRUE(fsm2->isReachable({true, true})); +} + +#endif diff --git a/src/reachability/main_test.cpp b/src/reachability/main_test.cpp new file mode 100644 index 00000000..20be062f --- /dev/null +++ b/src/reachability/main_test.cpp @@ -0,0 +1,12 @@ +// +// Created by ludwig on 22.11.16. +// + +#include "Tests.h" + + +int main(int argc, char* argv[]) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} From c0e483db0f969031062247f0a7fb0d7898e727aa Mon Sep 17 00:00:00 2001 From: glleshaj Date: Mon, 27 Jan 2025 09:38:35 +0100 Subject: [PATCH 15/21] add reachability to cmake --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d5d49457..85169079 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,6 @@ add_subdirectory(test) add_subdirectory(bench) add_subdirectory(verify) +add_subdirectory(reachability) add_library(Manager Manager.cpp) From fa43484460f75e386867ed394d4c5d83bb074599 Mon Sep 17 00:00:00 2001 From: Andro Date: Mon, 27 Jan 2025 21:42:34 +0100 Subject: [PATCH 16/21] i cannot run tests because somehow it doesnt recognise manager class --- CMakeLists.txt | 3 + .../reply/cache-v2-a8db0d10de8128174cb2.json | 1923 ----------------- .../cmakeFiles-v1-5ad4b835231703248803.json | 340 --- .../codemodel-v2-a2bdf7e7b68da1145056.json | 327 --- ...ectory-.-Release-f5ebdc15457944623624.json | 14 - ...test-src-Release-859890539598701b63fa.json | 14 - ...oglemock-Release-3c7cac71ab5322ecd679.json | 116 - ...ogletest-Release-59c9f0906f6c6689084e.json | 169 -- ...tory-src-Release-b6cf2213fc5053b67c22.json | 14 - ...rc.bench-Release-53c2cc2ac27d3d9caa0d.json | 14 - ...src.test-Release-3607701395add829ebf1.json | 14 - ...c.verify-Release-60d00413fbfb0aa783c1.json | 14 - .../reply/index-2025-01-13T10-42-05-0998.json | 108 - ...enchmark-Release-65ef659ae92044132488.json | 169 -- ...-Manager-Release-448063735bcb10c740cb.json | 135 -- ...SProject-Release-2e86d2069fded6878e52.json | 224 -- ...ct_bench-Release-cf5e04211cfb2612efa8.json | 243 --- ...ect_test-Release-9d706a8c62bb7f5e84d7.json | 302 --- ...t_verify-Release-3886ee3ac5d727c4b6f0.json | 205 -- ...et-gmock-Release-fa3a1473fcee7451b15e.json | 165 -- ...ock_main-Release-89233eb6e82e62597195.json | 171 -- ...et-gtest-Release-f3f245d129ebc900b637.json | 141 -- ...est_main-Release-c1f47e481944117d2665.json | 157 -- .../toolchains-v1-3a03a1d1d0aeea10be44.json | 111 - cmake-build-release/CMakeCache.txt | 210 +- .../CMakeFiles/CMakeConfigureLog.yaml | 199 +- .../CMakeFiles/TargetDirectories.txt | 58 - .../CMakeFiles/clion-Release-log.txt | 44 +- .../CMakeFiles/clion-environment.txt | 4 +- cmake-build-release/CMakeFiles/rules.ninja | 235 -- .../Testing/Temporary/LastTest.log | 4 +- reachability/CMakeLists.txt | 9 + reachability/Reachability.cpp | 1 + reachability/Reachability.h | 173 ++ reachability/ReachabilityInterface.h | 114 + reachability/Tests.h | 35 + reachability/main_test.cpp | 12 + src/CMakeLists.txt | 1 + 38 files changed, 473 insertions(+), 5719 deletions(-) delete mode 100644 cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json delete mode 100644 cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json delete mode 100644 cmake-build-release/CMakeFiles/TargetDirectories.txt delete mode 100644 cmake-build-release/CMakeFiles/rules.ninja create mode 100644 reachability/CMakeLists.txt create mode 100644 reachability/Reachability.cpp create mode 100644 reachability/Reachability.h create mode 100644 reachability/ReachabilityInterface.h create mode 100644 reachability/Tests.h create mode 100644 reachability/main_test.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index b0de899e..34f8c198 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,9 @@ link_directories(${CMAKE_SOURCE_DIR}/src/bench/) include_directories(${CMAKE_SOURCE_DIR}/src/verify/) link_directories(${CMAKE_SOURCE_DIR}/src/verify/) +include_directories(${CMAKE_SOURCE_DIR}/reachability/) +link_directories(${CMAKE_SOURCE_DIR}/reachability/) + add_subdirectory(src) add_executable(VDSProject src/main.cpp) target_link_libraries(VDSProject Manager) diff --git a/cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json b/cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json deleted file mode 100644 index ac65d2c3..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/cache-v2-a8db0d10de8128174cb2.json +++ /dev/null @@ -1,1923 +0,0 @@ -{ - "entries" : - [ - { - "name" : "BUILD_GMOCK", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Builds the googlemock subproject" - } - ], - "type" : "BOOL", - "value" : "ON" - }, - { - "name" : "CMAKE_ADDR2LINE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/addr2line" - }, - { - "name" : "CMAKE_AR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/ar" - }, - { - "name" : "CMAKE_BUILD_TYPE", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." - } - ], - "type" : "STRING", - "value" : "Release" - }, - { - "name" : "CMAKE_CACHEFILE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "This is the directory where this CMakeCache.txt was created" - } - ], - "type" : "INTERNAL", - "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release" - }, - { - "name" : "CMAKE_CACHE_MAJOR_VERSION", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Major version of cmake used to create the current loaded cache" - } - ], - "type" : "INTERNAL", - "value" : "3" - }, - { - "name" : "CMAKE_CACHE_MINOR_VERSION", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Minor version of cmake used to create the current loaded cache" - } - ], - "type" : "INTERNAL", - "value" : "30" - }, - { - "name" : "CMAKE_CACHE_PATCH_VERSION", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Patch version of cmake used to create the current loaded cache" - } - ], - "type" : "INTERNAL", - "value" : "5" - }, - { - "name" : "CMAKE_COLOR_DIAGNOSTICS", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Enable colored diagnostics throughout." - } - ], - "type" : "BOOL", - "value" : "ON" - }, - { - "name" : "CMAKE_COMMAND", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Path to CMake executable." - } - ], - "type" : "INTERNAL", - "value" : "/snap/clion/310/bin/cmake/linux/x64/bin/cmake" - }, - { - "name" : "CMAKE_CPACK_COMMAND", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Path to cpack program executable." - } - ], - "type" : "INTERNAL", - "value" : "/snap/clion/310/bin/cmake/linux/x64/bin/cpack" - }, - { - "name" : "CMAKE_CTEST_COMMAND", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Path to ctest program executable." - } - ], - "type" : "INTERNAL", - "value" : "/snap/clion/310/bin/cmake/linux/x64/bin/ctest" - }, - { - "name" : "CMAKE_CXX_COMPILER", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "CXX compiler" - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/c++" - }, - { - "name" : "CMAKE_CXX_COMPILER_AR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ar-13" - }, - { - "name" : "CMAKE_CXX_COMPILER_RANLIB", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ranlib-13" - }, - { - "name" : "CMAKE_CXX_FLAGS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the CXX compiler during all build types." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_CXX_FLAGS_DEBUG", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the CXX compiler during DEBUG builds." - } - ], - "type" : "STRING", - "value" : "-g" - }, - { - "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the CXX compiler during MINSIZEREL builds." - } - ], - "type" : "STRING", - "value" : "-Os -DNDEBUG" - }, - { - "name" : "CMAKE_CXX_FLAGS_RELEASE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the CXX compiler during RELEASE builds." - } - ], - "type" : "STRING", - "value" : "-O3 -DNDEBUG" - }, - { - "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." - } - ], - "type" : "STRING", - "value" : "-O2 -g -DNDEBUG" - }, - { - "name" : "CMAKE_C_COMPILER", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "C compiler" - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/cc" - }, - { - "name" : "CMAKE_C_COMPILER_AR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ar-13" - }, - { - "name" : "CMAKE_C_COMPILER_RANLIB", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/gcc-ranlib-13" - }, - { - "name" : "CMAKE_C_FLAGS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the C compiler during all build types." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_C_FLAGS_DEBUG", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the C compiler during DEBUG builds." - } - ], - "type" : "STRING", - "value" : "-g" - }, - { - "name" : "CMAKE_C_FLAGS_MINSIZEREL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the C compiler during MINSIZEREL builds." - } - ], - "type" : "STRING", - "value" : "-Os -DNDEBUG" - }, - { - "name" : "CMAKE_C_FLAGS_RELEASE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the C compiler during RELEASE builds." - } - ], - "type" : "STRING", - "value" : "-O3 -DNDEBUG" - }, - { - "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." - } - ], - "type" : "STRING", - "value" : "-O2 -g -DNDEBUG" - }, - { - "name" : "CMAKE_DLLTOOL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "CMAKE_DLLTOOL-NOTFOUND" - }, - { - "name" : "CMAKE_EXECUTABLE_FORMAT", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Executable file format" - } - ], - "type" : "INTERNAL", - "value" : "ELF" - }, - { - "name" : "CMAKE_EXE_LINKER_FLAGS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during all build types." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during DEBUG builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during MINSIZEREL builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during RELEASE builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during RELWITHDEBINFO builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Enable/Disable output of compile commands during generation." - } - ], - "type" : "BOOL", - "value" : "" - }, - { - "name" : "CMAKE_EXTRA_GENERATOR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Name of external makefile project generator." - } - ], - "type" : "INTERNAL", - "value" : "" - }, - { - "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake." - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/pkgRedirects" - }, - { - "name" : "CMAKE_GENERATOR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Name of generator." - } - ], - "type" : "INTERNAL", - "value" : "Ninja" - }, - { - "name" : "CMAKE_GENERATOR_INSTANCE", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Generator instance identifier." - } - ], - "type" : "INTERNAL", - "value" : "" - }, - { - "name" : "CMAKE_GENERATOR_PLATFORM", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Name of generator platform." - } - ], - "type" : "INTERNAL", - "value" : "" - }, - { - "name" : "CMAKE_GENERATOR_TOOLSET", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Name of generator toolset." - } - ], - "type" : "INTERNAL", - "value" : "" - }, - { - "name" : "CMAKE_HAVE_LIBC_PTHREAD", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" - } - ], - "type" : "INTERNAL", - "value" : "1" - }, - { - "name" : "CMAKE_HOME_DIRECTORY", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Source directory with the top level CMakeLists.txt file for this project" - } - ], - "type" : "INTERNAL", - "value" : "/home/andro/RPTU/vds2/VDSProject" - }, - { - "name" : "CMAKE_INSTALL_BINDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "User executables (bin)" - } - ], - "type" : "PATH", - "value" : "bin" - }, - { - "name" : "CMAKE_INSTALL_DATADIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Read-only architecture-independent data (DATAROOTDIR)" - } - ], - "type" : "PATH", - "value" : "" - }, - { - "name" : "CMAKE_INSTALL_DATAROOTDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Read-only architecture-independent data root (share)" - } - ], - "type" : "PATH", - "value" : "share" - }, - { - "name" : "CMAKE_INSTALL_DOCDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Documentation root (DATAROOTDIR/doc/PROJECT_NAME)" - } - ], - "type" : "PATH", - "value" : "" - }, - { - "name" : "CMAKE_INSTALL_INCLUDEDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "C header files (include)" - } - ], - "type" : "PATH", - "value" : "include" - }, - { - "name" : "CMAKE_INSTALL_INFODIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Info documentation (DATAROOTDIR/info)" - } - ], - "type" : "PATH", - "value" : "" - }, - { - "name" : "CMAKE_INSTALL_LIBDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Object code libraries (lib)" - } - ], - "type" : "PATH", - "value" : "lib" - }, - { - "name" : "CMAKE_INSTALL_LIBEXECDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Program executables (libexec)" - } - ], - "type" : "PATH", - "value" : "libexec" - }, - { - "name" : "CMAKE_INSTALL_LOCALEDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Locale-dependent data (DATAROOTDIR/locale)" - } - ], - "type" : "PATH", - "value" : "" - }, - { - "name" : "CMAKE_INSTALL_LOCALSTATEDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Modifiable single-machine data (var)" - } - ], - "type" : "PATH", - "value" : "var" - }, - { - "name" : "CMAKE_INSTALL_MANDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Man documentation (DATAROOTDIR/man)" - } - ], - "type" : "PATH", - "value" : "" - }, - { - "name" : "CMAKE_INSTALL_OLDINCLUDEDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "C header files for non-gcc (/usr/include)" - } - ], - "type" : "PATH", - "value" : "/usr/include" - }, - { - "name" : "CMAKE_INSTALL_PREFIX", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Install path prefix, prepended onto install directories." - } - ], - "type" : "PATH", - "value" : "/usr/local" - }, - { - "name" : "CMAKE_INSTALL_RUNSTATEDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Run-time variable data (LOCALSTATEDIR/run)" - } - ], - "type" : "PATH", - "value" : "" - }, - { - "name" : "CMAKE_INSTALL_SBINDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "System admin executables (sbin)" - } - ], - "type" : "PATH", - "value" : "sbin" - }, - { - "name" : "CMAKE_INSTALL_SHAREDSTATEDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Modifiable architecture-independent data (com)" - } - ], - "type" : "PATH", - "value" : "com" - }, - { - "name" : "CMAKE_INSTALL_SO_NO_EXE", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Install .so files without execute permission." - } - ], - "type" : "INTERNAL", - "value" : "1" - }, - { - "name" : "CMAKE_INSTALL_SYSCONFDIR", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Read-only single-machine data (etc)" - } - ], - "type" : "PATH", - "value" : "etc" - }, - { - "name" : "CMAKE_LINKER", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/ld" - }, - { - "name" : "CMAKE_MAKE_PROGRAM", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "No help, variable specified on the command line." - } - ], - "type" : "UNINITIALIZED", - "value" : "/snap/clion/310/bin/ninja/linux/x64/ninja" - }, - { - "name" : "CMAKE_MODULE_LINKER_FLAGS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of modules during all build types." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of modules during DEBUG builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of modules during RELEASE builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_NM", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/nm" - }, - { - "name" : "CMAKE_NUMBER_OF_MAKEFILES", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "number of local generators" - } - ], - "type" : "INTERNAL", - "value" : "8" - }, - { - "name" : "CMAKE_OBJCOPY", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/objcopy" - }, - { - "name" : "CMAKE_OBJDUMP", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/objdump" - }, - { - "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Platform information initialized" - } - ], - "type" : "INTERNAL", - "value" : "1" - }, - { - "name" : "CMAKE_PROJECT_DESCRIPTION", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "" - }, - { - "name" : "CMAKE_PROJECT_HOMEPAGE_URL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "" - }, - { - "name" : "CMAKE_PROJECT_NAME", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "VDSProject" - }, - { - "name" : "CMAKE_PROJECT_VERSION", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "1.15.2" - }, - { - "name" : "CMAKE_PROJECT_VERSION_MAJOR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "1" - }, - { - "name" : "CMAKE_PROJECT_VERSION_MINOR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "15" - }, - { - "name" : "CMAKE_PROJECT_VERSION_PATCH", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "2" - }, - { - "name" : "CMAKE_PROJECT_VERSION_TWEAK", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "" - }, - { - "name" : "CMAKE_RANLIB", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/ranlib" - }, - { - "name" : "CMAKE_READELF", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/readelf" - }, - { - "name" : "CMAKE_ROOT", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Path to CMake installation." - } - ], - "type" : "INTERNAL", - "value" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30" - }, - { - "name" : "CMAKE_SHARED_LINKER_FLAGS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of shared libraries during all build types." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_SKIP_INSTALL_RPATH", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." - } - ], - "type" : "BOOL", - "value" : "NO" - }, - { - "name" : "CMAKE_SKIP_RPATH", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "If set, runtime paths are not added when using shared libraries." - } - ], - "type" : "BOOL", - "value" : "NO" - }, - { - "name" : "CMAKE_STATIC_LINKER_FLAGS", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of static libraries during all build types." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." - } - ], - "type" : "STRING", - "value" : "" - }, - { - "name" : "CMAKE_STRIP", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "/usr/bin/strip" - }, - { - "name" : "CMAKE_TAPI", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Path to a program." - } - ], - "type" : "FILEPATH", - "value" : "CMAKE_TAPI-NOTFOUND" - }, - { - "name" : "CMAKE_UNAME", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "uname command" - } - ], - "type" : "INTERNAL", - "value" : "/usr/bin/uname" - }, - { - "name" : "CMAKE_VERBOSE_MAKEFILE", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." - } - ], - "type" : "BOOL", - "value" : "FALSE" - }, - { - "name" : "FIND_PACKAGE_MESSAGE_DETAILS_GTest", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Details about finding GTest" - } - ], - "type" : "INTERNAL", - "value" : "[/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake][c ][v1.14.0()]" - }, - { - "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Details about finding Threads" - } - ], - "type" : "INTERNAL", - "value" : "[TRUE][v()]" - }, - { - "name" : "GTEST_HAS_ABSL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Use Abseil and RE2. Requires Abseil and RE2 to be separately added to the build." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "GTest_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "The directory containing a CMake configuration file for GTest." - } - ], - "type" : "PATH", - "value" : "/usr/lib/x86_64-linux-gnu/cmake/GTest" - }, - { - "name" : "INSTALL_GTEST", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" - } - ], - "type" : "BOOL", - "value" : "ON" - }, - { - "name" : "VDSProject_BINARY_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release" - }, - { - "name" : "VDSProject_IS_TOP_LEVEL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "ON" - }, - { - "name" : "VDSProject_SOURCE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject" - }, - { - "name" : "VDSProject_test_BINARY_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test" - }, - { - "name" : "VDSProject_test_IS_TOP_LEVEL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "OFF" - }, - { - "name" : "VDSProject_test_SOURCE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "name" : "VDSProject_verify_BINARY_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify" - }, - { - "name" : "VDSProject_verify_IS_TOP_LEVEL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "OFF" - }, - { - "name" : "VDSProject_verify_SOURCE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - }, - { - "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "linker supports push/pop state" - } - ], - "type" : "INTERNAL", - "value" : "TRUE" - }, - { - "name" : "_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "CMAKE_INSTALL_PREFIX during last run" - } - ], - "type" : "INTERNAL", - "value" : "/usr/local" - }, - { - "name" : "cmake_package_name", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "" - } - ], - "type" : "INTERNAL", - "value" : "GTest" - }, - { - "name" : "generated_dir", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "" - } - ], - "type" : "INTERNAL", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/generated" - }, - { - "name" : "gmock_BINARY_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock" - }, - { - "name" : "gmock_IS_TOP_LEVEL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "OFF" - }, - { - "name" : "gmock_SOURCE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock" - }, - { - "name" : "gmock_build_tests", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Build all of Google Mock's own tests." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "googletest-distribution_BINARY_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build" - }, - { - "name" : "googletest-distribution_IS_TOP_LEVEL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "OFF" - }, - { - "name" : "googletest-distribution_SOURCE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src" - }, - { - "name" : "gtest_BINARY_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest" - }, - { - "name" : "gtest_IS_TOP_LEVEL", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "OFF" - }, - { - "name" : "gtest_SOURCE_DIR", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "Value Computed by CMake" - } - ], - "type" : "STATIC", - "value" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" - }, - { - "name" : "gtest_build_samples", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Build gtest's sample programs." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "gtest_build_tests", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Build all of gtest's own tests." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "gtest_disable_pthreads", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Disable uses of pthreads in gtest." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "gtest_force_shared_crt", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Use shared (DLL) run-time lib even when Google Test is built as static lib." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "gtest_hide_internal_symbols", - "properties" : - [ - { - "name" : "ADVANCED", - "value" : "1" - }, - { - "name" : "HELPSTRING", - "value" : "Build gtest with internal symbols hidden in shared libraries." - } - ], - "type" : "BOOL", - "value" : "OFF" - }, - { - "name" : "targets_export_name", - "properties" : - [ - { - "name" : "HELPSTRING", - "value" : "" - } - ], - "type" : "INTERNAL", - "value" : "GTestTargets" - } - ], - "kind" : "cache", - "version" : - { - "major" : 2, - "minor" : 0 - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json b/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json deleted file mode 100644 index cf3ca393..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-5ad4b835231703248803.json +++ /dev/null @@ -1,340 +0,0 @@ -{ - "inputs" : - [ - { - "path" : "CMakeLists.txt" - }, - { - "isGenerated" : true, - "path" : "cmake-build-release/CMakeFiles/3.30.5/CMakeSystem.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInitialize.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-Initialize.cmake" - }, - { - "isGenerated" : true, - "path" : "cmake-build-release/CMakeFiles/3.30.5/CMakeCXXCompiler.cmake" - }, - { - "isGenerated" : true, - "path" : "cmake-build-release/CMakeFiles/3.30.5/CMakeCCompiler.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeSystemSpecificInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeGenericSystem.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeInitializeConfigs.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/UnixPaths.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-CXX.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-CXX.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeLanguageInformation.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU-C.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Compiler/GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU-C.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Platform/Linux-GNU.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCommonLanguageInclude.cmake" - }, - { - "path" : "CMakeLists.txt.in" - }, - { - "path" : "gtest/googletest-src/CMakeLists.txt" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDependentOption.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GNUInstallDirs.cmake" - }, - { - "path" : "gtest/googletest-src/googlemock/CMakeLists.txt" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" - }, - { - "path" : "gtest/googletest-src/googlemock/cmake/gmock.pc.in" - }, - { - "path" : "gtest/googletest-src/googlemock/cmake/gmock_main.pc.in" - }, - { - "path" : "gtest/googletest-src/googletest/CMakeLists.txt" - }, - { - "path" : "gtest/googletest-src/googletest/cmake/internal_utils.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakePackageConfigHelpers.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/WriteBasicConfigVersionFile.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in" - }, - { - "path" : "gtest/googletest-src/googletest/cmake/Config.cmake.in" - }, - { - "path" : "gtest/googletest-src/googletest/cmake/gtest.pc.in" - }, - { - "path" : "gtest/googletest-src/googletest/cmake/gtest_main.pc.in" - }, - { - "path" : "src/CMakeLists.txt" - }, - { - "path" : "src/test/CMakeLists.txt" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindGTest.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/GoogleTest.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" - }, - { - "isExternal" : true, - "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfigVersion.cmake" - }, - { - "isExternal" : true, - "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeFindDependencyMacro.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckLibraryExists.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckIncludeFile.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake" - }, - { - "isCMake" : true, - "isExternal" : true, - "path" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindPackageMessage.cmake" - }, - { - "isExternal" : true, - "path" : "/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestTargets.cmake" - }, - { - "path" : "src/bench/CMakeLists.txt" - }, - { - "path" : "src/verify/CMakeLists.txt" - } - ], - "kind" : "cmakeFiles", - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release", - "source" : "/home/andro/RPTU/vds2/VDSProject" - }, - "version" : - { - "major" : 1, - "minor" : 1 - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json b/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json deleted file mode 100644 index 594f763c..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-a2bdf7e7b68da1145056.json +++ /dev/null @@ -1,327 +0,0 @@ -{ - "configurations" : - [ - { - "directories" : - [ - { - "build" : ".", - "childIndexes" : - [ - 1, - 4 - ], - "hasInstallRule" : true, - "jsonFile" : "directory-.-Release-f5ebdc15457944623624.json", - "minimumCMakeVersion" : - { - "string" : "3.10" - }, - "projectIndex" : 0, - "source" : ".", - "targetIndexes" : - [ - 2 - ] - }, - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build", - "childIndexes" : - [ - 2 - ], - "hasInstallRule" : true, - "jsonFile" : "directory-gtest.googletest-src-Release-859890539598701b63fa.json", - "minimumCMakeVersion" : - { - "string" : "3.13" - }, - "parentIndex" : 0, - "projectIndex" : 1, - "source" : "gtest/googletest-src" - }, - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", - "childIndexes" : - [ - 3 - ], - "hasInstallRule" : true, - "jsonFile" : "directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json", - "minimumCMakeVersion" : - { - "string" : "3.13" - }, - "parentIndex" : 1, - "projectIndex" : 2, - "source" : "gtest/googletest-src/googlemock", - "targetIndexes" : - [ - 6, - 7 - ] - }, - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", - "hasInstallRule" : true, - "jsonFile" : "directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json", - "minimumCMakeVersion" : - { - "string" : "3.13" - }, - "parentIndex" : 2, - "projectIndex" : 3, - "source" : "gtest/googletest-src/googletest", - "targetIndexes" : - [ - 8, - 9 - ] - }, - { - "build" : "src", - "childIndexes" : - [ - 5, - 6, - 7 - ], - "jsonFile" : "directory-src-Release-b6cf2213fc5053b67c22.json", - "minimumCMakeVersion" : - { - "string" : "3.10" - }, - "parentIndex" : 0, - "projectIndex" : 0, - "source" : "src", - "targetIndexes" : - [ - 1 - ] - }, - { - "build" : "src/test", - "jsonFile" : "directory-src.test-Release-3607701395add829ebf1.json", - "minimumCMakeVersion" : - { - "string" : "3.10" - }, - "parentIndex" : 4, - "projectIndex" : 4, - "source" : "src/test", - "targetIndexes" : - [ - 4 - ] - }, - { - "build" : "src/bench", - "jsonFile" : "directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json", - "minimumCMakeVersion" : - { - "string" : "3.10" - }, - "parentIndex" : 4, - "projectIndex" : 0, - "source" : "src/bench", - "targetIndexes" : - [ - 0, - 3 - ] - }, - { - "build" : "src/verify", - "jsonFile" : "directory-src.verify-Release-60d00413fbfb0aa783c1.json", - "minimumCMakeVersion" : - { - "string" : "3.10" - }, - "parentIndex" : 4, - "projectIndex" : 5, - "source" : "src/verify", - "targetIndexes" : - [ - 5 - ] - } - ], - "name" : "Release", - "projects" : - [ - { - "childIndexes" : - [ - 1, - 4, - 5 - ], - "directoryIndexes" : - [ - 0, - 4, - 6 - ], - "name" : "VDSProject", - "targetIndexes" : - [ - 0, - 1, - 2, - 3 - ] - }, - { - "childIndexes" : - [ - 2 - ], - "directoryIndexes" : - [ - 1 - ], - "name" : "googletest-distribution", - "parentIndex" : 0 - }, - { - "childIndexes" : - [ - 3 - ], - "directoryIndexes" : - [ - 2 - ], - "name" : "gmock", - "parentIndex" : 1, - "targetIndexes" : - [ - 6, - 7 - ] - }, - { - "directoryIndexes" : - [ - 3 - ], - "name" : "gtest", - "parentIndex" : 2, - "targetIndexes" : - [ - 8, - 9 - ] - }, - { - "directoryIndexes" : - [ - 5 - ], - "name" : "VDSProject_test", - "parentIndex" : 0, - "targetIndexes" : - [ - 4 - ] - }, - { - "directoryIndexes" : - [ - 7 - ], - "name" : "VDSProject_verify", - "parentIndex" : 0, - "targetIndexes" : - [ - 5 - ] - } - ], - "targets" : - [ - { - "directoryIndex" : 6, - "id" : "Benchmark::@cb52dcfef60bfef78aad", - "jsonFile" : "target-Benchmark-Release-65ef659ae92044132488.json", - "name" : "Benchmark", - "projectIndex" : 0 - }, - { - "directoryIndex" : 4, - "id" : "Manager::@145eef247bfb46b6828c", - "jsonFile" : "target-Manager-Release-448063735bcb10c740cb.json", - "name" : "Manager", - "projectIndex" : 0 - }, - { - "directoryIndex" : 0, - "id" : "VDSProject::@6890427a1f51a3e7e1df", - "jsonFile" : "target-VDSProject-Release-2e86d2069fded6878e52.json", - "name" : "VDSProject", - "projectIndex" : 0 - }, - { - "directoryIndex" : 6, - "id" : "VDSProject_bench::@cb52dcfef60bfef78aad", - "jsonFile" : "target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json", - "name" : "VDSProject_bench", - "projectIndex" : 0 - }, - { - "directoryIndex" : 5, - "id" : "VDSProject_test::@b7fcbc08bf8df37e9c1b", - "jsonFile" : "target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json", - "name" : "VDSProject_test", - "projectIndex" : 4 - }, - { - "directoryIndex" : 7, - "id" : "VDSProject_verify::@361c0a045f7e5449d7bd", - "jsonFile" : "target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json", - "name" : "VDSProject_verify", - "projectIndex" : 5 - }, - { - "directoryIndex" : 2, - "id" : "gmock::@91ae8a0eed36f324ee4e", - "jsonFile" : "target-gmock-Release-fa3a1473fcee7451b15e.json", - "name" : "gmock", - "projectIndex" : 2 - }, - { - "directoryIndex" : 2, - "id" : "gmock_main::@91ae8a0eed36f324ee4e", - "jsonFile" : "target-gmock_main-Release-89233eb6e82e62597195.json", - "name" : "gmock_main", - "projectIndex" : 2 - }, - { - "directoryIndex" : 3, - "id" : "gtest::@e859b05e259a1cc74f68", - "jsonFile" : "target-gtest-Release-f3f245d129ebc900b637.json", - "name" : "gtest", - "projectIndex" : 3 - }, - { - "directoryIndex" : 3, - "id" : "gtest_main::@e859b05e259a1cc74f68", - "jsonFile" : "target-gtest_main-Release-c1f47e481944117d2665.json", - "name" : "gtest_main", - "projectIndex" : 3 - } - ] - } - ], - "kind" : "codemodel", - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/cmake-build-release", - "source" : "/home/andro/RPTU/vds2/VDSProject" - }, - "version" : - { - "major" : 2, - "minor" : 7 - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json b/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json deleted file mode 100644 index 3a67af9c..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : [], - "files" : [], - "nodes" : [] - }, - "installers" : [], - "paths" : - { - "build" : ".", - "source" : "." - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json deleted file mode 100644 index da0aa3a0..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src-Release-859890539598701b63fa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : [], - "files" : [], - "nodes" : [] - }, - "installers" : [], - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build", - "source" : "gtest/googletest-src" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json deleted file mode 100644 index 01a0d9b9..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googlemock-Release-3c7cac71ab5322ecd679.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : - [ - "install", - "install_project" - ], - "files" : - [ - "gtest/googletest-src/googletest/cmake/internal_utils.cmake", - "gtest/googletest-src/googlemock/CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 1 - }, - { - "command" : 1, - "file" : 1, - "line" : 116, - "parent" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 301, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 305, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 329, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 329, - "parent" : 1 - } - ] - }, - "installers" : - [ - { - "backtrace" : 2, - "component" : "gmock", - "destination" : "include", - "paths" : - [ - { - "from" : "gtest/googletest-src/googlemock/include", - "to" : "." - } - ], - "type" : "directory" - }, - { - "backtrace" : 3, - "component" : "gmock", - "destination" : "lib", - "paths" : - [ - "lib/libgmock.a" - ], - "targetId" : "gmock::@91ae8a0eed36f324ee4e", - "targetIndex" : 6, - "type" : "target" - }, - { - "backtrace" : 3, - "component" : "gmock", - "destination" : "lib", - "paths" : - [ - "lib/libgmock_main.a" - ], - "targetId" : "gmock_main::@91ae8a0eed36f324ee4e", - "targetIndex" : 7, - "type" : "target" - }, - { - "backtrace" : 4, - "component" : "gmock", - "destination" : "lib/pkgconfig", - "paths" : - [ - "gtest/googletest-build/googletest/generated/gmock.pc" - ], - "type" : "file" - }, - { - "backtrace" : 5, - "component" : "gmock", - "destination" : "lib/pkgconfig", - "paths" : - [ - "gtest/googletest-build/googletest/generated/gmock_main.pc" - ], - "type" : "file" - } - ], - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", - "source" : "gtest/googletest-src/googlemock" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json b/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json deleted file mode 100644 index 2a518bce..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-gtest.googletest-src.googletest-Release-59c9f0906f6c6689084e.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : - [ - "install", - "install_project" - ], - "files" : - [ - "gtest/googletest-src/googletest/CMakeLists.txt", - "gtest/googletest-src/googletest/cmake/internal_utils.cmake" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 97, - "parent" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 104, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 158, - "parent" : 0 - }, - { - "command" : 0, - "file" : 1, - "line" : 301, - "parent" : 3 - }, - { - "command" : 0, - "file" : 1, - "line" : 305, - "parent" : 3 - }, - { - "command" : 0, - "file" : 1, - "line" : 329, - "parent" : 3 - }, - { - "command" : 0, - "file" : 1, - "line" : 329, - "parent" : 3 - } - ] - }, - "installers" : - [ - { - "backtrace" : 1, - "component" : "gtest", - "destination" : "lib/cmake/GTest", - "exportName" : "GTestTargets", - "exportTargets" : - [ - { - "id" : "gtest::@e859b05e259a1cc74f68", - "index" : 8 - }, - { - "id" : "gtest_main::@e859b05e259a1cc74f68", - "index" : 9 - }, - { - "id" : "gmock::@91ae8a0eed36f324ee4e", - "index" : 6 - }, - { - "id" : "gmock_main::@91ae8a0eed36f324ee4e", - "index" : 7 - } - ], - "paths" : - [ - "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/Export/0c08b8e77dd885bfe55a19a9659d9fc1/GTestTargets.cmake" - ], - "type" : "export" - }, - { - "backtrace" : 2, - "component" : "gtest", - "destination" : "lib/cmake/GTest", - "paths" : - [ - "gtest/googletest-build/googletest/generated/GTestConfigVersion.cmake", - "gtest/googletest-build/googletest/generated/GTestConfig.cmake" - ], - "type" : "file" - }, - { - "backtrace" : 4, - "component" : "gtest", - "destination" : "include", - "paths" : - [ - { - "from" : "gtest/googletest-src/googletest/include", - "to" : "." - } - ], - "type" : "directory" - }, - { - "backtrace" : 5, - "component" : "gtest", - "destination" : "lib", - "paths" : - [ - "lib/libgtest.a" - ], - "targetId" : "gtest::@e859b05e259a1cc74f68", - "targetIndex" : 8, - "type" : "target" - }, - { - "backtrace" : 5, - "component" : "gtest", - "destination" : "lib", - "paths" : - [ - "lib/libgtest_main.a" - ], - "targetId" : "gtest_main::@e859b05e259a1cc74f68", - "targetIndex" : 9, - "type" : "target" - }, - { - "backtrace" : 6, - "component" : "gtest", - "destination" : "lib/pkgconfig", - "paths" : - [ - "gtest/googletest-build/googletest/generated/gtest.pc" - ], - "type" : "file" - }, - { - "backtrace" : 7, - "component" : "gtest", - "destination" : "lib/pkgconfig", - "paths" : - [ - "gtest/googletest-build/googletest/generated/gtest_main.pc" - ], - "type" : "file" - } - ], - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", - "source" : "gtest/googletest-src/googletest" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json b/cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json deleted file mode 100644 index 5682a7f7..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-src-Release-b6cf2213fc5053b67c22.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : [], - "files" : [], - "nodes" : [] - }, - "installers" : [], - "paths" : - { - "build" : "src", - "source" : "src" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json b/cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json deleted file mode 100644 index 0e457a38..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-src.bench-Release-53c2cc2ac27d3d9caa0d.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : [], - "files" : [], - "nodes" : [] - }, - "installers" : [], - "paths" : - { - "build" : "src/bench", - "source" : "src/bench" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json b/cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json deleted file mode 100644 index ac362b87..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-src.test-Release-3607701395add829ebf1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : [], - "files" : [], - "nodes" : [] - }, - "installers" : [], - "paths" : - { - "build" : "src/test", - "source" : "src/test" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json b/cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json deleted file mode 100644 index 53c863c9..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/directory-src.verify-Release-60d00413fbfb0aa783c1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "backtraceGraph" : - { - "commands" : [], - "files" : [], - "nodes" : [] - }, - "installers" : [], - "paths" : - { - "build" : "src/verify", - "source" : "src/verify" - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json b/cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json deleted file mode 100644 index 0e75362f..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/index-2025-01-13T10-42-05-0998.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "cmake" : - { - "generator" : - { - "multiConfig" : false, - "name" : "Ninja" - }, - "paths" : - { - "cmake" : "/snap/clion/310/bin/cmake/linux/x64/bin/cmake", - "cpack" : "/snap/clion/310/bin/cmake/linux/x64/bin/cpack", - "ctest" : "/snap/clion/310/bin/cmake/linux/x64/bin/ctest", - "root" : "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30" - }, - "version" : - { - "isDirty" : false, - "major" : 3, - "minor" : 30, - "patch" : 5, - "string" : "3.30.5", - "suffix" : "" - } - }, - "objects" : - [ - { - "jsonFile" : "codemodel-v2-a2bdf7e7b68da1145056.json", - "kind" : "codemodel", - "version" : - { - "major" : 2, - "minor" : 7 - } - }, - { - "jsonFile" : "cache-v2-a8db0d10de8128174cb2.json", - "kind" : "cache", - "version" : - { - "major" : 2, - "minor" : 0 - } - }, - { - "jsonFile" : "cmakeFiles-v1-5ad4b835231703248803.json", - "kind" : "cmakeFiles", - "version" : - { - "major" : 1, - "minor" : 1 - } - }, - { - "jsonFile" : "toolchains-v1-3a03a1d1d0aeea10be44.json", - "kind" : "toolchains", - "version" : - { - "major" : 1, - "minor" : 0 - } - } - ], - "reply" : - { - "cache-v2" : - { - "jsonFile" : "cache-v2-a8db0d10de8128174cb2.json", - "kind" : "cache", - "version" : - { - "major" : 2, - "minor" : 0 - } - }, - "cmakeFiles-v1" : - { - "jsonFile" : "cmakeFiles-v1-5ad4b835231703248803.json", - "kind" : "cmakeFiles", - "version" : - { - "major" : 1, - "minor" : 1 - } - }, - "codemodel-v2" : - { - "jsonFile" : "codemodel-v2-a2bdf7e7b68da1145056.json", - "kind" : "codemodel", - "version" : - { - "major" : 2, - "minor" : 7 - } - }, - "toolchains-v1" : - { - "jsonFile" : "toolchains-v1-3a03a1d1d0aeea10be44.json", - "kind" : "toolchains", - "version" : - { - "major" : 1, - "minor" : 0 - } - } - } -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json b/cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json deleted file mode 100644 index 267a7f20..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-Benchmark-Release-65ef659ae92044132488.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "archive" : {}, - "artifacts" : - [ - { - "path" : "src/bench/libBenchmark.a" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_library", - "include_directories" - ], - "files" : - [ - "src/bench/CMakeLists.txt", - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 1, - "parent" : 0 - }, - { - "file" : 1 - }, - { - "command" : 1, - "file" : 1, - "line" : 35, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 38, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 41, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 44, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 47, - "parent" : 2 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - } - ], - "includes" : - [ - { - "backtrace" : 3, - "path" : "/home/andro/RPTU/vds2/VDSProject/lib" - }, - { - "backtrace" : 4, - "path" : "/home/andro/RPTU/vds2/VDSProject/src" - }, - { - "backtrace" : 5, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "backtrace" : 6, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" - }, - { - "backtrace" : 7, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0, - 1, - 2 - ] - } - ], - "id" : "Benchmark::@cb52dcfef60bfef78aad", - "name" : "Benchmark", - "nameOnDisk" : "libBenchmark.a", - "paths" : - { - "build" : "src/bench", - "source" : "src/bench" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0, - 1, - 2 - ] - }, - { - "name" : "Header Files", - "sourceIndexes" : - [ - 3, - 4 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/bench/BenchParser.cpp", - "sourceGroupIndex" : 0 - }, - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/bench/BenchmarkLib.cpp", - "sourceGroupIndex" : 0 - }, - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/bench/CircuitToBDD.cpp", - "sourceGroupIndex" : 0 - }, - { - "backtrace" : 1, - "path" : "src/bench/bench_grammar.hpp", - "sourceGroupIndex" : 1 - }, - { - "backtrace" : 1, - "path" : "src/bench/skip_parser.hpp", - "sourceGroupIndex" : 1 - } - ], - "type" : "STATIC_LIBRARY" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json b/cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json deleted file mode 100644 index e8d537fa..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-Manager-Release-448063735bcb10c740cb.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "archive" : {}, - "artifacts" : - [ - { - "path" : "src/libManager.a" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_library", - "include_directories" - ], - "files" : - [ - "src/CMakeLists.txt", - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 5, - "parent" : 0 - }, - { - "file" : 1 - }, - { - "command" : 1, - "file" : 1, - "line" : 35, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 38, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 41, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 44, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 47, - "parent" : 2 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - } - ], - "includes" : - [ - { - "backtrace" : 3, - "path" : "/home/andro/RPTU/vds2/VDSProject/lib" - }, - { - "backtrace" : 4, - "path" : "/home/andro/RPTU/vds2/VDSProject/src" - }, - { - "backtrace" : 5, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "backtrace" : 6, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" - }, - { - "backtrace" : 7, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "id" : "Manager::@145eef247bfb46b6828c", - "name" : "Manager", - "nameOnDisk" : "libManager.a", - "paths" : - { - "build" : "src", - "source" : "src" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/Manager.cpp", - "sourceGroupIndex" : 0 - } - ], - "type" : "STATIC_LIBRARY" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json deleted file mode 100644 index 992fab4a..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject-Release-2e86d2069fded6878e52.json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "artifacts" : - [ - { - "path" : "VDSProject" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_executable", - "link_directories", - "target_link_libraries", - "include_directories" - ], - "files" : - [ - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 51, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 36, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 39, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 42, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 45, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 48, - "parent" : 0 - }, - { - "command" : 2, - "file" : 0, - "line" : 52, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 35, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 38, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 41, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 44, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 47, - "parent" : 0 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - } - ], - "includes" : - [ - { - "backtrace" : 8, - "path" : "/home/andro/RPTU/vds2/VDSProject/lib" - }, - { - "backtrace" : 9, - "path" : "/home/andro/RPTU/vds2/VDSProject/src" - }, - { - "backtrace" : 10, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "backtrace" : 11, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" - }, - { - "backtrace" : 12, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "dependencies" : - [ - { - "backtrace" : 7, - "id" : "Manager::@145eef247bfb46b6828c" - } - ], - "id" : "VDSProject::@6890427a1f51a3e7e1df", - "link" : - { - "commandFragments" : - [ - { - "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", - "role" : "flags" - }, - { - "fragment" : "", - "role" : "flags" - }, - { - "backtrace" : 2, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", - "role" : "libraryPath" - }, - { - "backtrace" : 3, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", - "role" : "libraryPath" - }, - { - "backtrace" : 4, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", - "role" : "libraryPath" - }, - { - "backtrace" : 5, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", - "role" : "libraryPath" - }, - { - "backtrace" : 6, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraryPath" - }, - { - "fragment" : "-Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraries" - }, - { - "backtrace" : 7, - "fragment" : "src/libManager.a", - "role" : "libraries" - } - ], - "language" : "CXX" - }, - "name" : "VDSProject", - "nameOnDisk" : "VDSProject", - "paths" : - { - "build" : ".", - "source" : "." - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/main.cpp", - "sourceGroupIndex" : 0 - } - ], - "type" : "EXECUTABLE" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json deleted file mode 100644 index e7867c26..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_bench-Release-cf5e04211cfb2612efa8.json +++ /dev/null @@ -1,243 +0,0 @@ -{ - "artifacts" : - [ - { - "path" : "src/bench/VDSProject_bench" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_executable", - "link_directories", - "target_link_libraries", - "include_directories" - ], - "files" : - [ - "src/bench/CMakeLists.txt", - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 12, - "parent" : 0 - }, - { - "file" : 1 - }, - { - "command" : 1, - "file" : 1, - "line" : 36, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 39, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 42, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 45, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 48, - "parent" : 2 - }, - { - "command" : 2, - "file" : 0, - "line" : 13, - "parent" : 0 - }, - { - "command" : 2, - "file" : 0, - "line" : 14, - "parent" : 0 - }, - { - "command" : 3, - "file" : 1, - "line" : 35, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 38, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 41, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 44, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 47, - "parent" : 2 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - } - ], - "includes" : - [ - { - "backtrace" : 10, - "path" : "/home/andro/RPTU/vds2/VDSProject/lib" - }, - { - "backtrace" : 11, - "path" : "/home/andro/RPTU/vds2/VDSProject/src" - }, - { - "backtrace" : 12, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "backtrace" : 13, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" - }, - { - "backtrace" : 14, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "dependencies" : - [ - { - "backtrace" : 8, - "id" : "Manager::@145eef247bfb46b6828c" - }, - { - "backtrace" : 9, - "id" : "Benchmark::@cb52dcfef60bfef78aad" - } - ], - "id" : "VDSProject_bench::@cb52dcfef60bfef78aad", - "link" : - { - "commandFragments" : - [ - { - "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", - "role" : "flags" - }, - { - "fragment" : "", - "role" : "flags" - }, - { - "backtrace" : 3, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", - "role" : "libraryPath" - }, - { - "backtrace" : 4, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", - "role" : "libraryPath" - }, - { - "backtrace" : 5, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", - "role" : "libraryPath" - }, - { - "backtrace" : 6, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", - "role" : "libraryPath" - }, - { - "backtrace" : 7, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraryPath" - }, - { - "fragment" : "-Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraries" - }, - { - "backtrace" : 8, - "fragment" : "src/libManager.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "src/bench/libBenchmark.a", - "role" : "libraries" - } - ], - "language" : "CXX" - }, - "name" : "VDSProject_bench", - "nameOnDisk" : "VDSProject_bench", - "paths" : - { - "build" : "src/bench", - "source" : "src/bench" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/bench/main_bench.cpp", - "sourceGroupIndex" : 0 - } - ], - "type" : "EXECUTABLE" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json deleted file mode 100644 index 36ab9df5..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_test-Release-9d706a8c62bb7f5e84d7.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "artifacts" : - [ - { - "path" : "src/test/VDSProject_test" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_executable", - "link_directories", - "target_link_libraries", - "include_directories" - ], - "files" : - [ - "src/test/CMakeLists.txt", - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 7, - "parent" : 0 - }, - { - "file" : 1 - }, - { - "command" : 1, - "file" : 1, - "line" : 36, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 39, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 42, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 45, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 48, - "parent" : 2 - }, - { - "command" : 2, - "file" : 0, - "line" : 8, - "parent" : 0 - }, - { - "command" : 2, - "file" : 0, - "line" : 9, - "parent" : 0 - }, - { - "command" : 3, - "file" : 1, - "line" : 35, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 38, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 41, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 44, - "parent" : 2 - }, - { - "command" : 3, - "file" : 1, - "line" : 47, - "parent" : 2 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - } - ], - "includes" : - [ - { - "backtrace" : 10, - "path" : "/home/andro/RPTU/vds2/VDSProject/lib" - }, - { - "backtrace" : 11, - "path" : "/home/andro/RPTU/vds2/VDSProject/src" - }, - { - "backtrace" : 12, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "backtrace" : 13, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" - }, - { - "backtrace" : 14, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - }, - { - "backtrace" : 9, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" - }, - { - "backtrace" : 9, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "dependencies" : - [ - { - "backtrace" : 9, - "id" : "gtest::@e859b05e259a1cc74f68" - }, - { - "backtrace" : 9, - "id" : "gtest_main::@e859b05e259a1cc74f68" - }, - { - "backtrace" : 8, - "id" : "Manager::@145eef247bfb46b6828c" - } - ], - "id" : "VDSProject_test::@b7fcbc08bf8df37e9c1b", - "link" : - { - "commandFragments" : - [ - { - "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", - "role" : "flags" - }, - { - "fragment" : "", - "role" : "flags" - }, - { - "backtrace" : 3, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", - "role" : "libraryPath" - }, - { - "backtrace" : 4, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", - "role" : "libraryPath" - }, - { - "backtrace" : 5, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", - "role" : "libraryPath" - }, - { - "backtrace" : 6, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", - "role" : "libraryPath" - }, - { - "backtrace" : 7, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraryPath" - }, - { - "fragment" : "-Wl,-rpath,/home/andro/RPTU/vds2/VDSProject/lib:/home/andro/RPTU/vds2/VDSProject/src:/home/andro/RPTU/vds2/VDSProject/src/test:/home/andro/RPTU/vds2/VDSProject/src/bench:/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraries" - }, - { - "backtrace" : 8, - "fragment" : "src/libManager.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "lib/libgtest.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "lib/libgtest_main.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "-lpthread", - "role" : "libraries" - }, - { - "backtrace" : 8, - "fragment" : "src/libManager.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "lib/libgtest.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "lib/libgtest_main.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "-lpthread", - "role" : "libraries" - }, - { - "backtrace" : 8, - "fragment" : "src/libManager.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "lib/libgtest.a", - "role" : "libraries" - }, - { - "backtrace" : 9, - "fragment" : "-lpthread", - "role" : "libraries" - } - ], - "language" : "CXX" - }, - "name" : "VDSProject_test", - "nameOnDisk" : "VDSProject_test", - "paths" : - { - "build" : "src/test", - "source" : "src/test" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/test/main_test.cpp", - "sourceGroupIndex" : 0 - } - ], - "type" : "EXECUTABLE" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json b/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json deleted file mode 100644 index 4b154825..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-VDSProject_verify-Release-3886ee3ac5d727c4b6f0.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "artifacts" : - [ - { - "path" : "src/verify/VDSProject_verify" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_executable", - "link_directories", - "include_directories" - ], - "files" : - [ - "src/verify/CMakeLists.txt", - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 5, - "parent" : 0 - }, - { - "file" : 1 - }, - { - "command" : 1, - "file" : 1, - "line" : 36, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 39, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 42, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 45, - "parent" : 2 - }, - { - "command" : 1, - "file" : 1, - "line" : 48, - "parent" : 2 - }, - { - "command" : 2, - "file" : 1, - "line" : 35, - "parent" : 2 - }, - { - "command" : 2, - "file" : 1, - "line" : 38, - "parent" : 2 - }, - { - "command" : 2, - "file" : 1, - "line" : 41, - "parent" : 2 - }, - { - "command" : 2, - "file" : 1, - "line" : 44, - "parent" : 2 - }, - { - "command" : 2, - "file" : 1, - "line" : 47, - "parent" : 2 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - } - ], - "includes" : - [ - { - "backtrace" : 8, - "path" : "/home/andro/RPTU/vds2/VDSProject/lib" - }, - { - "backtrace" : 9, - "path" : "/home/andro/RPTU/vds2/VDSProject/src" - }, - { - "backtrace" : 10, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/test" - }, - { - "backtrace" : 11, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/bench" - }, - { - "backtrace" : 12, - "path" : "/home/andro/RPTU/vds2/VDSProject/src/verify" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "id" : "VDSProject_verify::@361c0a045f7e5449d7bd", - "link" : - { - "commandFragments" : - [ - { - "fragment" : "-fPIC -std=c++17 -O3 -DNDEBUG", - "role" : "flags" - }, - { - "fragment" : "", - "role" : "flags" - }, - { - "backtrace" : 3, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/lib", - "role" : "libraryPath" - }, - { - "backtrace" : 4, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src", - "role" : "libraryPath" - }, - { - "backtrace" : 5, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/test", - "role" : "libraryPath" - }, - { - "backtrace" : 6, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/bench", - "role" : "libraryPath" - }, - { - "backtrace" : 7, - "fragment" : "-L/home/andro/RPTU/vds2/VDSProject/src/verify", - "role" : "libraryPath" - } - ], - "language" : "CXX" - }, - "name" : "VDSProject_verify", - "nameOnDisk" : "VDSProject_verify", - "paths" : - { - "build" : "src/verify", - "source" : "src/verify" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "src/verify/main_verify.cpp", - "sourceGroupIndex" : 0 - } - ], - "type" : "EXECUTABLE" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json b/cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json deleted file mode 100644 index 0178692b..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-gmock-Release-fa3a1473fcee7451b15e.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "archive" : {}, - "artifacts" : - [ - { - "path" : "lib/libgmock.a" - } - ], - "backtrace" : 3, - "backtraceGraph" : - { - "commands" : - [ - "add_library", - "cxx_library_with_type", - "cxx_library", - "install", - "install_project", - "target_link_libraries", - "include_directories" - ], - "files" : - [ - "gtest/googletest-src/googletest/cmake/internal_utils.cmake", - "gtest/googletest-src/googlemock/CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 1 - }, - { - "command" : 2, - "file" : 1, - "line" : 97, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 210, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 165, - "parent" : 2 - }, - { - "command" : 4, - "file" : 1, - "line" : 116, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 305, - "parent" : 4 - }, - { - "command" : 5, - "file" : 1, - "line" : 98, - "parent" : 0 - }, - { - "command" : 6, - "file" : 1, - "line" : 75, - "parent" : 0 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - }, - { - "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" - } - ], - "includes" : - [ - { - "backtrace" : 7, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/include" - }, - { - "backtrace" : 7, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock" - }, - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" - }, - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "dependencies" : - [ - { - "backtrace" : 6, - "id" : "gtest::@e859b05e259a1cc74f68" - } - ], - "id" : "gmock::@91ae8a0eed36f324ee4e", - "install" : - { - "destinations" : - [ - { - "backtrace" : 5, - "path" : "lib" - } - ], - "prefix" : - { - "path" : "/usr/local" - } - }, - "name" : "gmock", - "nameOnDisk" : "libgmock.a", - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", - "source" : "gtest/googletest-src/googlemock" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 3, - "compileGroupIndex" : 0, - "path" : "gtest/googletest-src/googlemock/src/gmock-all.cc", - "sourceGroupIndex" : 0 - } - ], - "type" : "STATIC_LIBRARY" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json b/cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json deleted file mode 100644 index cd5f4ea4..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-gmock_main-Release-89233eb6e82e62597195.json +++ /dev/null @@ -1,171 +0,0 @@ -{ - "archive" : {}, - "artifacts" : - [ - { - "path" : "lib/libgmock_main.a" - } - ], - "backtrace" : 3, - "backtraceGraph" : - { - "commands" : - [ - "add_library", - "cxx_library_with_type", - "cxx_library", - "install", - "install_project", - "target_link_libraries", - "include_directories" - ], - "files" : - [ - "gtest/googletest-src/googletest/cmake/internal_utils.cmake", - "gtest/googletest-src/googlemock/CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 1 - }, - { - "command" : 2, - "file" : 1, - "line" : 100, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 210, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 165, - "parent" : 2 - }, - { - "command" : 4, - "file" : 1, - "line" : 116, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 305, - "parent" : 4 - }, - { - "command" : 5, - "file" : 1, - "line" : 101, - "parent" : 0 - }, - { - "command" : 6, - "file" : 1, - "line" : 75, - "parent" : 0 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - }, - { - "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" - } - ], - "includes" : - [ - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock/include" - }, - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock" - }, - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" - }, - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "dependencies" : - [ - { - "backtrace" : 6, - "id" : "gmock::@91ae8a0eed36f324ee4e" - }, - { - "backtrace" : 6, - "id" : "gtest::@e859b05e259a1cc74f68" - } - ], - "id" : "gmock_main::@91ae8a0eed36f324ee4e", - "install" : - { - "destinations" : - [ - { - "backtrace" : 5, - "path" : "lib" - } - ], - "prefix" : - { - "path" : "/usr/local" - } - }, - "name" : "gmock_main", - "nameOnDisk" : "libgmock_main.a", - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock", - "source" : "gtest/googletest-src/googlemock" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 3, - "compileGroupIndex" : 0, - "path" : "gtest/googletest-src/googlemock/src/gmock_main.cc", - "sourceGroupIndex" : 0 - } - ], - "type" : "STATIC_LIBRARY" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json b/cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json deleted file mode 100644 index 09680979..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-gtest-Release-f3f245d129ebc900b637.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "archive" : {}, - "artifacts" : - [ - { - "path" : "lib/libgtest.a" - } - ], - "backtrace" : 3, - "backtraceGraph" : - { - "commands" : - [ - "add_library", - "cxx_library_with_type", - "cxx_library", - "install", - "install_project", - "include_directories" - ], - "files" : - [ - "gtest/googletest-src/googletest/cmake/internal_utils.cmake", - "gtest/googletest-src/googletest/CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 1 - }, - { - "command" : 2, - "file" : 1, - "line" : 123, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 210, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 165, - "parent" : 2 - }, - { - "command" : 4, - "file" : 1, - "line" : 158, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 305, - "parent" : 4 - }, - { - "command" : 5, - "file" : 1, - "line" : 113, - "parent" : 0 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - }, - { - "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" - } - ], - "includes" : - [ - { - "backtrace" : 6, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" - }, - { - "backtrace" : 6, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "id" : "gtest::@e859b05e259a1cc74f68", - "install" : - { - "destinations" : - [ - { - "backtrace" : 5, - "path" : "lib" - } - ], - "prefix" : - { - "path" : "/usr/local" - } - }, - "name" : "gtest", - "nameOnDisk" : "libgtest.a", - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", - "source" : "gtest/googletest-src/googletest" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 3, - "compileGroupIndex" : 0, - "path" : "gtest/googletest-src/googletest/src/gtest-all.cc", - "sourceGroupIndex" : 0 - } - ], - "type" : "STATIC_LIBRARY" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json b/cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json deleted file mode 100644 index bbc04c67..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/target-gtest_main-Release-c1f47e481944117d2665.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "archive" : {}, - "artifacts" : - [ - { - "path" : "lib/libgtest_main.a" - } - ], - "backtrace" : 3, - "backtraceGraph" : - { - "commands" : - [ - "add_library", - "cxx_library_with_type", - "cxx_library", - "install", - "install_project", - "target_link_libraries", - "include_directories" - ], - "files" : - [ - "gtest/googletest-src/googletest/cmake/internal_utils.cmake", - "gtest/googletest-src/googletest/CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 1 - }, - { - "command" : 2, - "file" : 1, - "line" : 141, - "parent" : 0 - }, - { - "command" : 1, - "file" : 0, - "line" : 210, - "parent" : 1 - }, - { - "command" : 0, - "file" : 0, - "line" : 165, - "parent" : 2 - }, - { - "command" : 4, - "file" : 1, - "line" : 158, - "parent" : 0 - }, - { - "command" : 3, - "file" : 0, - "line" : 305, - "parent" : 4 - }, - { - "command" : 5, - "file" : 1, - "line" : 153, - "parent" : 0 - }, - { - "command" : 6, - "file" : 1, - "line" : 113, - "parent" : 0 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : " -fPIC -std=c++17 -O3 -DNDEBUG -fdiagnostics-color=always" - }, - { - "fragment" : "-Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers" - } - ], - "includes" : - [ - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest/include" - }, - { - "backtrace" : 7, - "isSystem" : true, - "path" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest" - } - ], - "language" : "CXX", - "sourceIndexes" : - [ - 0 - ] - } - ], - "dependencies" : - [ - { - "backtrace" : 6, - "id" : "gtest::@e859b05e259a1cc74f68" - } - ], - "id" : "gtest_main::@e859b05e259a1cc74f68", - "install" : - { - "destinations" : - [ - { - "backtrace" : 5, - "path" : "lib" - } - ], - "prefix" : - { - "path" : "/usr/local" - } - }, - "name" : "gtest_main", - "nameOnDisk" : "libgtest_main.a", - "paths" : - { - "build" : "/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest", - "source" : "gtest/googletest-src/googletest" - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - } - ], - "sources" : - [ - { - "backtrace" : 3, - "compileGroupIndex" : 0, - "path" : "gtest/googletest-src/googletest/src/gtest_main.cc", - "sourceGroupIndex" : 0 - } - ], - "type" : "STATIC_LIBRARY" -} diff --git a/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json b/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json deleted file mode 100644 index 5789274d..00000000 --- a/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-3a03a1d1d0aeea10be44.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "kind" : "toolchains", - "toolchains" : - [ - { - "compiler" : - { - "id" : "GNU", - "implicit" : - { - "includeDirectories" : - [ - "/usr/lib/gcc/x86_64-linux-gnu/13/include", - "/usr/local/include", - "/usr/include/x86_64-linux-gnu", - "/usr/include" - ], - "linkDirectories" : - [ - "/usr/lib/gcc/x86_64-linux-gnu/13", - "/usr/lib/x86_64-linux-gnu", - "/usr/lib", - "/lib/x86_64-linux-gnu", - "/lib" - ], - "linkFrameworkDirectories" : [], - "linkLibraries" : - [ - "gcc", - "gcc_s", - "c", - "gcc", - "gcc_s" - ] - }, - "path" : "/usr/bin/cc", - "version" : "13.3.0" - }, - "language" : "C", - "sourceFileExtensions" : - [ - "c", - "m" - ] - }, - { - "compiler" : - { - "id" : "GNU", - "implicit" : - { - "includeDirectories" : - [ - "/usr/include/c++/13", - "/usr/include/x86_64-linux-gnu/c++/13", - "/usr/include/c++/13/backward", - "/usr/lib/gcc/x86_64-linux-gnu/13/include", - "/usr/local/include", - "/usr/include/x86_64-linux-gnu", - "/usr/include" - ], - "linkDirectories" : - [ - "/usr/lib/gcc/x86_64-linux-gnu/13", - "/usr/lib/x86_64-linux-gnu", - "/usr/lib", - "/lib/x86_64-linux-gnu", - "/lib" - ], - "linkFrameworkDirectories" : [], - "linkLibraries" : - [ - "stdc++", - "m", - "gcc_s", - "gcc", - "c", - "gcc_s", - "gcc" - ] - }, - "path" : "/usr/bin/c++", - "version" : "13.3.0" - }, - "language" : "CXX", - "sourceFileExtensions" : - [ - "C", - "M", - "c++", - "cc", - "cpp", - "cxx", - "m", - "mm", - "mpp", - "CPP", - "ixx", - "cppm", - "ccm", - "cxxm", - "c++m" - ] - } - ], - "version" : - { - "major" : 1, - "minor" : 0 - } -} diff --git a/cmake-build-release/CMakeCache.txt b/cmake-build-release/CMakeCache.txt index cd2b67b9..cf083685 100644 --- a/cmake-build-release/CMakeCache.txt +++ b/cmake-build-release/CMakeCache.txt @@ -1,6 +1,6 @@ # This is the CMakeCache file. # For build in directory: /home/andro/RPTU/vds2/VDSProject/cmake-build-release -# It was generated by CMake: /snap/clion/310/bin/cmake/linux/x64/bin/cmake +# It was generated by CMake: /snap/clion/314/bin/cmake/linux/x64/bin/cmake # You can edit this file to change values found and used by cmake. # If you do not want to change any of the values, simply exit the editor. # If you do want to change a value, simply edit, save, and exit the editor. @@ -14,9 +14,6 @@ # EXTERNAL cache entries ######################## -//Builds the googlemock subproject -BUILD_GMOCK:BOOL=ON - //Path to a program. CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line @@ -106,62 +103,14 @@ CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= //Value Computed by CMake. CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/pkgRedirects -//User executables (bin) -CMAKE_INSTALL_BINDIR:PATH=bin - -//Read-only architecture-independent data (DATAROOTDIR) -CMAKE_INSTALL_DATADIR:PATH= - -//Read-only architecture-independent data root (share) -CMAKE_INSTALL_DATAROOTDIR:PATH=share - -//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) -CMAKE_INSTALL_DOCDIR:PATH= - -//C header files (include) -CMAKE_INSTALL_INCLUDEDIR:PATH=include - -//Info documentation (DATAROOTDIR/info) -CMAKE_INSTALL_INFODIR:PATH= - -//Object code libraries (lib) -CMAKE_INSTALL_LIBDIR:PATH=lib - -//Program executables (libexec) -CMAKE_INSTALL_LIBEXECDIR:PATH=libexec - -//Locale-dependent data (DATAROOTDIR/locale) -CMAKE_INSTALL_LOCALEDIR:PATH= - -//Modifiable single-machine data (var) -CMAKE_INSTALL_LOCALSTATEDIR:PATH=var - -//Man documentation (DATAROOTDIR/man) -CMAKE_INSTALL_MANDIR:PATH= - -//C header files for non-gcc (/usr/include) -CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include - //Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local -//Run-time variable data (LOCALSTATEDIR/run) -CMAKE_INSTALL_RUNSTATEDIR:PATH= - -//System admin executables (sbin) -CMAKE_INSTALL_SBINDIR:PATH=sbin - -//Modifiable architecture-independent data (com) -CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com - -//Read-only single-machine data (etc) -CMAKE_INSTALL_SYSCONFDIR:PATH=etc - //Path to a program. CMAKE_LINKER:FILEPATH=/usr/bin/ld //No help, variable specified on the command line. -CMAKE_MAKE_PROGRAM:UNINITIALIZED=/snap/clion/310/bin/ninja/linux/x64/ninja +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/snap/clion/314/bin/ninja/linux/x64/ninja //Flags used by the linker during the creation of modules during // all build types. @@ -201,21 +150,6 @@ CMAKE_PROJECT_HOMEPAGE_URL:STATIC= //Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=VDSProject -//Value Computed by CMake -CMAKE_PROJECT_VERSION:STATIC=1.15.2 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MINOR:STATIC=15 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_PATCH:STATIC=2 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_TWEAK:STATIC= - //Path to a program. CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib @@ -281,17 +215,6 @@ CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE -//Use Abseil and RE2. Requires Abseil and RE2 to be separately -// added to the build. -GTEST_HAS_ABSL:BOOL=OFF - -//The directory containing a CMake configuration file for GTest. -GTest_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/GTest - -//Enable installation of googletest. (Projects embedding googletest -// may want to turn this OFF.) -INSTALL_GTEST:BOOL=ON - //Value Computed by CMake VDSProject_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release @@ -301,70 +224,6 @@ VDSProject_IS_TOP_LEVEL:STATIC=ON //Value Computed by CMake VDSProject_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject -//Value Computed by CMake -VDSProject_test_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test - -//Value Computed by CMake -VDSProject_test_IS_TOP_LEVEL:STATIC=OFF - -//Value Computed by CMake -VDSProject_test_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/src/test - -//Value Computed by CMake -VDSProject_verify_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify - -//Value Computed by CMake -VDSProject_verify_IS_TOP_LEVEL:STATIC=OFF - -//Value Computed by CMake -VDSProject_verify_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/src/verify - -//Value Computed by CMake -gmock_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock - -//Value Computed by CMake -gmock_IS_TOP_LEVEL:STATIC=OFF - -//Value Computed by CMake -gmock_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googlemock - -//Build all of Google Mock's own tests. -gmock_build_tests:BOOL=OFF - -//Value Computed by CMake -googletest-distribution_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build - -//Value Computed by CMake -googletest-distribution_IS_TOP_LEVEL:STATIC=OFF - -//Value Computed by CMake -googletest-distribution_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src - -//Value Computed by CMake -gtest_BINARY_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest - -//Value Computed by CMake -gtest_IS_TOP_LEVEL:STATIC=OFF - -//Value Computed by CMake -gtest_SOURCE_DIR:STATIC=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-src/googletest - -//Build gtest's sample programs. -gtest_build_samples:BOOL=OFF - -//Build all of gtest's own tests. -gtest_build_tests:BOOL=OFF - -//Disable uses of pthreads in gtest. -gtest_disable_pthreads:BOOL=OFF - -//Use shared (DLL) run-time lib even when Google Test is built -// as static lib. -gtest_force_shared_crt:BOOL=OFF - -//Build gtest with internal symbols hidden in shared libraries. -gtest_hide_internal_symbols:BOOL=OFF - ######################## # INTERNAL cache entries @@ -383,11 +242,11 @@ CMAKE_CACHE_MINOR_VERSION:INTERNAL=30 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=5 //Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/bin/cmake +CMAKE_COMMAND:INTERNAL=/snap/clion/314/bin/cmake/linux/x64/bin/cmake //Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/bin/cpack +CMAKE_CPACK_COMMAND:INTERNAL=/snap/clion/314/bin/cmake/linux/x64/bin/cpack //Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/bin/ctest +CMAKE_CTEST_COMMAND:INTERNAL=/snap/clion/314/bin/cmake/linux/x64/bin/ctest //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_COMPILER_AR @@ -446,45 +305,11 @@ CMAKE_GENERATOR_INSTANCE:INTERNAL= CMAKE_GENERATOR_PLATFORM:INTERNAL= //Name of generator toolset. CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Test CMAKE_HAVE_LIBC_PTHREAD -CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 //Source directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=/home/andro/RPTU/vds2/VDSProject -//ADVANCED property for variable: CMAKE_INSTALL_BINDIR -CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DATADIR -CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR -CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR -CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR -CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_INFODIR -CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR -CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR -CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR -CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR -CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_MANDIR -CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR -CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR -CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR -CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR -CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 //Install .so files without execute permission. CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR -CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS @@ -500,7 +325,7 @@ CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=8 +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP @@ -512,7 +337,7 @@ CMAKE_RANLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_READELF CMAKE_READELF-ADVANCED:INTERNAL=1 //Path to CMake installation. -CMAKE_ROOT:INTERNAL=/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30 +CMAKE_ROOT:INTERNAL=/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG @@ -545,27 +370,6 @@ CMAKE_TAPI-ADVANCED:INTERNAL=1 CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//Details about finding GTest -FIND_PACKAGE_MESSAGE_DETAILS_GTest:INTERNAL=[/usr/lib/x86_64-linux-gnu/cmake/GTest/GTestConfig.cmake][c ][v1.14.0()] -//Details about finding Threads -FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //linker supports push/pop state _CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE -//CMAKE_INSTALL_PREFIX during last run -_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local -cmake_package_name:INTERNAL=GTest -generated_dir:INTERNAL=/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/generated -//ADVANCED property for variable: gmock_build_tests -gmock_build_tests-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: gtest_build_samples -gtest_build_samples-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: gtest_build_tests -gtest_build_tests-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: gtest_disable_pthreads -gtest_disable_pthreads-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: gtest_force_shared_crt -gtest_force_shared_crt-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: gtest_hide_internal_symbols -gtest_hide_internal_symbols-ADVANCED:INTERNAL=1 -targets_export_name:INTERNAL=GTestTargets diff --git a/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml b/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml index 2b867b02..068456a2 100644 --- a/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml +++ b/cmake-build-release/CMakeFiles/CMakeConfigureLog.yaml @@ -4,16 +4,16 @@ events: - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake:205 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake:205 (message)" - "CMakeLists.txt:2 (project)" message: | The system is: Linux - 6.8.0-51-generic - x86_64 - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" - "CMakeLists.txt:2 (project)" message: | Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. @@ -33,9 +33,9 @@ events: - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" - "CMakeLists.txt:2 (project)" message: | Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. @@ -55,14 +55,14 @@ events: - kind: "try_compile-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" checks: - "Detecting CXX compiler ABI info" directories: - source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4" - binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4" + source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-L1rF1i" + binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-L1rF1i" cmakeVariables: CMAKE_CXX_FLAGS: "" CMAKE_CXX_FLAGS_DEBUG: "-g" @@ -72,10 +72,10 @@ events: variable: "CMAKE_CXX_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4' + Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-L1rF1i' - Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_5058f - [1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Run Build Command(s): /snap/clion/314/bin/ninja/linux/x64/ninja -v cmTC_06bcd + [1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -c /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp Using built-in specs. COLLECT_GCC=/usr/bin/c++ OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -85,8 +85,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5058f.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccux79pJ.s + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_06bcd.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_06bcd.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cckojYs5.s GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -107,13 +107,13 @@ events: /usr/include End of search list. Compiler executable checksum: c81c05345ce537099dafd5580045814a - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/' - as -v --64 -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccux79pJ.s + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_06bcd.dir/' + as -v --64 -o CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckojYs5.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.' - [2/2] : && /usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5058f && : + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_06bcd && : Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -126,19 +126,19 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5058f' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5058f.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_06bcd' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_06bcd.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccKVv88l.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_06bcd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o collect2 version 13.3.0 - /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccKVv88l.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_06bcd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o GNU ld (GNU Binutils for Ubuntu) 2.42 - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5058f' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5058f.' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_06bcd' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_06bcd.' exitCode: 0 - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed CXX implicit include dir info: rv=done @@ -165,17 +165,17 @@ events: - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed CXX implicit link information: link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] - ignore line: [Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-pt1NT4'] + ignore line: [Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-L1rF1i'] ignore line: [] - ignore line: [Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_5058f] - ignore line: [[1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Run Build Command(s): /snap/clion/314/bin/ninja/linux/x64/ninja -v cmTC_06bcd] + ignore line: [[1/2] /usr/bin/c++ -fdiagnostics-color=always -v -o CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -c /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -185,8 +185,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_5058f.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccux79pJ.s] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_06bcd.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_06bcd.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cckojYs5.s] ignore line: [GNU C++17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -207,13 +207,13 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: c81c05345ce537099dafd5580045814a] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccux79pJ.s] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_06bcd.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckojYs5.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.'] - ignore line: [[2/2] : && /usr/bin/c++ -v -Wl -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_5058f && :] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /usr/bin/c++ -v -Wl -v CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_06bcd && :] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/c++] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -226,13 +226,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_5058f' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_5058f.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_06bcd' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_06bcd.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccKVv88l.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_06bcd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccbIpg6n.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccKVv88l.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -250,7 +250,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_5058f] ==> ignore + arg [cmTC_06bcd] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -263,7 +263,7 @@ events: arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] arg [-v] ==> ignore - arg [CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore arg [-lstdc++] ==> lib [stdc++] arg [-lm] ==> lib [m] arg [-lgcc_s] ==> lib [gcc_s] @@ -274,7 +274,7 @@ events: arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ignore line: [collect2 version 13.3.0] - ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbIpg6n.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_5058f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_5058f.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccKVv88l.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_06bcd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_06bcd.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] linker tool for 'CXX': /usr/bin/ld collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] @@ -296,9 +296,9 @@ events: - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Running the CXX compiler's linker: "/usr/bin/ld" "-v" @@ -306,14 +306,14 @@ events: - kind: "try_compile-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" checks: - "Detecting C compiler ABI info" directories: - source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7" - binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7" + source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-qUo4J6" + binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-qUo4J6" cmakeVariables: CMAKE_C_FLAGS: "" CMAKE_C_FLAGS_DEBUG: "-g" @@ -322,10 +322,10 @@ events: variable: "CMAKE_C_ABI_COMPILED" cached: true stdout: | - Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7' + Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-qUo4J6' - Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_063dd - [1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Run Build Command(s): /snap/clion/314/bin/ninja/linux/x64/ninja -v cmTC_bbe8f + [1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -c /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c Using built-in specs. COLLECT_GCC=/usr/bin/cc OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa @@ -335,8 +335,8 @@ events: Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/' - /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_063dd.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5073wl.s + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_bbe8f.dir/' + /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_bbe8f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc0nHQba.s GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu) compiled by GNU C version 13.3.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP @@ -353,13 +353,13 @@ events: /usr/include End of search list. Compiler executable checksum: 38987c28e967c64056a6454abdef726e - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/' - as -v --64 -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o /tmp/cc5073wl.s + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_bbe8f.dir/' + as -v --64 -o CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o /tmp/cc0nHQba.s GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42 COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.' - [2/2] : && /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -o cmTC_063dd && : + COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.' + [2/2] : && /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -o cmTC_bbe8f && : Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper @@ -372,19 +372,19 @@ events: gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/ - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_063dd' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_063dd.' - /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_bbe8f' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_bbe8f.' + /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuvpdHQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_bbe8f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o collect2 version 13.3.0 - /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o + /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuvpdHQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_bbe8f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o GNU ld (GNU Binutils for Ubuntu) 2.42 - COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_063dd' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_063dd.' + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_bbe8f' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_bbe8f.' exitCode: 0 - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed C implicit include dir info: rv=done @@ -405,17 +405,17 @@ events: - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Parsed C implicit link information: link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] - ignore line: [Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-2NBng7'] + ignore line: [Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-qUo4J6'] ignore line: [] - ignore line: [Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_063dd] - ignore line: [[1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -c /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Run Build Command(s): /snap/clion/314/bin/ninja/linux/x64/ninja -v cmTC_bbe8f] + ignore line: [[1/2] /usr/bin/cc -fdiagnostics-color=always -v -o CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -c /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] @@ -425,8 +425,8 @@ events: ignore line: [Thread model: posix] ignore line: [Supported LTO compression algorithms: zlib zstd] ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/'] - ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_063dd.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc5073wl.s] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_bbe8f.dir/'] + ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_bbe8f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc0nHQba.s] ignore line: [GNU C17 (Ubuntu 13.3.0-6ubuntu2~24.04) version 13.3.0 (x86_64-linux-gnu)] ignore line: [ compiled by GNU C version 13.3.0 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] ignore line: [] @@ -443,13 +443,13 @@ events: ignore line: [ /usr/include] ignore line: [End of search list.] ignore line: [Compiler executable checksum: 38987c28e967c64056a6454abdef726e] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o /tmp/cc5073wl.s] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_bbe8f.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o /tmp/cc0nHQba.s] ignore line: [GNU assembler version 2.42 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.42] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.'] - ignore line: [[2/2] : && /usr/bin/cc -v -Wl -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -o cmTC_063dd && :] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /usr/bin/cc -v -Wl -v CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -o cmTC_bbe8f && :] ignore line: [Using built-in specs.] ignore line: [COLLECT_GCC=/usr/bin/cc] ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] @@ -462,13 +462,13 @@ events: ignore line: [gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) ] ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/] ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_063dd' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_063dd.'] - link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_bbe8f' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_bbe8f.'] + link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuvpdHQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_bbe8f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore arg [-plugin] ==> ignore arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/ccxn4Xzc.res] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccuvpdHQ.res] ==> ignore arg [-plugin-opt=-pass-through=-lgcc] ==> ignore arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore arg [-plugin-opt=-pass-through=-lc] ==> ignore @@ -486,7 +486,7 @@ events: arg [-znow] ==> ignore arg [-zrelro] ==> ignore arg [-o] ==> ignore - arg [cmTC_063dd] ==> ignore + arg [cmTC_bbe8f] ==> ignore arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] @@ -499,7 +499,7 @@ events: arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..] arg [-v] ==> ignore - arg [CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o] ==> ignore arg [-lgcc] ==> lib [gcc] arg [--push-state] ==> ignore arg [--as-needed] ==> ignore @@ -514,7 +514,7 @@ events: arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o] arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] ignore line: [collect2 version 13.3.0] - ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccxn4Xzc.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_063dd /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_063dd.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] + ignore line: [/usr/bin/ld -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuvpdHQ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_bbe8f /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. -v CMakeFiles/cmTC_bbe8f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o] linker tool for 'C': /usr/bin/ld collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] collapse obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] @@ -536,40 +536,11 @@ events: - kind: "message-v1" backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/snap/clion/314/bin/cmake/linux/x64/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - "CMakeLists.txt:2 (project)" message: | Running the C compiler's linker: "/usr/bin/ld" "-v" GNU ld (GNU Binutils for Ubuntu) 2.42 - - - kind: "try_compile-v1" - backtrace: - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)" - - "/snap/clion/310/bin/cmake/linux/x64/share/cmake-3.30/Modules/FindThreads.cmake:163 (_threads_check_libc)" - - "gtest/googletest-src/googletest/cmake/internal_utils.cmake:66 (find_package)" - - "gtest/googletest-src/googletest/CMakeLists.txt:83 (config_compiler_and_linker)" - checks: - - "Performing Test CMAKE_HAVE_LIBC_PTHREAD" - directories: - source: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT" - binary: "/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT" - cmakeVariables: - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - buildResult: - variable: "CMAKE_HAVE_LIBC_PTHREAD" - cached: true - stdout: | - Change Dir: '/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT' - - Run Build Command(s): /snap/clion/310/bin/ninja/linux/x64/ninja -v cmTC_f1cbf - [1/2] /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -fdiagnostics-color=always -o CMakeFiles/cmTC_f1cbf.dir/src.c.o -c /home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-Ovq5kT/src.c - [2/2] : && /usr/bin/cc CMakeFiles/cmTC_f1cbf.dir/src.c.o -o cmTC_f1cbf && : - - exitCode: 0 ... diff --git a/cmake-build-release/CMakeFiles/TargetDirectories.txt b/cmake-build-release/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 7beaeaf2..00000000 --- a/cmake-build-release/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,58 +0,0 @@ -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/VDSProject.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/gmock_main.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googlemock/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/gtest_main.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/gtest/googletest-build/googletest/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/Manager.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/VDSProject_test.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/test/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/Benchmark.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/VDSProject_bench.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/bench/CMakeFiles/install/strip.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/VDSProject_verify.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/edit_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/rebuild_cache.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/list_install_components.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/install.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/install/local.dir -/home/andro/RPTU/vds2/VDSProject/cmake-build-release/src/verify/CMakeFiles/install/strip.dir diff --git a/cmake-build-release/CMakeFiles/clion-Release-log.txt b/cmake-build-release/CMakeFiles/clion-Release-log.txt index 28892b79..285f7a80 100644 --- a/cmake-build-release/CMakeFiles/clion-Release-log.txt +++ b/cmake-build-release/CMakeFiles/clion-Release-log.txt @@ -1,15 +1,29 @@ -/snap/clion/310/bin/cmake/linux/x64/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/snap/clion/310/bin/ninja/linux/x64/ninja -G Ninja -S /home/andro/RPTU/vds2/VDSProject -B /home/andro/RPTU/vds2/VDSProject/cmake-build-release --- Configuring done (0.0s) --- Generating done (0.0s) --- Build files have been written to: /home/andro/RPTU/vds2/VDSProject/gtest/googletest-download -[1/7] Performing update step for 'googletest' --- Fetching latest from the remote origin -[2/7] No patch step for 'googletest' -[3/7] No configure step for 'googletest' -[4/7] No build step for 'googletest' -[5/7] No install step for 'googletest' -[6/7] No test step for 'googletest' -[7/7] Completed 'googletest' --- Configuring done (0.6s) --- Generating done (0.0s) --- Build files have been written to: /home/andro/RPTU/vds2/VDSProject/cmake-build-release +/snap/clion/314/bin/cmake/linux/x64/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/snap/clion/314/bin/ninja/linux/x64/ninja -G Ninja -S /home/andro/RPTU/vds2/VDSProject -B /home/andro/RPTU/vds2/VDSProject/cmake-build-release +-- The CXX compiler identification is GNU 13.3.0 +-- The C compiler identification is GNU 13.3.0 +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Check for working CXX compiler: /usr/bin/c++ - skipped +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /usr/bin/cc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +CMake Error at CMakeLists.txt:3 (project): + Running + + '/snap/clion/308/bin/ninja/linux/x64/ninja' '--version' + + failed with: + + no such file or directory + + +-- Configuring incomplete, errors occurred! +CMake Error at CMakeLists.txt:12 (message): + CMake step for googletest failed: 1 + + +-- Configuring incomplete, errors occurred! diff --git a/cmake-build-release/CMakeFiles/clion-environment.txt b/cmake-build-release/CMakeFiles/clion-environment.txt index 381909bc..6795a3e9 100644 --- a/cmake-build-release/CMakeFiles/clion-environment.txt +++ b/cmake-build-release/CMakeFiles/clion-environment.txt @@ -1,4 +1,4 @@ -ToolSet: 1.0 (local)Ninja: 1.12.1@/snap/clion/310/bin/ninja/linux/x64/ninja +ToolSet: 1.0 (local)Ninja: 1.12.1@/snap/clion/314/bin/ninja/linux/x64/ninja Options: -Options:-DCMAKE_MAKE_PROGRAM=/snap/clion/310/bin/ninja/linux/x64/ninja \ No newline at end of file +Options:-DCMAKE_MAKE_PROGRAM=/snap/clion/314/bin/ninja/linux/x64/ninja \ No newline at end of file diff --git a/cmake-build-release/CMakeFiles/rules.ninja b/cmake-build-release/CMakeFiles/rules.ninja deleted file mode 100644 index 81723b5d..00000000 --- a/cmake-build-release/CMakeFiles/rules.ninja +++ /dev/null @@ -1,235 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Ninja" Generator, CMake Version 3.30 - -# This file contains all the rules used to get the outputs files -# built from the input files. -# It is included in the main 'build.ninja'. - -# ============================================================================= -# Project: VDSProject -# Configurations: Release -# ============================================================================= -# ============================================================================= - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__VDSProject_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX executable. - -rule CXX_EXECUTABLE_LINKER__VDSProject_Release - command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD - description = Linking CXX executable $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for running custom commands. - -rule CUSTOM_COMMAND - command = $COMMAND - description = $DESC - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__gmock_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX static library. - -rule CXX_STATIC_LIBRARY_LINKER__gmock_Release - command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD - description = Linking CXX static library $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__gmock_main_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX static library. - -rule CXX_STATIC_LIBRARY_LINKER__gmock_main_Release - command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD - description = Linking CXX static library $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__gtest_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX static library. - -rule CXX_STATIC_LIBRARY_LINKER__gtest_Release - command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD - description = Linking CXX static library $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__gtest_main_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX static library. - -rule CXX_STATIC_LIBRARY_LINKER__gtest_main_Release - command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD - description = Linking CXX static library $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__Manager_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX static library. - -rule CXX_STATIC_LIBRARY_LINKER__Manager_Release - command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD - description = Linking CXX static library $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__VDSProject_test_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX executable. - -rule CXX_EXECUTABLE_LINKER__VDSProject_test_Release - command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD - description = Linking CXX executable $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__Benchmark_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX static library. - -rule CXX_STATIC_LIBRARY_LINKER__Benchmark_Release - command = $PRE_LINK && /snap/clion/310/bin/cmake/linux/x64/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD - description = Linking CXX static library $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__VDSProject_bench_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX executable. - -rule CXX_EXECUTABLE_LINKER__VDSProject_bench_Release - command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD - description = Linking CXX executable $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for compiling CXX files. - -rule CXX_COMPILER__VDSProject_verify_unscanned_Release - depfile = $DEP_FILE - deps = gcc - command = ${LAUNCHER}${CODE_CHECK}/usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in - description = Building CXX object $out - - -############################################# -# Rule for linking CXX executable. - -rule CXX_EXECUTABLE_LINKER__VDSProject_verify_Release - command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD - description = Linking CXX executable $TARGET_FILE - restat = $RESTAT - - -############################################# -# Rule for re-running cmake. - -rule RERUN_CMAKE - command = /snap/clion/310/bin/cmake/linux/x64/bin/cmake --regenerate-during-build -S/home/andro/RPTU/vds2/VDSProject -B/home/andro/RPTU/vds2/VDSProject/cmake-build-release - description = Re-running CMake... - generator = 1 - - -############################################# -# Rule for cleaning all built files. - -rule CLEAN - command = /snap/clion/310/bin/ninja/linux/x64/ninja $FILE_ARG -t clean $TARGETS - description = Cleaning all built files... - - -############################################# -# Rule for printing all primary targets available. - -rule HELP - command = /snap/clion/310/bin/ninja/linux/x64/ninja -t targets - description = All primary targets available: - diff --git a/cmake-build-release/Testing/Temporary/LastTest.log b/cmake-build-release/Testing/Temporary/LastTest.log index 5d74a4d2..10266d5e 100644 --- a/cmake-build-release/Testing/Temporary/LastTest.log +++ b/cmake-build-release/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Jan 13 14:19 CET +Start testing: Jan 27 21:39 CET ---------------------------------------------------------- -End testing: Jan 13 14:19 CET +End testing: Jan 27 21:39 CET diff --git a/reachability/CMakeLists.txt b/reachability/CMakeLists.txt new file mode 100644 index 00000000..1361f52b --- /dev/null +++ b/reachability/CMakeLists.txt @@ -0,0 +1,9 @@ +project(VDSProject_test CXX C) +cmake_minimum_required(VERSION 3.10) + + +add_executable(VDSProject_reachability main_test.cpp Reachability.cpp Reachability.h Tests.h ReachabilityInterface.h) +target_link_libraries(VDSProject_reachability Manager) +target_link_libraries(VDSProject_reachability gtest gtest_main pthread) + + diff --git a/reachability/Reachability.cpp b/reachability/Reachability.cpp new file mode 100644 index 00000000..950c96c3 --- /dev/null +++ b/reachability/Reachability.cpp @@ -0,0 +1 @@ +#include "Reachability.h" diff --git a/reachability/Reachability.h b/reachability/Reachability.h new file mode 100644 index 00000000..9641d930 --- /dev/null +++ b/reachability/Reachability.h @@ -0,0 +1,173 @@ +#ifndef VDSPROJECT_REACHABILITY_H +#define VDSPROJECT_REACHABILITY_H + +#include "ReachabilityInterface.h" + +namespace ClassProject { + + class Reachability : public ReachabilityInterface { + private: +// unsigned int stateSize; +// unsigned int inputSize; + std::vector stateVars; + std::vector nextStateVars; + std::vector inputVars; + BDD_ID transitionRelation; + BDD_ID currentReachableSet; + + Manager manager; + + + BDD_ID computeImage(BDD_ID set) { + // Compute image ∃x ∃s cS(s) ⋅ τ(s, x, s') + BDD_ID temp = manager.and2(set, transitionRelation); + for (const auto &var : stateVars) { + temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + } + for (const auto &var : inputVars) { + temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + } + return temp; + } + + BDD_ID computeImageNextStates(BDD_ID ¤tStates) { + // Compute image ∃x ∃s cS(s) ⋅ τ(s, x, s') + BDD_ID temp = manager.and2(currentStates, transitionRelation); + for (const auto &var : stateVars) { + temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + } + for (const auto &var : inputVars) { + temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + } + return temp; + } + + BDD_ID computeImageCurrentStates(BDD_ID &nextStatesImage) { + BDD_ID currentImage = nextStatesImage; + + BDD_ID eqivalence = manager.True(); + for (int i = 0 ; i < stateSize ; i++) { + eqivalence = manager.and2(eqivalence, manager.xnor2(stateVars[i], nextStateVars[i])); + } + + currentImage = manager.and2(eqivalence, currentImage); + + for (const auto &var : nextStateVars) { + currentImage = manager.or2(manager.coFactorTrue(currentImage, var), manager.coFactorFalse(currentImage, var)); + } + + return currentImage; + } + + + + public: + Reachability(unsigned int stateSize, unsigned int inputSize = 0) + : ReachabilityInterface(stateSize, inputSize){ + + if (stateSize == 0) { + throw std::invalid_argument("stateSize must be greater than zero"); + } + + for (int i = 0; i < stateSize; i++) { + stateVars.push_back(manager.createVar("s" + std::to_string(i))); + nextStateVars.push_back(manager.createVar("s'" + std::to_string(i))); + } + + for (int i = 0; i < inputSize; i++) { + inputVars.push_back(manager.createVar("v" + std::to_string(i))); + } + + // create initial reachable state all 0 + // ~s1 & ~s2 & ~s3 ... + currentReachableSet = manager.True(); + for (const auto &var : stateVars) { + currentReachableSet = manager.and2(currentReachableSet, manager.neg(var)); + } + + transitionRelation = 0; // todo needs to be done + } + + const std::vector &getStates() const override { + return stateVars; + } + + const std::vector &getInputs() const override { + return inputVars; + } + + void setInitState(const std::vector &stateVector) override { + if (stateVector.size() != stateSize) { + throw std::invalid_argument("stateSize must be equal to stateVector size"); + } + + currentReachableSet = manager.True(); + for (int i = 0; i < stateSize; i++) { + currentReachableSet = manager.and2(currentReachableSet, stateVector[i] ? stateVars[i] : manager.neg(stateVars[i])); + } + // as already mentioned 011 = ~s1&s2&s3 + } + + void setTransitionFunctions(const std::vector &transitionFunctions) override { + if (transitionFunctions.size() != stateSize) { + throw std::invalid_argument("stateSize must be equal to transitionFunctions size"); + } + + transitionRelation = manager.True(); + for (int i = 0; i < stateSize; i++) { + // xnor relation = manager.xnor(transitionFunctions[i], nextStateVars[i]) + BDD_ID relation = manager.ite(transitionFunctions[i], nextStateVars[i], manager.neg(nextStateVars[i])); + transitionRelation = manager.and2(relation, transitionRelation); // multiplication + } + + } + + bool isReachable(const std::vector &stateVector) override { + if (stateVector.size() != stateSize) { + throw std::invalid_argument("Reachability::isReachable()"); + } + + // create bdd for input stateVector + BDD_ID stateBDD = manager.True(); + for (int i = 0; i < stateSize; i++) { + stateBDD = manager.and2(stateBDD, stateVector[i] ? stateVars[i] : manager.neg(stateVars[i])); // this creates bdd for stateVector + } + + BDD_ID intersection = manager.and2(currentReachableSet, stateBDD); + + return intersection == stateBDD; + } + + int stateDistance(const std::vector &stateVector) override { + if (!isReachable(stateVector)) { + return -1; + } + + BDD_ID targetState = manager.True(); + for (int i = 0; i < stateSize; i++) { + targetState = manager.and2(targetState, stateVector[i] ? stateVars[i] : manager.neg(stateVars[i])); + } + + int distance = 0; + BDD_ID reachableSet = currentReachableSet; + + while (true) { + if (manager.and2(reachableSet, targetState) == targetState) { + break; + } + + BDD_ID nextStateImage = computeImageNextStates(reachableSet); + BDD_ID currentStateImage = computeImageCurrentStates(nextStateImage); + + reachableSet = manager.and2(reachableSet, currentStateImage); + distance++; + } + + return distance; + } + + + }; + +} +#endif diff --git a/reachability/ReachabilityInterface.h b/reachability/ReachabilityInterface.h new file mode 100644 index 00000000..3f579014 --- /dev/null +++ b/reachability/ReachabilityInterface.h @@ -0,0 +1,114 @@ +// +// Created by ludwig on 04.12.18 +// Refactored by deutschmann on 19.04.21 +// + +#ifndef VDSPROJECT_REACHABILITYINTERFACE_H +#define VDSPROJECT_REACHABILITYINTERFACE_H + +#include "../Manager.h" + +namespace ClassProject { + class ReachabilityInterface : public Manager { + protected: + unsigned int stateSize; + unsigned int inputSize; + public: + + ReachabilityInterface() = delete; // todo question: why do we have delete here? + virtual ~ReachabilityInterface() = default; + + /** + * The constructor initializes a default state machine with the given number of variables. + * All state variables should be created within the constructor. + * The default transition function for each state bit is the identity function. + * For the default initial state, all bits are assumed to be set to false. + * Hence, after calling the constructor, the only reachable state should be the initial state. + * + * @param stateSize vector specifying the number of bits + * @param inputSize number of boolean input bits, defaults to zero + * @throws std::runtime_error if stateSize is zero + */ + explicit ReachabilityInterface(unsigned int stateSize, unsigned int inputSize) {}; + + /** + * Returns a vector containing all state bits of the state machine. + * + * @returns vector with the BDD_ID of each state bit + */ + virtual const std::vector &getStates() const = 0; + + /** + * Returns a vector containing all input bits of the state machine. + * + * @returns vector with the BDD_ID of each input bit + */ + virtual const std::vector &getInputs() const = 0; + + /** + * This function computes whether a specific state is in the reachable state space or not. + * The input state is provided as a vector of boolean values for each state bit. + * + * @param stateVector provides the assignment for each state bit + * @returns true, if the given state is in the reachable state set + * @throws std::runtime_error if size does not match with number of state bits + */ + virtual bool isReachable(const std::vector &stateVector) = 0; + + /** + * This function computes the distance from the initial state to a specified state. + * i.e., minimum cycles it takes the FSM to transition to the specified state + * Example: Initial state s0 = 0; s1 = 0 + * Transition functions: s0' = !s1; s1' = s0 + * FSM transitions: + * {False, False} + * {True, False} + * {True, True} + * {False, True} + * {False, False} + * ... + * stateDistance return values: + * {False, False} -> 0 + * {True, False} -> 1 + * {True, True} -> 2 + * {False, True} -> 3 + * {False, False} -> 0 + * @param stateVector provides the assignment for each state bit + * @return the shortest distance to the initial state, -1 if unreachable + * @throws std::runtime_error if size does not match with number of state bits + */ + virtual int stateDistance(const std::vector &stateVector) = 0; + + /** + * Each state variable has a transition function. + * The transition function specifies the value of the state after the transition. + * The transition functions can be composed of state variables and inputs if present. + * Example: s0' = s0 XOR s1 + * Example: s1' = (s1 AND s0) OR i0 + * The next state for s0 is defined as XOR of the current values of the state bit s0 and s1 + * The next state for s1 is defined as the AND of the current values of s1 and s0 ORed with input i0 + * An exception is thrown, if + * - The number of given transition functions does not match the number of state bits + * - An unknown ID is provided + * + * @param transitionFunctions provide a transition function exactly for each state bit + * @throws std::runtime_error + */ + virtual void setTransitionFunctions(const std::vector &transitionFunctions) = 0; + + /** + * Provides an initial state for the system as a vector of boolean values. + * If the entry is true, the state bit is high. Otherwise, the bit is low. + * E.g. initial state not(s0) and not(s1) is transformed into {false,false}. + * + * @param stateVector provides the assignment for each state bit + * @throws std::runtime_error if size does not match with number of state bits + */ + virtual void setInitState(const std::vector &stateVector) = 0; + + }; +} + + +#endif + diff --git a/reachability/Tests.h b/reachability/Tests.h new file mode 100644 index 00000000..195ebff1 --- /dev/null +++ b/reachability/Tests.h @@ -0,0 +1,35 @@ +#ifndef VDSPROJECT_REACHABILITY_TESTS_H +#define VDSPROJECT_REACHABILITY_TESTS_H + +#include +#include "Reachability.h" + +using namespace ClassProject; + +struct ReachabilityTest : testing::Test { + + std::unique_ptr fsm2 = std::make_unique(2); + + std::vector stateVars2 = fsm2->getStates(); + std::vector transitionFunctions; + +}; + +TEST_F(ReachabilityTest, HowTo_Example) { /* NOLINT */ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->neg(s0)); // s0' = not(s0) + transitionFunctions.push_back(fsm2->neg(s1)); // s1' = not(s1) + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false,false}); + + ASSERT_TRUE(fsm2->isReachable({false, false})); + ASSERT_FALSE(fsm2->isReachable({false, true})); + ASSERT_FALSE(fsm2->isReachable({true, false})); + ASSERT_TRUE(fsm2->isReachable({true, true})); +} + +#endif diff --git a/reachability/main_test.cpp b/reachability/main_test.cpp new file mode 100644 index 00000000..20be062f --- /dev/null +++ b/reachability/main_test.cpp @@ -0,0 +1,12 @@ +// +// Created by ludwig on 22.11.16. +// + +#include "Tests.h" + + +int main(int argc, char* argv[]) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d5d49457..85169079 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,6 @@ add_subdirectory(test) add_subdirectory(bench) add_subdirectory(verify) +add_subdirectory(reachability) add_library(Manager Manager.cpp) From 9a4a402c7e517fe221a94a1c03769998db398875 Mon Sep 17 00:00:00 2001 From: notaprodev Date: Mon, 27 Jan 2025 22:09:42 +0100 Subject: [PATCH 17/21] change reachability dir location --- CMakeLists.txt | 4 ++-- {reachability => src/reachability}/CMakeLists.txt | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename {reachability => src/reachability}/CMakeLists.txt (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 34f8c198..62a46b8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,8 +47,8 @@ link_directories(${CMAKE_SOURCE_DIR}/src/bench/) include_directories(${CMAKE_SOURCE_DIR}/src/verify/) link_directories(${CMAKE_SOURCE_DIR}/src/verify/) -include_directories(${CMAKE_SOURCE_DIR}/reachability/) -link_directories(${CMAKE_SOURCE_DIR}/reachability/) +include_directories(${CMAKE_SOURCE_DIR}/src/reachability/) +link_directories(${CMAKE_SOURCE_DIR}/src/reachability/) add_subdirectory(src) add_executable(VDSProject src/main.cpp) diff --git a/reachability/CMakeLists.txt b/src/reachability/CMakeLists.txt similarity index 100% rename from reachability/CMakeLists.txt rename to src/reachability/CMakeLists.txt From 945fc4ba73eecd062e8d2d094d762c0f0c4c80f1 Mon Sep 17 00:00:00 2001 From: notaprodev Date: Mon, 27 Jan 2025 22:11:15 +0100 Subject: [PATCH 18/21] change reachability dir file location --- {reachability => src/reachability}/Reachability.cpp | 0 {reachability => src/reachability}/Reachability.h | 0 {reachability => src/reachability}/ReachabilityInterface.h | 0 {reachability => src/reachability}/Tests.h | 0 {reachability => src/reachability}/main_test.cpp | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename {reachability => src/reachability}/Reachability.cpp (100%) rename {reachability => src/reachability}/Reachability.h (100%) rename {reachability => src/reachability}/ReachabilityInterface.h (100%) rename {reachability => src/reachability}/Tests.h (100%) rename {reachability => src/reachability}/main_test.cpp (100%) diff --git a/reachability/Reachability.cpp b/src/reachability/Reachability.cpp similarity index 100% rename from reachability/Reachability.cpp rename to src/reachability/Reachability.cpp diff --git a/reachability/Reachability.h b/src/reachability/Reachability.h similarity index 100% rename from reachability/Reachability.h rename to src/reachability/Reachability.h diff --git a/reachability/ReachabilityInterface.h b/src/reachability/ReachabilityInterface.h similarity index 100% rename from reachability/ReachabilityInterface.h rename to src/reachability/ReachabilityInterface.h diff --git a/reachability/Tests.h b/src/reachability/Tests.h similarity index 100% rename from reachability/Tests.h rename to src/reachability/Tests.h diff --git a/reachability/main_test.cpp b/src/reachability/main_test.cpp similarity index 100% rename from reachability/main_test.cpp rename to src/reachability/main_test.cpp From eb19aa95dbbde88c46ef61d33f87c042ca4857d1 Mon Sep 17 00:00:00 2001 From: Andro Date: Mon, 3 Feb 2025 13:43:13 +0100 Subject: [PATCH 19/21] move classes --- CMakeLists.txt | 4 ++-- {reachability => src/reachability}/CMakeLists.txt | 0 {reachability => src/reachability}/Reachability.cpp | 0 {reachability => src/reachability}/Reachability.h | 0 {reachability => src/reachability}/ReachabilityInterface.h | 0 {reachability => src/reachability}/Tests.h | 0 {reachability => src/reachability}/main_test.cpp | 0 7 files changed, 2 insertions(+), 2 deletions(-) rename {reachability => src/reachability}/CMakeLists.txt (100%) rename {reachability => src/reachability}/Reachability.cpp (100%) rename {reachability => src/reachability}/Reachability.h (100%) rename {reachability => src/reachability}/ReachabilityInterface.h (100%) rename {reachability => src/reachability}/Tests.h (100%) rename {reachability => src/reachability}/main_test.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 34f8c198..62a46b8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,8 +47,8 @@ link_directories(${CMAKE_SOURCE_DIR}/src/bench/) include_directories(${CMAKE_SOURCE_DIR}/src/verify/) link_directories(${CMAKE_SOURCE_DIR}/src/verify/) -include_directories(${CMAKE_SOURCE_DIR}/reachability/) -link_directories(${CMAKE_SOURCE_DIR}/reachability/) +include_directories(${CMAKE_SOURCE_DIR}/src/reachability/) +link_directories(${CMAKE_SOURCE_DIR}/src/reachability/) add_subdirectory(src) add_executable(VDSProject src/main.cpp) diff --git a/reachability/CMakeLists.txt b/src/reachability/CMakeLists.txt similarity index 100% rename from reachability/CMakeLists.txt rename to src/reachability/CMakeLists.txt diff --git a/reachability/Reachability.cpp b/src/reachability/Reachability.cpp similarity index 100% rename from reachability/Reachability.cpp rename to src/reachability/Reachability.cpp diff --git a/reachability/Reachability.h b/src/reachability/Reachability.h similarity index 100% rename from reachability/Reachability.h rename to src/reachability/Reachability.h diff --git a/reachability/ReachabilityInterface.h b/src/reachability/ReachabilityInterface.h similarity index 100% rename from reachability/ReachabilityInterface.h rename to src/reachability/ReachabilityInterface.h diff --git a/reachability/Tests.h b/src/reachability/Tests.h similarity index 100% rename from reachability/Tests.h rename to src/reachability/Tests.h diff --git a/reachability/main_test.cpp b/src/reachability/main_test.cpp similarity index 100% rename from reachability/main_test.cpp rename to src/reachability/main_test.cpp From 1c464b2049cdb68f67554a6dc816f5d3ae5b1168 Mon Sep 17 00:00:00 2001 From: Andro Date: Mon, 3 Feb 2025 15:49:01 +0100 Subject: [PATCH 20/21] from reachability header to cpp --- src/reachability/CMakeLists.txt | 2 - src/reachability/Reachability.cpp | 111 +++++++++++++++++ src/reachability/Reachability.h | 147 ++++------------------- src/reachability/ReachabilityInterface.h | 10 +- 4 files changed, 140 insertions(+), 130 deletions(-) diff --git a/src/reachability/CMakeLists.txt b/src/reachability/CMakeLists.txt index 1361f52b..b430049c 100644 --- a/src/reachability/CMakeLists.txt +++ b/src/reachability/CMakeLists.txt @@ -5,5 +5,3 @@ cmake_minimum_required(VERSION 3.10) add_executable(VDSProject_reachability main_test.cpp Reachability.cpp Reachability.h Tests.h ReachabilityInterface.h) target_link_libraries(VDSProject_reachability Manager) target_link_libraries(VDSProject_reachability gtest gtest_main pthread) - - diff --git a/src/reachability/Reachability.cpp b/src/reachability/Reachability.cpp index 950c96c3..d049a280 100644 --- a/src/reachability/Reachability.cpp +++ b/src/reachability/Reachability.cpp @@ -1 +1,112 @@ #include "Reachability.h" +#include +#include + +using namespace std; + +using namespace ClassProject; + + Reachability::Reachability(unsigned int stateSize, unsigned int inputSize) { + + + if (stateSize == 0) { + throw std::invalid_argument("stateSize must be greater than zero"); + } + + for (int i = 0; i < stateSize; i++) { + stateVars.push_back(createVar("s" + std::to_string(i))); + nextStateVars.push_back(createVar("s'" + std::to_string(i))); + } + + for (int i = 0; i < inputSize; i++) { + inputVars.push_back(createVar("v" + std::to_string(i))); + } + + // create initial reachable state all 0 + // ~s1 & ~s2 & ~s3 ... + currentReachableSet = True(); + for (const auto &var : stateVars) { + currentReachableSet = and2(currentReachableSet, neg(var)); + } + + transitionRelation = 0; // todo needs to be done + } + + + const std::vector &Reachability::getStates() const { + return stateVars; + } + + const std::vector &Reachability::getInputs() const { + return inputVars; + } + + void Reachability::setInitState(const std::vector &stateVector) { + if (stateVector.size() != initState.size()) { + throw std::invalid_argument("stateSize must be equal to stateVector size"); + } + + currentReachableSet = True(); + for (int i = 0; i < stateVars.size(); i++) { + currentReachableSet = and2(currentReachableSet, stateVector[i] ? stateVars[i] : neg(stateVars[i])); + } + // as already mentioned 011 = ~s1&s2&s3 + } + + void Reachability::setTransitionFunctions(const std::vector &transitionFunctions) { + if (transitionFunctions.size() != stateVars.size()) { + throw std::invalid_argument("stateSize must be equal to transitionFunctions size"); + } + + transitionRelation = True(); + for (int i = 0; i < stateVars.size(); i++) { + // xnor relation = xnor(transitionFunctions[i], nextStateVars[i]) + BDD_ID relation = ite(transitionFunctions[i], nextStateVars[i], neg(nextStateVars[i])); + transitionRelation = and2(relation, transitionRelation); // multiplication + } + + } + + bool Reachability::isReachable(const std::vector &stateVector) { + if (stateVector.size() != stateVars.size()) { + throw std::invalid_argument("Reachability::isReachable()"); + } + + // create bdd for input stateVector + BDD_ID stateBDD = True(); + for (int i = 0; i < stateVars.size(); i++) { + stateBDD = and2(stateBDD, stateVector[i] ? stateVars[i] : neg(stateVars[i])); // this creates bdd for stateVector + } + + BDD_ID intersection = and2(currentReachableSet, stateBDD); + + return intersection == stateBDD; + } + + int Reachability::stateDistance(const std::vector &stateVector) { + if (!isReachable(stateVector)) { + return -1; + } + + BDD_ID targetState = True(); + for (int i = 0; i < stateVars.size(); i++) { + targetState = and2(targetState, stateVector[i] ? stateVars[i] : neg(stateVars[i])); + } + + int distance = 0; + BDD_ID reachableSet = currentReachableSet; + + while (true) { + if (and2(reachableSet, targetState) == targetState) { + break; + } + + BDD_ID nextStateImage = computeImageNextStates(reachableSet); + BDD_ID currentStateImage = computeImageCurrentStates(nextStateImage); + + reachableSet = and2(reachableSet, currentStateImage); + distance++; + } + + return distance; + } \ No newline at end of file diff --git a/src/reachability/Reachability.h b/src/reachability/Reachability.h index 9641d930..2d540d5e 100644 --- a/src/reachability/Reachability.h +++ b/src/reachability/Reachability.h @@ -6,54 +6,53 @@ namespace ClassProject { class Reachability : public ReachabilityInterface { - private: -// unsigned int stateSize; -// unsigned int inputSize; + std::vector stateVars; std::vector nextStateVars; std::vector inputVars; - BDD_ID transitionRelation; - BDD_ID currentReachableSet; + std::vector initState; + BDD_ID transitionRelation = False(); + BDD_ID currentReachableSet = False(); - Manager manager; + // Manager manager; BDD_ID computeImage(BDD_ID set) { // Compute image ∃x ∃s cS(s) ⋅ τ(s, x, s') - BDD_ID temp = manager.and2(set, transitionRelation); + BDD_ID temp = and2(set, transitionRelation); for (const auto &var : stateVars) { - temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + temp = or2(coFactorTrue(temp, var), coFactorFalse(temp, var)); } for (const auto &var : inputVars) { - temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + temp = or2(coFactorTrue(temp, var), coFactorFalse(temp, var)); } return temp; } BDD_ID computeImageNextStates(BDD_ID ¤tStates) { // Compute image ∃x ∃s cS(s) ⋅ τ(s, x, s') - BDD_ID temp = manager.and2(currentStates, transitionRelation); + BDD_ID temp = and2(currentStates, transitionRelation); for (const auto &var : stateVars) { - temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + temp = or2(coFactorTrue(temp, var), coFactorFalse(temp, var)); } for (const auto &var : inputVars) { - temp = manager.or2(manager.coFactorTrue(temp, var), manager.coFactorFalse(temp, var)); + temp = or2(coFactorTrue(temp, var), coFactorFalse(temp, var)); } return temp; } BDD_ID computeImageCurrentStates(BDD_ID &nextStatesImage) { - BDD_ID currentImage = nextStatesImage; + BDD_ID currentImage = nextStatesImage; - BDD_ID eqivalence = manager.True(); - for (int i = 0 ; i < stateSize ; i++) { - eqivalence = manager.and2(eqivalence, manager.xnor2(stateVars[i], nextStateVars[i])); + BDD_ID eqivalence = True(); + for (int i = 0 ; i < stateVars.size() ; i++) { + eqivalence = and2(eqivalence, xnor2(stateVars[i], nextStateVars[i])); } - currentImage = manager.and2(eqivalence, currentImage); + currentImage = and2(eqivalence, currentImage); for (const auto &var : nextStateVars) { - currentImage = manager.or2(manager.coFactorTrue(currentImage, var), manager.coFactorFalse(currentImage, var)); + currentImage = or2(coFactorTrue(currentImage, var), coFactorFalse(currentImage, var)); } return currentImage; @@ -62,111 +61,13 @@ namespace ClassProject { public: - Reachability(unsigned int stateSize, unsigned int inputSize = 0) - : ReachabilityInterface(stateSize, inputSize){ - - if (stateSize == 0) { - throw std::invalid_argument("stateSize must be greater than zero"); - } - - for (int i = 0; i < stateSize; i++) { - stateVars.push_back(manager.createVar("s" + std::to_string(i))); - nextStateVars.push_back(manager.createVar("s'" + std::to_string(i))); - } - - for (int i = 0; i < inputSize; i++) { - inputVars.push_back(manager.createVar("v" + std::to_string(i))); - } - - // create initial reachable state all 0 - // ~s1 & ~s2 & ~s3 ... - currentReachableSet = manager.True(); - for (const auto &var : stateVars) { - currentReachableSet = manager.and2(currentReachableSet, manager.neg(var)); - } - - transitionRelation = 0; // todo needs to be done - } - - const std::vector &getStates() const override { - return stateVars; - } - - const std::vector &getInputs() const override { - return inputVars; - } - - void setInitState(const std::vector &stateVector) override { - if (stateVector.size() != stateSize) { - throw std::invalid_argument("stateSize must be equal to stateVector size"); - } - - currentReachableSet = manager.True(); - for (int i = 0; i < stateSize; i++) { - currentReachableSet = manager.and2(currentReachableSet, stateVector[i] ? stateVars[i] : manager.neg(stateVars[i])); - } - // as already mentioned 011 = ~s1&s2&s3 - } - - void setTransitionFunctions(const std::vector &transitionFunctions) override { - if (transitionFunctions.size() != stateSize) { - throw std::invalid_argument("stateSize must be equal to transitionFunctions size"); - } - - transitionRelation = manager.True(); - for (int i = 0; i < stateSize; i++) { - // xnor relation = manager.xnor(transitionFunctions[i], nextStateVars[i]) - BDD_ID relation = manager.ite(transitionFunctions[i], nextStateVars[i], manager.neg(nextStateVars[i])); - transitionRelation = manager.and2(relation, transitionRelation); // multiplication - } - - } - - bool isReachable(const std::vector &stateVector) override { - if (stateVector.size() != stateSize) { - throw std::invalid_argument("Reachability::isReachable()"); - } - - // create bdd for input stateVector - BDD_ID stateBDD = manager.True(); - for (int i = 0; i < stateSize; i++) { - stateBDD = manager.and2(stateBDD, stateVector[i] ? stateVars[i] : manager.neg(stateVars[i])); // this creates bdd for stateVector - } - - BDD_ID intersection = manager.and2(currentReachableSet, stateBDD); - - return intersection == stateBDD; - } - - int stateDistance(const std::vector &stateVector) override { - if (!isReachable(stateVector)) { - return -1; - } - - BDD_ID targetState = manager.True(); - for (int i = 0; i < stateSize; i++) { - targetState = manager.and2(targetState, stateVector[i] ? stateVars[i] : manager.neg(stateVars[i])); - } - - int distance = 0; - BDD_ID reachableSet = currentReachableSet; - - while (true) { - if (manager.and2(reachableSet, targetState) == targetState) { - break; - } - - BDD_ID nextStateImage = computeImageNextStates(reachableSet); - BDD_ID currentStateImage = computeImageCurrentStates(nextStateImage); - - reachableSet = manager.and2(reachableSet, currentStateImage); - distance++; - } - - return distance; - } - - + Reachability(unsigned int stateSize, unsigned int inputSize = 0); + const std::vector &getStates() const override; + const std::vector &getInputs() const override; + bool isReachable(const std::vector &stateVector) override; + int stateDistance(const std::vector &stateVector) override; + void setTransitionFunctions(const std::vector &transitionFunctions) override; + void setInitState(const std::vector &stateVector) override; }; } diff --git a/src/reachability/ReachabilityInterface.h b/src/reachability/ReachabilityInterface.h index 3f579014..5ebc662f 100644 --- a/src/reachability/ReachabilityInterface.h +++ b/src/reachability/ReachabilityInterface.h @@ -10,12 +10,12 @@ namespace ClassProject { class ReachabilityInterface : public Manager { - protected: - unsigned int stateSize; - unsigned int inputSize; + //protected: + // unsigned int stateSize; + // unsigned int inputSize; public: - ReachabilityInterface() = delete; // todo question: why do we have delete here? + //ReachabilityInterface() = delete; // todo question: why do we have delete here? virtual ~ReachabilityInterface() = default; /** @@ -29,7 +29,7 @@ namespace ClassProject { * @param inputSize number of boolean input bits, defaults to zero * @throws std::runtime_error if stateSize is zero */ - explicit ReachabilityInterface(unsigned int stateSize, unsigned int inputSize) {}; + // explicit ReachabilityInterface(unsigned int stateSize, unsigned int inputSize) {}; /** * Returns a vector containing all state bits of the state machine. From d42e4596a099ecfae1491b2110d2a7ea6ecb6269 Mon Sep 17 00:00:00 2001 From: Andro Date: Mon, 3 Feb 2025 18:53:31 +0100 Subject: [PATCH 21/21] fixe some stuff and add tests --- src/reachability/Reachability.cpp | 25 +++- src/reachability/Tests.h | 223 +++++++++++++++++++++++++++++- 2 files changed, 243 insertions(+), 5 deletions(-) diff --git a/src/reachability/Reachability.cpp b/src/reachability/Reachability.cpp index d049a280..fdd760b1 100644 --- a/src/reachability/Reachability.cpp +++ b/src/reachability/Reachability.cpp @@ -42,7 +42,7 @@ using namespace ClassProject; } void Reachability::setInitState(const std::vector &stateVector) { - if (stateVector.size() != initState.size()) { + if (stateVector.size() != stateVars.size()) { throw std::invalid_argument("stateSize must be equal to stateVector size"); } @@ -69,8 +69,20 @@ using namespace ClassProject; bool Reachability::isReachable(const std::vector &stateVector) { if (stateVector.size() != stateVars.size()) { - throw std::invalid_argument("Reachability::isReachable()"); + throw std::runtime_error("size does not match with number of state bits"); } + + auto CrIt = currentReachableSet; + auto Crr = CrIt; + + + do { + Crr = CrIt; + auto imageNext = computeImageNextStates(Crr); + auto imageCurrent = computeImageCurrentStates(imageNext); + CrIt = or2(Crr, imageCurrent); + } + while (Crr != CrIt); // create bdd for input stateVector BDD_ID stateBDD = True(); @@ -78,12 +90,17 @@ using namespace ClassProject; stateBDD = and2(stateBDD, stateVector[i] ? stateVars[i] : neg(stateVars[i])); // this creates bdd for stateVector } - BDD_ID intersection = and2(currentReachableSet, stateBDD); + BDD_ID intersection = and2(Crr, stateBDD); return intersection == stateBDD; } int Reachability::stateDistance(const std::vector &stateVector) { + if (stateVars.size() != stateVector.size()) + { + throw std::runtime_error("size does not match with number of state bits"); + } + if (!isReachable(stateVector)) { return -1; } @@ -104,7 +121,7 @@ using namespace ClassProject; BDD_ID nextStateImage = computeImageNextStates(reachableSet); BDD_ID currentStateImage = computeImageCurrentStates(nextStateImage); - reachableSet = and2(reachableSet, currentStateImage); + reachableSet = or2(reachableSet, currentStateImage); distance++; } diff --git a/src/reachability/Tests.h b/src/reachability/Tests.h index 195ebff1..fe32b6a0 100644 --- a/src/reachability/Tests.h +++ b/src/reachability/Tests.h @@ -8,9 +8,10 @@ using namespace ClassProject; struct ReachabilityTest : testing::Test { - std::unique_ptr fsm2 = std::make_unique(2); + std::unique_ptr fsm2 = std::make_unique(2, 2); std::vector stateVars2 = fsm2->getStates(); + std::vector inputVars2 = fsm2->getInputs(); std::vector transitionFunctions; }; @@ -32,4 +33,224 @@ TEST_F(ReachabilityTest, HowTo_Example) { /* NOLINT */ ASSERT_TRUE(fsm2->isReachable({true, true})); } +TEST_F(ReachabilityTest, HowTo_Example2) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + BDD_ID i0 = inputVars2.at(0); + BDD_ID i1 = inputVars2.at(1); + + transitionFunctions.push_back(fsm2->or2(fsm2->neg(s0), i0)); // s0' = not(s0)+i0 + transitionFunctions.push_back(fsm2->neg(s1)); // s1' = not(s1) 1 0 + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false, false}); + + ASSERT_TRUE(fsm2->isReachable({false, false})); + ASSERT_TRUE(fsm2->isReachable({false, true})); + ASSERT_TRUE(fsm2->isReachable({true, false})); + ASSERT_TRUE(fsm2->isReachable({true, true})); +} + +TEST_F(ReachabilityTest, HowTo_Example3) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->xor2(s0, s1)); // s0' = s0 ^ s1 + transitionFunctions.push_back(fsm2->neg(s1)); // s1' = not(s1) + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false, false}); + + ASSERT_TRUE(fsm2->isReachable({false, false})); + ASSERT_TRUE(fsm2->isReachable({false, true})); + ASSERT_TRUE(fsm2->isReachable({true, false})); + ASSERT_TRUE(fsm2->isReachable({true, true})); +} + + +TEST_F(ReachabilityTest, HowTo_Example4) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->neg(s0)); + transitionFunctions.push_back(fsm2->neg(s1)); + // fsm2->setTransitionFunctions(transitionFunctions); + + // fsm2->setInitState({true, false}); + + ASSERT_TRUE(fsm2->isReachable({false, false})); + ASSERT_FALSE(fsm2->isReachable({false, true})); + ASSERT_FALSE(fsm2->isReachable({true, false})); + ASSERT_FALSE(fsm2->isReachable({true, true})); +} + +TEST_F(ReachabilityTest, HowTo_Example5) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->neg(s0)); + transitionFunctions.push_back(fsm2->neg(s1)); + // fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({true, false}); + + ASSERT_FALSE(fsm2->isReachable({false, false})); + ASSERT_FALSE(fsm2->isReachable({false, true})); + ASSERT_TRUE(fsm2->isReachable({true, false})); + ASSERT_FALSE(fsm2->isReachable({true, true})); +} + + +struct distanceReachabilityTest : testing::Test +{ + + std::unique_ptr fsm2 = std::make_unique(2, 1); + std::unique_ptr fsm3 = std::make_unique(3); + + std::vector stateVars2 = fsm2->getStates(); + std::vector inputVars = fsm2->getInputs(); + std::vector stateVars3 = fsm3->getStates(); + std::vector transitionFunctions; +}; + +TEST_F(distanceReachabilityTest, distance1) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->neg(s0)); + transitionFunctions.push_back(fsm2->neg(s1)); + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false, false}); + + EXPECT_EQ(fsm2->stateDistance({false, false}), 0); + EXPECT_EQ(fsm2->stateDistance({true, true}), 1); + EXPECT_EQ(fsm2->stateDistance({true, false}), -1); + EXPECT_EQ(fsm2->stateDistance({false, true}), -1); +} + +TEST_F(distanceReachabilityTest, distance2) +{ + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->neg(s1)); + transitionFunctions.push_back(s0); + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false, false}); + + EXPECT_EQ(fsm2->stateDistance({false, false}), 0); + EXPECT_EQ(fsm2->stateDistance({true, false}), 1); + EXPECT_EQ(fsm2->stateDistance({true, true}), 2); + EXPECT_EQ(fsm2->stateDistance({false, true}), 3); +} + +TEST_F(distanceReachabilityTest, distance3) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + BDD_ID i0 = inputVars.at(0); + + transitionFunctions.push_back(fsm2->or2(fsm2->neg(s0), i0)); // s0' = not(s0)+i0 + transitionFunctions.push_back(fsm2->neg(s1)); // s1' = not(s1) 1 0 + fsm2->setTransitionFunctions(transitionFunctions); + + fsm2->setInitState({false, false}); + + EXPECT_EQ(fsm2->stateDistance({false, false}), 0); + EXPECT_EQ(fsm2->stateDistance({true, true}), 1); + EXPECT_EQ(fsm2->stateDistance({true, false}), 2); + EXPECT_EQ(fsm2->stateDistance({false, true}), 3); +} + + +TEST_F(distanceReachabilityTest, distance5) +{ + + BDD_ID s0 = stateVars3.at(0); + BDD_ID s1 = stateVars3.at(1); + BDD_ID s2 = stateVars3.at(2); + + transitionFunctions.push_back(fsm3->or2(fsm3->and2(s0, fsm3->nand2(s1, s2)), fsm3->and2(s1, s2))); + transitionFunctions.push_back(fsm3->xor2(s1, s2)); + transitionFunctions.push_back(fsm3->neg(s2)); + fsm3->setTransitionFunctions(transitionFunctions); + + fsm3->setInitState({false, false, false}); + + EXPECT_EQ(fsm3->stateDistance({false, false, false}), 0); + EXPECT_EQ(fsm3->stateDistance({false, false, true}), 1); + EXPECT_EQ(fsm3->stateDistance({false, true, false}), 2); + EXPECT_EQ(fsm3->stateDistance({false, true, true}), 3); + EXPECT_EQ(fsm3->stateDistance({true, false, false}), 4); + EXPECT_EQ(fsm3->stateDistance({true, false, true}), 5); + EXPECT_EQ(fsm3->stateDistance({true, true, false}), 6); + EXPECT_EQ(fsm3->stateDistance({true, true, true}), 7); +} + +TEST_F(distanceReachabilityTest, distance6) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + + transitionFunctions.push_back(fsm2->xor2(s0, s1)); + transitionFunctions.push_back(fsm2->neg(s1)); + //fsm2->setTransitionFunctions(transitionFunctions); + + //fsm2->setInitState({false, false}); + + EXPECT_EQ(fsm2->stateDistance({false, false}), 0); + EXPECT_EQ(fsm2->stateDistance({false, true}), -1); + EXPECT_EQ(fsm2->stateDistance({true, false}), -1); + EXPECT_EQ(fsm2->stateDistance({true, true}), -1); +} + + +TEST_F(ReachabilityTest, isReachableRuntimeErrorTest) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + // throws std::runtime_error if size does not match with number of state bits + transitionFunctions.push_back(s0); + transitionFunctions.push_back(s1); + fsm2->setTransitionFunctions(transitionFunctions); + fsm2->setInitState({false, false}); + + // test for one missing state + EXPECT_THROW(fsm2->isReachable({false}), std::runtime_error); + // test for one additional state + EXPECT_THROW(fsm2->isReachable({false, false, false}), std::runtime_error); +} + +TEST_F(ReachabilityTest, stateDistanceRuntimeErrorTest) +{ + + BDD_ID s0 = stateVars2.at(0); + BDD_ID s1 = stateVars2.at(1); + // throws std::runtime_error if size does not match with number of state bits + transitionFunctions.push_back(s0); + transitionFunctions.push_back(s1); + fsm2->setTransitionFunctions(transitionFunctions); + fsm2->setInitState({false, false}); + // test for one missing state + EXPECT_THROW(fsm2->stateDistance({false}), std::runtime_error); + // test for one additional state + EXPECT_THROW(fsm2->stateDistance({false, false, false}), std::runtime_error); +} + + #endif