aboutsummaryrefslogtreecommitdiffstats
path: root/Domains
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-05-22 20:38:53 -0400
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-05-22 20:38:53 -0400
commitb7ed3353ba34dd837bfc15f7e48c30a2cdc7ce75 (patch)
tree53e966837f2403b47e62f978bc777d6fe93ce10a /Domains
parentVIATRA DSE and COIN-OR CBC implementations of CPS case study (diff)
downloadVIATRA-Generator-b7ed3353ba34dd837bfc15f7e48c30a2cdc7ce75.tar.gz
VIATRA-Generator-b7ed3353ba34dd837bfc15f7e48c30a2cdc7ce75.tar.zst
VIATRA-Generator-b7ed3353ba34dd837bfc15f7e48c30a2cdc7ce75.zip
MDEOptimiser implementation of CPS benchmark
Diffstat (limited to 'Domains')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.classpath9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF15
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin258
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin_diagram406
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.lp2483
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.xmi49
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/solution.txt55
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/.gitignore17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/internal/.gitignore16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.xtend5
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend31
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend85
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.xtend29
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.xtend24
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.xtend27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.xtend31
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.xtend33
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend33
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.xtend23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.xtend27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.xtend27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt41
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbinbin5693 -> 6363 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbinbin11104 -> 11104 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java22
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbinbin7626 -> 7626 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbinbin5189 -> 5189 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbinbin7336 -> 7336 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbinbin8807 -> 8807 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbinbin0 -> 4969 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbinbin0 -> 7559 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbinbin0 -> 3332 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbinbin0 -> 3440 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbinbin0 -> 3412 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbinbin0 -> 3546 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbinbin0 -> 3790 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbinbin0 -> 3797 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbinbin0 -> 2975 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbinbin0 -> 3131 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbinbin0 -> 3130 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore15
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java46
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedMoeaOptimisation.java54
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.java31
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedRun.java24
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java54
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java55
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java67
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java59
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java59
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java44
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java45
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java45
58 files changed, 4400 insertions, 6 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.classpath
index 8129e44b..faa51b1d 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.classpath
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.classpath
@@ -1,10 +1,15 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/> 3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="src" path="src"/>
5 <classpathentry kind="src" path="xtend-gen"/> 4 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
7 <attributes>
8 <attribute name="module" value="true"/>
9 </attributes>
10 </classpathentry>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 11 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="src" path="src-gen"/> 12 <classpathentry kind="src" path="src-gen"/>
13 <classpathentry kind="con" path="uk.ac.kcl.inf.mdeoptimiser.languages.ui.Mopt.MDEO_CONTAINER/dsl"/>
9 <classpathentry kind="output" path="bin"/> 14 <classpathentry kind="output" path="bin"/>
10</classpath> 15</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.settings/org.eclipse.core.resources.prefs b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..6d3062d3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
1eclipse.preferences.version=1
2encoding//model/cps.henshin=UTF-8
3encoding//model/cps.henshin_diagram=UTF-8
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF
index c06b7112..b94a3518 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF
@@ -23,7 +23,20 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
23 org.eclipse.viatra.dse;bundle-version="0.22.0", 23 org.eclipse.viatra.dse;bundle-version="0.22.0",
24 org.eclipse.viatra.dse.genetic;bundle-version="0.22.0", 24 org.eclipse.viatra.dse.genetic;bundle-version="0.22.0",
25 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", 25 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
26 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0" 26 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0",
27 uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0",
28 uk.ac.kcl.inf.mdeoptimiser.interfaces.cli;bundle-version="1.0.0",
29 org.eclipse.emf.henshin.interpreter;bundle-version="1.5.0",
30 uk.ac.kcl.inf.mdeoptimiser.libraries.rulegen;bundle-version="1.0.0",
31 org.sidiff.common;bundle-version="1.0.0",
32 org.sidiff.common.emf;bundle-version="1.0.0",
33 org.sidiff.common.emf.extensions;bundle-version="1.0.0",
34 org.moeaframework;bundle-version="2.13.0",
35 org.apache.commons.math3;bundle-version="3.6.1",
36 org.apache.commons.lang3;bundle-version="3.8.1",
37 com.google.inject;bundle-version="3.0.0",
38 org.sidiff.common.henshin;bundle-version="1.0.0",
39 org.sidiff.serge;bundle-version="1.0.0"
27Import-Package: org.apache.log4j 40Import-Package: org.apache.log4j
28Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.cps 41Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.cps
29Bundle-ActivationPolicy: lazy 42Bundle-ActivationPolicy: lazy
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin
new file mode 100644
index 00000000..21e35a56
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin
@@ -0,0 +1,258 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_rUcIgHyxEemI79hpD-o6pA">
3 <imports href="cps.ecore#/"/>
4 <units xsi:type="henshin:Rule" xmi:id="_ttviMHyxEemI79hpD-o6pA" name="createAppInstance">
5 <lhs xmi:id="_tuVYEHyxEemI79hpD-o6pA" name="Lhs">
6 <nodes xmi:id="_8OoYwHyxEemI79hpD-o6pA" name="req" outgoing="_APd7gHyzEemI79hpD-o6pA">
7 <type href="cps.ecore#//Requirement"/>
8 </nodes>
9 <nodes xmi:id="__cBFUHyyEemI79hpD-o6pA" incoming="_APd7gHyzEemI79hpD-o6pA">
10 <type href="cps.ecore#//ApplicationType"/>
11 </nodes>
12 <edges xmi:id="_APd7gHyzEemI79hpD-o6pA" source="_8OoYwHyxEemI79hpD-o6pA" target="__cBFUHyyEemI79hpD-o6pA">
13 <type href="cps.ecore#//Requirement/type"/>
14 </edges>
15 </lhs>
16 <rhs xmi:id="_txSlcHyxEemI79hpD-o6pA" name="Rhs">
17 <nodes xmi:id="_8OufYHyxEemI79hpD-o6pA" name="req" outgoing="_6YaokHyyEemI79hpD-o6pA _APd7gXyzEemI79hpD-o6pA">
18 <type href="cps.ecore#//Requirement"/>
19 </nodes>
20 <nodes xmi:id="_KIXvwHyyEemI79hpD-o6pA" incoming="_6YaokHyyEemI79hpD-o6pA _AoFP0HyzEemI79hpD-o6pA">
21 <type href="cps.ecore#//ApplicationInstance"/>
22 </nodes>
23 <nodes xmi:id="__cBFUXyyEemI79hpD-o6pA" incoming="_APd7gXyzEemI79hpD-o6pA" outgoing="_AoFP0HyzEemI79hpD-o6pA">
24 <type href="cps.ecore#//ApplicationType"/>
25 </nodes>
26 <edges xmi:id="_6YaokHyyEemI79hpD-o6pA" source="_8OufYHyxEemI79hpD-o6pA" target="_KIXvwHyyEemI79hpD-o6pA">
27 <type href="cps.ecore#//Requirement/instances"/>
28 </edges>
29 <edges xmi:id="_APd7gXyzEemI79hpD-o6pA" source="_8OufYHyxEemI79hpD-o6pA" target="__cBFUXyyEemI79hpD-o6pA">
30 <type href="cps.ecore#//Requirement/type"/>
31 </edges>
32 <edges xmi:id="_AoFP0HyzEemI79hpD-o6pA" source="__cBFUXyyEemI79hpD-o6pA" target="_KIXvwHyyEemI79hpD-o6pA">
33 <type href="cps.ecore#//ApplicationType/instances"/>
34 </edges>
35 </rhs>
36 <mappings xmi:id="_8OufYXyxEemI79hpD-o6pA" origin="_8OoYwHyxEemI79hpD-o6pA" image="_8OufYHyxEemI79hpD-o6pA"/>
37 <mappings xmi:id="__cBsYHyyEemI79hpD-o6pA" origin="__cBFUHyyEemI79hpD-o6pA" image="__cBFUXyyEemI79hpD-o6pA"/>
38 </units>
39 <units xsi:type="henshin:Rule" xmi:id="_M36NQHy0EemI79hpD-o6pA" name="createHostInstance">
40 <lhs xmi:id="_M4D-QHy0EemI79hpD-o6pA" name="Lhs">
41 <nodes xmi:id="_ZpwIEHy0EemI79hpD-o6pA">
42 <type href="cps.ecore#//HostType"/>
43 </nodes>
44 </lhs>
45 <rhs xmi:id="_M4HBkHy0EemI79hpD-o6pA" name="Rhs">
46 <nodes xmi:id="_Zp2OsHy0EemI79hpD-o6pA" outgoing="_faZ4EHy0EemI79hpD-o6pA">
47 <type href="cps.ecore#//HostType"/>
48 </nodes>
49 <nodes xmi:id="_bFDBYHy0EemI79hpD-o6pA" incoming="_faZ4EHy0EemI79hpD-o6pA">
50 <type href="cps.ecore#//HostInstance"/>
51 </nodes>
52 <edges xmi:id="_faZ4EHy0EemI79hpD-o6pA" source="_Zp2OsHy0EemI79hpD-o6pA" target="_bFDBYHy0EemI79hpD-o6pA">
53 <type href="cps.ecore#//HostType/instances"/>
54 </edges>
55 </rhs>
56 <mappings xmi:id="_Zp2OsXy0EemI79hpD-o6pA" origin="_ZpwIEHy0EemI79hpD-o6pA" image="_Zp2OsHy0EemI79hpD-o6pA"/>
57 </units>
58 <units xsi:type="henshin:Rule" xmi:id="_2yQIQHy0EemI79hpD-o6pA" name="deleteHostInstance">
59 <lhs xmi:id="_2yTLkHy0EemI79hpD-o6pA" name="Lhs">
60 <nodes xmi:id="_5jfg0Hy0EemI79hpD-o6pA" outgoing="_7KrhEHy0EemI79hpD-o6pA">
61 <type href="cps.ecore#//HostType"/>
62 </nodes>
63 <nodes xmi:id="_6FqZwHy0EemI79hpD-o6pA" incoming="_7KrhEHy0EemI79hpD-o6pA">
64 <type href="cps.ecore#//HostInstance"/>
65 </nodes>
66 <edges xmi:id="_7KrhEHy0EemI79hpD-o6pA" source="_5jfg0Hy0EemI79hpD-o6pA" target="_6FqZwHy0EemI79hpD-o6pA">
67 <type href="cps.ecore#//HostType/instances"/>
68 </edges>
69 <formula xsi:type="henshin:Not" xmi:id="__tHxgHy0EemI79hpD-o6pA">
70 <child xsi:type="henshin:NestedCondition" xmi:id="__tIYkHy0EemI79hpD-o6pA">
71 <conclusion xmi:id="__tIYkXy0EemI79hpD-o6pA">
72 <nodes xmi:id="_8lTsAHy0EemI79hpD-o6pA" outgoing="__HvMgHy0EemI79hpD-o6pA">
73 <type href="cps.ecore#//ApplicationInstance"/>
74 </nodes>
75 <nodes xmi:id="__tI_oHy0EemI79hpD-o6pA" incoming="__HvMgHy0EemI79hpD-o6pA _AuDqEHy1EemI79hpD-o6pA">
76 <type href="cps.ecore#//HostInstance"/>
77 </nodes>
78 <nodes xmi:id="_AuDDAHy1EemI79hpD-o6pA" outgoing="_AuDqEHy1EemI79hpD-o6pA">
79 <type href="cps.ecore#//HostType"/>
80 </nodes>
81 <edges xmi:id="__HvMgHy0EemI79hpD-o6pA" source="_8lTsAHy0EemI79hpD-o6pA" target="__tI_oHy0EemI79hpD-o6pA">
82 <type href="cps.ecore#//ApplicationInstance/allocatedTo"/>
83 </edges>
84 <edges xmi:id="_AuDqEHy1EemI79hpD-o6pA" source="_AuDDAHy1EemI79hpD-o6pA" target="__tI_oHy0EemI79hpD-o6pA">
85 <type href="cps.ecore#//HostType/instances"/>
86 </edges>
87 </conclusion>
88 <mappings xmi:id="__tI_oXy0EemI79hpD-o6pA" origin="_6FqZwHy0EemI79hpD-o6pA" image="__tI_oHy0EemI79hpD-o6pA"/>
89 <mappings xmi:id="_AuDDAXy1EemI79hpD-o6pA" origin="_5jfg0Hy0EemI79hpD-o6pA" image="_AuDDAHy1EemI79hpD-o6pA"/>
90 </child>
91 </formula>
92 </lhs>
93 <rhs xmi:id="_2yUZsHy0EemI79hpD-o6pA" name="Rhs">
94 <nodes xmi:id="_5jfg0Xy0EemI79hpD-o6pA">
95 <type href="cps.ecore#//HostType"/>
96 </nodes>
97 </rhs>
98 <mappings xmi:id="_5jfg0ny0EemI79hpD-o6pA" origin="_5jfg0Hy0EemI79hpD-o6pA" image="_5jfg0Xy0EemI79hpD-o6pA"/>
99 </units>
100 <units xsi:type="henshin:Rule" xmi:id="_W9WPYHy4EemI79hpD-o6pA" name="allocate">
101 <lhs xmi:id="_W9ag0Hy4EemI79hpD-o6pA" name="Lhs">
102 <nodes xmi:id="_QzQ2QHy5EemI79hpD-o6pA" outgoing="_hW5nsHy5EemI79hpD-o6pA">
103 <type href="cps.ecore#//Requirement"/>
104 </nodes>
105 <nodes xmi:id="_U88ocHy5EemI79hpD-o6pA" outgoing="_epK2IHy5EemI79hpD-o6pA _f_l2gHy5EemI79hpD-o6pA">
106 <type href="cps.ecore#//ApplicationType"/>
107 </nodes>
108 <nodes xmi:id="_WEdqIHy5EemI79hpD-o6pA" incoming="_f_l2gHy5EemI79hpD-o6pA _hW5nsHy5EemI79hpD-o6pA">
109 <type href="cps.ecore#//ApplicationInstance"/>
110 </nodes>
111 <nodes xmi:id="_XGRscHy5EemI79hpD-o6pA" incoming="_fGY9oHy5EemI79hpD-o6pA" outgoing="_fggGwHy5EemI79hpD-o6pA">
112 <type href="cps.ecore#//HostType"/>
113 </nodes>
114 <nodes xmi:id="_XfSpYHy5EemI79hpD-o6pA" incoming="_fggGwHy5EemI79hpD-o6pA">
115 <type href="cps.ecore#//HostInstance"/>
116 </nodes>
117 <nodes xmi:id="_YuZg0Hy5EemI79hpD-o6pA" incoming="_epK2IHy5EemI79hpD-o6pA" outgoing="_fGY9oHy5EemI79hpD-o6pA">
118 <type href="cps.ecore#//ResourceRequirement"/>
119 </nodes>
120 <edges xmi:id="_epK2IHy5EemI79hpD-o6pA" source="_U88ocHy5EemI79hpD-o6pA" target="_YuZg0Hy5EemI79hpD-o6pA">
121 <type href="cps.ecore#//ApplicationType/requirements"/>
122 </edges>
123 <edges xmi:id="_fGY9oHy5EemI79hpD-o6pA" source="_YuZg0Hy5EemI79hpD-o6pA" target="_XGRscHy5EemI79hpD-o6pA">
124 <type href="cps.ecore#//ResourceRequirement/hostType"/>
125 </edges>
126 <edges xmi:id="_fggGwHy5EemI79hpD-o6pA" source="_XGRscHy5EemI79hpD-o6pA" target="_XfSpYHy5EemI79hpD-o6pA">
127 <type href="cps.ecore#//HostType/instances"/>
128 </edges>
129 <edges xmi:id="_f_l2gHy5EemI79hpD-o6pA" source="_U88ocHy5EemI79hpD-o6pA" target="_WEdqIHy5EemI79hpD-o6pA">
130 <type href="cps.ecore#//ApplicationType/instances"/>
131 </edges>
132 <edges xmi:id="_hW5nsHy5EemI79hpD-o6pA" source="_QzQ2QHy5EemI79hpD-o6pA" target="_WEdqIHy5EemI79hpD-o6pA">
133 <type href="cps.ecore#//Requirement/instances"/>
134 </edges>
135 <formula xsi:type="henshin:Not" xmi:id="_jOTOMHy5EemI79hpD-o6pA">
136 <child xsi:type="henshin:NestedCondition" xmi:id="_jOTOMXy5EemI79hpD-o6pA">
137 <conclusion xmi:id="_jOTOMny5EemI79hpD-o6pA">
138 <nodes xmi:id="_jOT1QHy5EemI79hpD-o6pA" outgoing="_jOT1RHy5EemI79hpD-o6pA _mLtagHy5EemI79hpD-o6pA">
139 <type href="cps.ecore#//Requirement"/>
140 </nodes>
141 <nodes xmi:id="_jOT1Qny5EemI79hpD-o6pA" incoming="_jOT1RHy5EemI79hpD-o6pA _jOUcUny5EemI79hpD-o6pA">
142 <type href="cps.ecore#//ApplicationInstance"/>
143 </nodes>
144 <nodes xmi:id="_jOT1RXy5EemI79hpD-o6pA" outgoing="_jOUcUXy5EemI79hpD-o6pA _jOUcUny5EemI79hpD-o6pA">
145 <type href="cps.ecore#//ApplicationType"/>
146 </nodes>
147 <nodes xmi:id="_jOT1R3y5EemI79hpD-o6pA" incoming="_jOUcUXy5EemI79hpD-o6pA" outgoing="_jOUcVXy5EemI79hpD-o6pA">
148 <type href="cps.ecore#//ResourceRequirement"/>
149 </nodes>
150 <nodes xmi:id="_jOUcU3y5EemI79hpD-o6pA" incoming="_jOUcVXy5EemI79hpD-o6pA" outgoing="_jOVDYny5EemI79hpD-o6pA">
151 <type href="cps.ecore#//HostType"/>
152 </nodes>
153 <nodes xmi:id="_jOVDYHy5EemI79hpD-o6pA" incoming="_jOVDYny5EemI79hpD-o6pA _l0ud4Hy5EemI79hpD-o6pA">
154 <type href="cps.ecore#//HostInstance"/>
155 </nodes>
156 <nodes xmi:id="_iu3gMHy5EemI79hpD-o6pA" incoming="_mLtagHy5EemI79hpD-o6pA" outgoing="_l0ud4Hy5EemI79hpD-o6pA">
157 <type href="cps.ecore#//ApplicationInstance"/>
158 </nodes>
159 <edges xmi:id="_jOT1RHy5EemI79hpD-o6pA" source="_jOT1QHy5EemI79hpD-o6pA" target="_jOT1Qny5EemI79hpD-o6pA">
160 <type href="cps.ecore#//Requirement/instances"/>
161 </edges>
162 <edges xmi:id="_jOUcUXy5EemI79hpD-o6pA" source="_jOT1RXy5EemI79hpD-o6pA" target="_jOT1R3y5EemI79hpD-o6pA">
163 <type href="cps.ecore#//ApplicationType/requirements"/>
164 </edges>
165 <edges xmi:id="_jOUcUny5EemI79hpD-o6pA" source="_jOT1RXy5EemI79hpD-o6pA" target="_jOT1Qny5EemI79hpD-o6pA">
166 <type href="cps.ecore#//ApplicationType/instances"/>
167 </edges>
168 <edges xmi:id="_jOUcVXy5EemI79hpD-o6pA" source="_jOT1R3y5EemI79hpD-o6pA" target="_jOUcU3y5EemI79hpD-o6pA">
169 <type href="cps.ecore#//ResourceRequirement/hostType"/>
170 </edges>
171 <edges xmi:id="_jOVDYny5EemI79hpD-o6pA" source="_jOUcU3y5EemI79hpD-o6pA" target="_jOVDYHy5EemI79hpD-o6pA">
172 <type href="cps.ecore#//HostType/instances"/>
173 </edges>
174 <edges xmi:id="_l0ud4Hy5EemI79hpD-o6pA" source="_iu3gMHy5EemI79hpD-o6pA" target="_jOVDYHy5EemI79hpD-o6pA">
175 <type href="cps.ecore#//ApplicationInstance/allocatedTo"/>
176 </edges>
177 <edges xmi:id="_mLtagHy5EemI79hpD-o6pA" source="_jOT1QHy5EemI79hpD-o6pA" target="_iu3gMHy5EemI79hpD-o6pA">
178 <type href="cps.ecore#//Requirement/instances"/>
179 </edges>
180 </conclusion>
181 <mappings xmi:id="_jOT1QXy5EemI79hpD-o6pA" origin="_QzQ2QHy5EemI79hpD-o6pA" image="_jOT1QHy5EemI79hpD-o6pA"/>
182 <mappings xmi:id="_jOT1Q3y5EemI79hpD-o6pA" origin="_WEdqIHy5EemI79hpD-o6pA" image="_jOT1Qny5EemI79hpD-o6pA"/>
183 <mappings xmi:id="_jOT1Rny5EemI79hpD-o6pA" origin="_U88ocHy5EemI79hpD-o6pA" image="_jOT1RXy5EemI79hpD-o6pA"/>
184 <mappings xmi:id="_jOUcUHy5EemI79hpD-o6pA" origin="_YuZg0Hy5EemI79hpD-o6pA" image="_jOT1R3y5EemI79hpD-o6pA"/>
185 <mappings xmi:id="_jOUcVHy5EemI79hpD-o6pA" origin="_XGRscHy5EemI79hpD-o6pA" image="_jOUcU3y5EemI79hpD-o6pA"/>
186 <mappings xmi:id="_jOVDYXy5EemI79hpD-o6pA" origin="_XfSpYHy5EemI79hpD-o6pA" image="_jOVDYHy5EemI79hpD-o6pA"/>
187 </child>
188 </formula>
189 </lhs>
190 <rhs xmi:id="_W9bH4Hy4EemI79hpD-o6pA" name="Rhs">
191 <nodes xmi:id="_QzT5kHy5EemI79hpD-o6pA" outgoing="_hW5nsXy5EemI79hpD-o6pA">
192 <type href="cps.ecore#//Requirement"/>
193 </nodes>
194 <nodes xmi:id="_U89PgHy5EemI79hpD-o6pA" outgoing="_epK2IXy5EemI79hpD-o6pA _f_l2gXy5EemI79hpD-o6pA">
195 <type href="cps.ecore#//ApplicationType"/>
196 </nodes>
197 <nodes xmi:id="_WEdqIXy5EemI79hpD-o6pA" incoming="_f_l2gXy5EemI79hpD-o6pA _hW5nsXy5EemI79hpD-o6pA" outgoing="_gh0Z0Hy5EemI79hpD-o6pA">
198 <type href="cps.ecore#//ApplicationInstance"/>
199 </nodes>
200 <nodes xmi:id="_XGRscXy5EemI79hpD-o6pA" incoming="_fGY9oXy5EemI79hpD-o6pA" outgoing="_fggGwXy5EemI79hpD-o6pA">
201 <type href="cps.ecore#//HostType"/>
202 </nodes>
203 <nodes xmi:id="_XfSpYXy5EemI79hpD-o6pA" incoming="_fggGwXy5EemI79hpD-o6pA _gh0Z0Hy5EemI79hpD-o6pA">
204 <type href="cps.ecore#//HostInstance"/>
205 </nodes>
206 <nodes xmi:id="_YuZg0Xy5EemI79hpD-o6pA" incoming="_epK2IXy5EemI79hpD-o6pA" outgoing="_fGY9oXy5EemI79hpD-o6pA">
207 <type href="cps.ecore#//ResourceRequirement"/>
208 </nodes>
209 <edges xmi:id="_epK2IXy5EemI79hpD-o6pA" source="_U89PgHy5EemI79hpD-o6pA" target="_YuZg0Xy5EemI79hpD-o6pA">
210 <type href="cps.ecore#//ApplicationType/requirements"/>
211 </edges>
212 <edges xmi:id="_fGY9oXy5EemI79hpD-o6pA" source="_YuZg0Xy5EemI79hpD-o6pA" target="_XGRscXy5EemI79hpD-o6pA">
213 <type href="cps.ecore#//ResourceRequirement/hostType"/>
214 </edges>
215 <edges xmi:id="_fggGwXy5EemI79hpD-o6pA" source="_XGRscXy5EemI79hpD-o6pA" target="_XfSpYXy5EemI79hpD-o6pA">
216 <type href="cps.ecore#//HostType/instances"/>
217 </edges>
218 <edges xmi:id="_f_l2gXy5EemI79hpD-o6pA" source="_U89PgHy5EemI79hpD-o6pA" target="_WEdqIXy5EemI79hpD-o6pA">
219 <type href="cps.ecore#//ApplicationType/instances"/>
220 </edges>
221 <edges xmi:id="_gh0Z0Hy5EemI79hpD-o6pA" source="_WEdqIXy5EemI79hpD-o6pA" target="_XfSpYXy5EemI79hpD-o6pA">
222 <type href="cps.ecore#//ApplicationInstance/allocatedTo"/>
223 </edges>
224 <edges xmi:id="_hW5nsXy5EemI79hpD-o6pA" source="_QzT5kHy5EemI79hpD-o6pA" target="_WEdqIXy5EemI79hpD-o6pA">
225 <type href="cps.ecore#//Requirement/instances"/>
226 </edges>
227 </rhs>
228 <mappings xmi:id="_QzUgoHy5EemI79hpD-o6pA" origin="_QzQ2QHy5EemI79hpD-o6pA" image="_QzT5kHy5EemI79hpD-o6pA"/>
229 <mappings xmi:id="_U89PgXy5EemI79hpD-o6pA" origin="_U88ocHy5EemI79hpD-o6pA" image="_U89PgHy5EemI79hpD-o6pA"/>
230 <mappings xmi:id="_WEdqIny5EemI79hpD-o6pA" origin="_WEdqIHy5EemI79hpD-o6pA" image="_WEdqIXy5EemI79hpD-o6pA"/>
231 <mappings xmi:id="_XGRscny5EemI79hpD-o6pA" origin="_XGRscHy5EemI79hpD-o6pA" image="_XGRscXy5EemI79hpD-o6pA"/>
232 <mappings xmi:id="_XfSpYny5EemI79hpD-o6pA" origin="_XfSpYHy5EemI79hpD-o6pA" image="_XfSpYXy5EemI79hpD-o6pA"/>
233 <mappings xmi:id="_YuZg0ny5EemI79hpD-o6pA" origin="_YuZg0Hy5EemI79hpD-o6pA" image="_YuZg0Xy5EemI79hpD-o6pA"/>
234 </units>
235 <units xsi:type="henshin:Rule" xmi:id="_1VgrMHy5EemI79hpD-o6pA" name="unallocate">
236 <lhs xmi:id="_1Vk8oHy5EemI79hpD-o6pA" name="Lhs">
237 <nodes xmi:id="_OdtesHy6EemI79hpD-o6pA" outgoing="_UpBxcHy6EemI79hpD-o6pA">
238 <type href="cps.ecore#//ApplicationInstance"/>
239 </nodes>
240 <nodes xmi:id="_PGadcHy6EemI79hpD-o6pA" incoming="_UpBxcHy6EemI79hpD-o6pA">
241 <type href="cps.ecore#//HostInstance"/>
242 </nodes>
243 <edges xmi:id="_UpBxcHy6EemI79hpD-o6pA" source="_OdtesHy6EemI79hpD-o6pA" target="_PGadcHy6EemI79hpD-o6pA">
244 <type href="cps.ecore#//ApplicationInstance/allocatedTo"/>
245 </edges>
246 </lhs>
247 <rhs xmi:id="_1VmKwHy5EemI79hpD-o6pA" name="Rhs">
248 <nodes xmi:id="_OdwiAHy6EemI79hpD-o6pA">
249 <type href="cps.ecore#//ApplicationInstance"/>
250 </nodes>
251 <nodes xmi:id="_PGadcXy6EemI79hpD-o6pA">
252 <type href="cps.ecore#//HostInstance"/>
253 </nodes>
254 </rhs>
255 <mappings xmi:id="_OdwiAXy6EemI79hpD-o6pA" origin="_OdtesHy6EemI79hpD-o6pA" image="_OdwiAHy6EemI79hpD-o6pA"/>
256 <mappings xmi:id="_PGadcny6EemI79hpD-o6pA" origin="_PGadcHy6EemI79hpD-o6pA" image="_PGadcXy6EemI79hpD-o6pA"/>
257 </units>
258</henshin:Module>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin_diagram b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin_diagram
new file mode 100644
index 00000000..54bc3a6d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/model/cps.henshin_diagram
@@ -0,0 +1,406 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_rVAwQHyxEemI79hpD-o6pA" type="Henshin" name="cps.henshin_diagram" measurementUnit="Pixel">
3 <children xmi:type="notation:Shape" xmi:id="_0PszUHyxEemI79hpD-o6pA" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
4 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5CPVQHyxEemI79hpD-o6pA" source="defaultAction">
5 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5CP8UHyxEemI79hpD-o6pA" key="value" value="preserve"/>
6 </eAnnotations>
7 <children xmi:type="notation:DecorationNode" xmi:id="_0PszUnyxEemI79hpD-o6pA" type="5001"/>
8 <children xmi:type="notation:DecorationNode" xmi:id="_0PtaYHyxEemI79hpD-o6pA" type="7001">
9 <children xmi:type="notation:Shape" xmi:id="_8Ow7oHyxEemI79hpD-o6pA" type="3001" fontName="Noto Sans">
10 <children xmi:type="notation:DecorationNode" xmi:id="_8OxisXyxEemI79hpD-o6pA" type="5002"/>
11 <children xmi:type="notation:DecorationNode" xmi:id="_8OxisnyxEemI79hpD-o6pA" type="5003"/>
12 <children xmi:type="notation:DecorationNode" xmi:id="_8OyJwHyxEemI79hpD-o6pA" type="7002">
13 <styles xmi:type="notation:SortingStyle" xmi:id="_8OyJwXyxEemI79hpD-o6pA"/>
14 <styles xmi:type="notation:FilteringStyle" xmi:id="_8OyJwnyxEemI79hpD-o6pA"/>
15 </children>
16 <element xmi:type="henshin:Node" href="cps.henshin#_8OoYwHyxEemI79hpD-o6pA"/>
17 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8OxisHyxEemI79hpD-o6pA" x="28" y="27"/>
18 </children>
19 <children xmi:type="notation:Shape" xmi:id="_KIaMAHyyEemI79hpD-o6pA" type="3001" fontName="Noto Sans">
20 <children xmi:type="notation:DecorationNode" xmi:id="_KIaMAnyyEemI79hpD-o6pA" type="5002"/>
21 <children xmi:type="notation:DecorationNode" xmi:id="_KIaMA3yyEemI79hpD-o6pA" type="5003"/>
22 <children xmi:type="notation:DecorationNode" xmi:id="_KIaMBHyyEemI79hpD-o6pA" type="7002">
23 <styles xmi:type="notation:SortingStyle" xmi:id="_KIaMBXyyEemI79hpD-o6pA"/>
24 <styles xmi:type="notation:FilteringStyle" xmi:id="_KIaMBnyyEemI79hpD-o6pA"/>
25 </children>
26 <element xmi:type="henshin:Node" href="cps.henshin#_KIXvwHyyEemI79hpD-o6pA"/>
27 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KIaMAXyyEemI79hpD-o6pA" x="248" y="169"/>
28 </children>
29 <children xmi:type="notation:Shape" xmi:id="__cDhkHyyEemI79hpD-o6pA" type="3001" fontName="Noto Sans">
30 <children xmi:type="notation:DecorationNode" xmi:id="__cEIoXyyEemI79hpD-o6pA" type="5002"/>
31 <children xmi:type="notation:DecorationNode" xmi:id="__cEIonyyEemI79hpD-o6pA" type="5003"/>
32 <children xmi:type="notation:DecorationNode" xmi:id="__cEIo3yyEemI79hpD-o6pA" type="7002">
33 <styles xmi:type="notation:SortingStyle" xmi:id="__cEIpHyyEemI79hpD-o6pA"/>
34 <styles xmi:type="notation:FilteringStyle" xmi:id="__cEIpXyyEemI79hpD-o6pA"/>
35 </children>
36 <element xmi:type="henshin:Node" href="cps.henshin#__cBFUHyyEemI79hpD-o6pA"/>
37 <layoutConstraint xmi:type="notation:Bounds" xmi:id="__cEIoHyyEemI79hpD-o6pA" x="259" y="17"/>
38 </children>
39 </children>
40 <element xmi:type="henshin:Rule" href="cps.henshin#_ttviMHyxEemI79hpD-o6pA"/>
41 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0PszUXyxEemI79hpD-o6pA" x="22" y="22" width="407" height="284"/>
42 </children>
43 <children xmi:type="notation:Shape" xmi:id="_M4A68Hy0EemI79hpD-o6pA" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
44 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Zp21wHy0EemI79hpD-o6pA" source="defaultAction">
45 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Zp21wXy0EemI79hpD-o6pA" key="value" value="preserve"/>
46 </eAnnotations>
47 <children xmi:type="notation:DecorationNode" xmi:id="_M4BiAHy0EemI79hpD-o6pA" type="5001"/>
48 <children xmi:type="notation:DecorationNode" xmi:id="_M4CJEHy0EemI79hpD-o6pA" type="7001">
49 <children xmi:type="notation:Shape" xmi:id="_Zp4q8Hy0EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
50 <children xmi:type="notation:DecorationNode" xmi:id="_Zp4q8ny0EemI79hpD-o6pA" type="5002"/>
51 <children xmi:type="notation:DecorationNode" xmi:id="_Zp4q83y0EemI79hpD-o6pA" type="5003"/>
52 <children xmi:type="notation:DecorationNode" xmi:id="_Zp4q9Hy0EemI79hpD-o6pA" type="7002">
53 <styles xmi:type="notation:SortingStyle" xmi:id="_Zp4q9Xy0EemI79hpD-o6pA"/>
54 <styles xmi:type="notation:FilteringStyle" xmi:id="_Zp4q9ny0EemI79hpD-o6pA"/>
55 </children>
56 <element xmi:type="henshin:Node" href="cps.henshin#_ZpwIEHy0EemI79hpD-o6pA"/>
57 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Zp4q8Xy0EemI79hpD-o6pA" x="55" y="8"/>
58 </children>
59 <children xmi:type="notation:Shape" xmi:id="_bFEPgHy0EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
60 <children xmi:type="notation:DecorationNode" xmi:id="_bFEPgny0EemI79hpD-o6pA" type="5002"/>
61 <children xmi:type="notation:DecorationNode" xmi:id="_bFEPg3y0EemI79hpD-o6pA" type="5003"/>
62 <children xmi:type="notation:DecorationNode" xmi:id="_bFEPhHy0EemI79hpD-o6pA" type="7002">
63 <styles xmi:type="notation:SortingStyle" xmi:id="_bFEPhXy0EemI79hpD-o6pA"/>
64 <styles xmi:type="notation:FilteringStyle" xmi:id="_bFEPhny0EemI79hpD-o6pA"/>
65 </children>
66 <element xmi:type="henshin:Node" href="cps.henshin#_bFDBYHy0EemI79hpD-o6pA"/>
67 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bFEPgXy0EemI79hpD-o6pA" x="47" y="102"/>
68 </children>
69 </children>
70 <element xmi:type="henshin:Rule" href="cps.henshin#_M36NQHy0EemI79hpD-o6pA"/>
71 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M4A68Xy0EemI79hpD-o6pA" x="22" y="327" width="191" height="199"/>
72 </children>
73 <children xmi:type="notation:Shape" xmi:id="_2ySkgHy0EemI79hpD-o6pA" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
74 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5jgH4Hy0EemI79hpD-o6pA" source="defaultAction">
75 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jgH4Xy0EemI79hpD-o6pA" key="value" value="preserve"/>
76 </eAnnotations>
77 <children xmi:type="notation:DecorationNode" xmi:id="_2ySkgny0EemI79hpD-o6pA" type="5001"/>
78 <children xmi:type="notation:DecorationNode" xmi:id="_2ySkg3y0EemI79hpD-o6pA" type="7001">
79 <children xmi:type="notation:Shape" xmi:id="_5jh9EHy0EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
80 <children xmi:type="notation:DecorationNode" xmi:id="_5jikIHy0EemI79hpD-o6pA" type="5002"/>
81 <children xmi:type="notation:DecorationNode" xmi:id="_5jikIXy0EemI79hpD-o6pA" type="5003"/>
82 <children xmi:type="notation:DecorationNode" xmi:id="_5jikIny0EemI79hpD-o6pA" type="7002">
83 <styles xmi:type="notation:SortingStyle" xmi:id="_5jikI3y0EemI79hpD-o6pA"/>
84 <styles xmi:type="notation:FilteringStyle" xmi:id="_5jikJHy0EemI79hpD-o6pA"/>
85 </children>
86 <element xmi:type="henshin:Node" href="cps.henshin#_5jfg0Hy0EemI79hpD-o6pA"/>
87 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5jh9EXy0EemI79hpD-o6pA" x="46" y="17"/>
88 </children>
89 <children xmi:type="notation:Shape" xmi:id="_6FsO8Hy0EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
90 <children xmi:type="notation:DecorationNode" xmi:id="_6Fs2AHy0EemI79hpD-o6pA" type="5002"/>
91 <children xmi:type="notation:DecorationNode" xmi:id="_6Fs2AXy0EemI79hpD-o6pA" type="5003"/>
92 <children xmi:type="notation:DecorationNode" xmi:id="_6Fs2Any0EemI79hpD-o6pA" type="7002">
93 <styles xmi:type="notation:SortingStyle" xmi:id="_6Fs2A3y0EemI79hpD-o6pA"/>
94 <styles xmi:type="notation:FilteringStyle" xmi:id="_6Fs2BHy0EemI79hpD-o6pA"/>
95 </children>
96 <element xmi:type="henshin:Node" href="cps.henshin#_6FqZwHy0EemI79hpD-o6pA"/>
97 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6FsO8Xy0EemI79hpD-o6pA" x="47" y="102"/>
98 </children>
99 <children xmi:type="notation:Shape" xmi:id="_8lWIQHy0EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
100 <children xmi:type="notation:DecorationNode" xmi:id="_8lWIQny0EemI79hpD-o6pA" type="5002"/>
101 <children xmi:type="notation:DecorationNode" xmi:id="_8lWIQ3y0EemI79hpD-o6pA" type="5003"/>
102 <children xmi:type="notation:DecorationNode" xmi:id="_8lWvUHy0EemI79hpD-o6pA" type="7002">
103 <styles xmi:type="notation:SortingStyle" xmi:id="_8lWvUXy0EemI79hpD-o6pA"/>
104 <styles xmi:type="notation:FilteringStyle" xmi:id="_8lWvUny0EemI79hpD-o6pA"/>
105 </children>
106 <element xmi:type="henshin:Node" href="cps.henshin#_8lTsAHy0EemI79hpD-o6pA"/>
107 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8lWIQXy0EemI79hpD-o6pA" x="202" y="102"/>
108 </children>
109 </children>
110 <element xmi:type="henshin:Rule" href="cps.henshin#_2yQIQHy0EemI79hpD-o6pA"/>
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ySkgXy0EemI79hpD-o6pA" x="236" y="327" width="345" height="199"/>
112 </children>
113 <children xmi:type="notation:Shape" xmi:id="_W9ZSsHy4EemI79hpD-o6pA" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
114 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QzUgoXy5EemI79hpD-o6pA" source="defaultAction">
115 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QzUgony5EemI79hpD-o6pA" key="value" value="preserve"/>
116 </eAnnotations>
117 <children xmi:type="notation:DecorationNode" xmi:id="_W9ZSsny4EemI79hpD-o6pA" type="5001"/>
118 <children xmi:type="notation:DecorationNode" xmi:id="_W9ZSs3y4EemI79hpD-o6pA" type="7001">
119 <children xmi:type="notation:Shape" xmi:id="_QzVuwHy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
120 <children xmi:type="notation:DecorationNode" xmi:id="_QzVuwny5EemI79hpD-o6pA" type="5002"/>
121 <children xmi:type="notation:DecorationNode" xmi:id="_QzVuw3y5EemI79hpD-o6pA" type="5003"/>
122 <children xmi:type="notation:DecorationNode" xmi:id="_QzVuxHy5EemI79hpD-o6pA" type="7002">
123 <styles xmi:type="notation:SortingStyle" xmi:id="_QzVuxXy5EemI79hpD-o6pA"/>
124 <styles xmi:type="notation:FilteringStyle" xmi:id="_QzVuxny5EemI79hpD-o6pA"/>
125 </children>
126 <element xmi:type="henshin:Node" href="cps.henshin#_QzQ2QHy5EemI79hpD-o6pA"/>
127 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QzVuwXy5EemI79hpD-o6pA" x="16" y="162"/>
128 </children>
129 <children xmi:type="notation:Shape" xmi:id="_U8_rwHy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
130 <children xmi:type="notation:DecorationNode" xmi:id="_U9AS0Hy5EemI79hpD-o6pA" type="5002"/>
131 <children xmi:type="notation:DecorationNode" xmi:id="_U9AS0Xy5EemI79hpD-o6pA" type="5003"/>
132 <children xmi:type="notation:DecorationNode" xmi:id="_U9AS0ny5EemI79hpD-o6pA" type="7002">
133 <styles xmi:type="notation:SortingStyle" xmi:id="_U9AS03y5EemI79hpD-o6pA"/>
134 <styles xmi:type="notation:FilteringStyle" xmi:id="_U9AS1Hy5EemI79hpD-o6pA"/>
135 </children>
136 <element xmi:type="henshin:Node" href="cps.henshin#_U88ocHy5EemI79hpD-o6pA"/>
137 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U8_rwXy5EemI79hpD-o6pA" x="177" y="11"/>
138 </children>
139 <children xmi:type="notation:Shape" xmi:id="_WEe4QHy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
140 <children xmi:type="notation:DecorationNode" xmi:id="_WEe4Qny5EemI79hpD-o6pA" type="5002"/>
141 <children xmi:type="notation:DecorationNode" xmi:id="_WEe4Q3y5EemI79hpD-o6pA" type="5003"/>
142 <children xmi:type="notation:DecorationNode" xmi:id="_WEe4RHy5EemI79hpD-o6pA" type="7002">
143 <styles xmi:type="notation:SortingStyle" xmi:id="_WEe4RXy5EemI79hpD-o6pA"/>
144 <styles xmi:type="notation:FilteringStyle" xmi:id="_WEe4Rny5EemI79hpD-o6pA"/>
145 </children>
146 <element xmi:type="henshin:Node" href="cps.henshin#_WEdqIHy5EemI79hpD-o6pA"/>
147 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WEe4QXy5EemI79hpD-o6pA" x="166" y="117"/>
148 </children>
149 <children xmi:type="notation:Shape" xmi:id="_XGUIsHy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
150 <children xmi:type="notation:DecorationNode" xmi:id="_XGUIsny5EemI79hpD-o6pA" type="5002"/>
151 <children xmi:type="notation:DecorationNode" xmi:id="_XGUvwHy5EemI79hpD-o6pA" type="5003"/>
152 <children xmi:type="notation:DecorationNode" xmi:id="_XGUvwXy5EemI79hpD-o6pA" type="7002">
153 <styles xmi:type="notation:SortingStyle" xmi:id="_XGUvwny5EemI79hpD-o6pA"/>
154 <styles xmi:type="notation:FilteringStyle" xmi:id="_XGUvw3y5EemI79hpD-o6pA"/>
155 </children>
156 <element xmi:type="henshin:Node" href="cps.henshin#_XGRscHy5EemI79hpD-o6pA"/>
157 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XGUIsXy5EemI79hpD-o6pA" x="527" y="11"/>
158 </children>
159 <children xmi:type="notation:Shape" xmi:id="_XfT3gHy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
160 <children xmi:type="notation:DecorationNode" xmi:id="_XfT3gny5EemI79hpD-o6pA" type="5002"/>
161 <children xmi:type="notation:DecorationNode" xmi:id="_XfT3g3y5EemI79hpD-o6pA" type="5003"/>
162 <children xmi:type="notation:DecorationNode" xmi:id="_XfT3hHy5EemI79hpD-o6pA" type="7002">
163 <styles xmi:type="notation:SortingStyle" xmi:id="_XfT3hXy5EemI79hpD-o6pA"/>
164 <styles xmi:type="notation:FilteringStyle" xmi:id="_XfT3hny5EemI79hpD-o6pA"/>
165 </children>
166 <element xmi:type="henshin:Node" href="cps.henshin#_XfSpYHy5EemI79hpD-o6pA"/>
167 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XfT3gXy5EemI79hpD-o6pA" x="527" y="162"/>
168 </children>
169 <children xmi:type="notation:Shape" xmi:id="_YuaH4Hy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
170 <children xmi:type="notation:DecorationNode" xmi:id="_YuaH4ny5EemI79hpD-o6pA" type="5002"/>
171 <children xmi:type="notation:DecorationNode" xmi:id="_YuaH43y5EemI79hpD-o6pA" type="5003"/>
172 <children xmi:type="notation:DecorationNode" xmi:id="_YuaH5Hy5EemI79hpD-o6pA" type="7002">
173 <styles xmi:type="notation:SortingStyle" xmi:id="_YuaH5Xy5EemI79hpD-o6pA"/>
174 <styles xmi:type="notation:FilteringStyle" xmi:id="_YuaH5ny5EemI79hpD-o6pA"/>
175 </children>
176 <element xmi:type="henshin:Node" href="cps.henshin#_YuZg0Hy5EemI79hpD-o6pA"/>
177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YuaH4Xy5EemI79hpD-o6pA" x="337" y="11"/>
178 </children>
179 <children xmi:type="notation:Shape" xmi:id="_iu5VYHy5EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
180 <children xmi:type="notation:DecorationNode" xmi:id="_iu5VYny5EemI79hpD-o6pA" type="5002"/>
181 <children xmi:type="notation:DecorationNode" xmi:id="_iu5VY3y5EemI79hpD-o6pA" type="5003"/>
182 <children xmi:type="notation:DecorationNode" xmi:id="_iu5VZHy5EemI79hpD-o6pA" type="7002">
183 <styles xmi:type="notation:SortingStyle" xmi:id="_iu5VZXy5EemI79hpD-o6pA"/>
184 <styles xmi:type="notation:FilteringStyle" xmi:id="_iu5VZny5EemI79hpD-o6pA"/>
185 </children>
186 <element xmi:type="henshin:Node" href="cps.henshin#_iu3gMHy5EemI79hpD-o6pA"/>
187 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iu5VYXy5EemI79hpD-o6pA" x="166" y="214"/>
188 </children>
189 </children>
190 <element xmi:type="henshin:Rule" href="cps.henshin#_W9WPYHy4EemI79hpD-o6pA"/>
191 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W9ZSsXy4EemI79hpD-o6pA" x="22" y="549" width="637" height="322"/>
192 </children>
193 <children xmi:type="notation:Shape" xmi:id="_1VkVkHy5EemI79hpD-o6pA" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
194 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OdwiAny6EemI79hpD-o6pA" source="defaultAction">
195 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OdwiA3y6EemI79hpD-o6pA" key="value" value="preserve"/>
196 </eAnnotations>
197 <children xmi:type="notation:DecorationNode" xmi:id="_1VkVkny5EemI79hpD-o6pA" type="5001"/>
198 <children xmi:type="notation:DecorationNode" xmi:id="_1VkVk3y5EemI79hpD-o6pA" type="7001">
199 <children xmi:type="notation:Shape" xmi:id="_OdxwIHy6EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
200 <children xmi:type="notation:DecorationNode" xmi:id="_OdxwIny6EemI79hpD-o6pA" type="5002"/>
201 <children xmi:type="notation:DecorationNode" xmi:id="_OdxwI3y6EemI79hpD-o6pA" type="5003"/>
202 <children xmi:type="notation:DecorationNode" xmi:id="_OdxwJHy6EemI79hpD-o6pA" type="7002">
203 <styles xmi:type="notation:SortingStyle" xmi:id="_OdxwJXy6EemI79hpD-o6pA"/>
204 <styles xmi:type="notation:FilteringStyle" xmi:id="_OdxwJny6EemI79hpD-o6pA"/>
205 </children>
206 <element xmi:type="henshin:Node" href="cps.henshin#_OdtesHy6EemI79hpD-o6pA"/>
207 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OdxwIXy6EemI79hpD-o6pA" x="21" y="12"/>
208 </children>
209 <children xmi:type="notation:Shape" xmi:id="_PGbrkHy6EemI79hpD-o6pA" type="3001" fontName="Noto Sans">
210 <children xmi:type="notation:DecorationNode" xmi:id="_PGcSoHy6EemI79hpD-o6pA" type="5002"/>
211 <children xmi:type="notation:DecorationNode" xmi:id="_PGcSoXy6EemI79hpD-o6pA" type="5003"/>
212 <children xmi:type="notation:DecorationNode" xmi:id="_PGcSony6EemI79hpD-o6pA" type="7002">
213 <styles xmi:type="notation:SortingStyle" xmi:id="_PGcSo3y6EemI79hpD-o6pA"/>
214 <styles xmi:type="notation:FilteringStyle" xmi:id="_PGcSpHy6EemI79hpD-o6pA"/>
215 </children>
216 <element xmi:type="henshin:Node" href="cps.henshin#_PGadcHy6EemI79hpD-o6pA"/>
217 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PGbrkXy6EemI79hpD-o6pA" x="39" y="163"/>
218 </children>
219 </children>
220 <element xmi:type="henshin:Rule" href="cps.henshin#_1VgrMHy5EemI79hpD-o6pA"/>
221 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1VkVkXy5EemI79hpD-o6pA" x="684" y="549" width="177" height="259"/>
222 </children>
223 <styles xmi:type="notation:DiagramStyle" xmi:id="_rVAwQXyxEemI79hpD-o6pA"/>
224 <element xmi:type="henshin:Module" href="cps.henshin#_rUcIgHyxEemI79hpD-o6pA"/>
225 <edges xmi:type="notation:Connector" xmi:id="_6Yb2sHyyEemI79hpD-o6pA" type="4001" source="_8Ow7oHyxEemI79hpD-o6pA" target="_KIaMAHyyEemI79hpD-o6pA">
226 <children xmi:type="notation:DecorationNode" xmi:id="_6Yb2s3yyEemI79hpD-o6pA" type="6001">
227 <layoutConstraint xmi:type="notation:Location" xmi:id="_6Yb2tHyyEemI79hpD-o6pA" y="40"/>
228 </children>
229 <children xmi:type="notation:DecorationNode" xmi:id="_6Yb2tXyyEemI79hpD-o6pA" type="6002">
230 <layoutConstraint xmi:type="notation:Location" xmi:id="_6Yb2tnyyEemI79hpD-o6pA" y="60"/>
231 </children>
232 <styles xmi:type="notation:FontStyle" xmi:id="_6Yb2sXyyEemI79hpD-o6pA" fontName="Noto Sans"/>
233 <element xmi:type="henshin:Edge" href="cps.henshin#_6YaokHyyEemI79hpD-o6pA"/>
234 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6Yb2snyyEemI79hpD-o6pA" points="[49, -7, -165, 20]$[190, -30, -24, -3]"/>
235 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6YdE0HyyEemI79hpD-o6pA" id="(0.20512820512820512,0.41304347826086957)"/>
236 </edges>
237 <edges xmi:type="notation:Connector" xmi:id="_APeikHyzEemI79hpD-o6pA" type="4001" source="_8Ow7oHyxEemI79hpD-o6pA" target="__cDhkHyyEemI79hpD-o6pA">
238 <children xmi:type="notation:DecorationNode" xmi:id="_APeik3yzEemI79hpD-o6pA" type="6001">
239 <layoutConstraint xmi:type="notation:Location" xmi:id="_APeilHyzEemI79hpD-o6pA" y="40"/>
240 </children>
241 <children xmi:type="notation:DecorationNode" xmi:id="_APeilXyzEemI79hpD-o6pA" type="6002">
242 <layoutConstraint xmi:type="notation:Location" xmi:id="_APeilnyzEemI79hpD-o6pA" y="60"/>
243 </children>
244 <styles xmi:type="notation:FontStyle" xmi:id="_APeikXyzEemI79hpD-o6pA" fontName="Noto Sans"/>
245 <element xmi:type="henshin:Edge" href="cps.henshin#_APd7gHyzEemI79hpD-o6pA"/>
246 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_APeiknyzEemI79hpD-o6pA" points="[14, -1, -203, 1]$[215, -25, -2, -23]"/>
247 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_APfwsHyzEemI79hpD-o6pA" id="(0.8571428571428571,0.17391304347826086)"/>
248 </edges>
249 <edges xmi:type="notation:Connector" xmi:id="_AoHFAHyzEemI79hpD-o6pA" type="4001" source="__cDhkHyyEemI79hpD-o6pA" target="_KIaMAHyyEemI79hpD-o6pA">
250 <children xmi:type="notation:DecorationNode" xmi:id="_AoHsEHyzEemI79hpD-o6pA" type="6001">
251 <layoutConstraint xmi:type="notation:Location" xmi:id="_AoHsEXyzEemI79hpD-o6pA" x="20" y="37"/>
252 </children>
253 <children xmi:type="notation:DecorationNode" xmi:id="_AoHsEnyzEemI79hpD-o6pA" type="6002">
254 <layoutConstraint xmi:type="notation:Location" xmi:id="_AoHsE3yzEemI79hpD-o6pA" y="60"/>
255 </children>
256 <styles xmi:type="notation:FontStyle" xmi:id="_AoHFAXyzEemI79hpD-o6pA" fontName="Noto Sans"/>
257 <element xmi:type="henshin:Edge" href="cps.henshin#_AoFP0HyzEemI79hpD-o6pA"/>
258 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AoHFAnyzEemI79hpD-o6pA" points="[-2, 23, 10, -119]$[-9, 136, 3, -6]"/>
259 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AoMkkHyzEemI79hpD-o6pA" id="(0.5897435897435898,0.13043478260869565)"/>
260 </edges>
261 <edges xmi:type="notation:Connector" xmi:id="_fabGMHy0EemI79hpD-o6pA" type="4001" source="_Zp4q8Hy0EemI79hpD-o6pA" target="_bFEPgHy0EemI79hpD-o6pA">
262 <children xmi:type="notation:DecorationNode" xmi:id="_fabtQHy0EemI79hpD-o6pA" type="6001">
263 <layoutConstraint xmi:type="notation:Location" xmi:id="_fabtQXy0EemI79hpD-o6pA" y="40"/>
264 </children>
265 <children xmi:type="notation:DecorationNode" xmi:id="_fabtQny0EemI79hpD-o6pA" type="6002">
266 <layoutConstraint xmi:type="notation:Location" xmi:id="_facUUHy0EemI79hpD-o6pA" y="60"/>
267 </children>
268 <styles xmi:type="notation:FontStyle" xmi:id="_fabGMXy0EemI79hpD-o6pA" fontName="Noto Sans"/>
269 <element xmi:type="henshin:Edge" href="cps.henshin#_faZ4EHy0EemI79hpD-o6pA"/>
270 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fabGMny0EemI79hpD-o6pA" points="[-1, 23, 0, -56]$[-2, 71, -1, -8]"/>
271 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_faglwHy0EemI79hpD-o6pA" id="(0.49382716049382713,0.17391304347826086)"/>
272 </edges>
273 <edges xmi:type="notation:Connector" xmi:id="_7KsvMHy0EemI79hpD-o6pA" type="4001" source="_5jh9EHy0EemI79hpD-o6pA" target="_6FsO8Hy0EemI79hpD-o6pA">
274 <children xmi:type="notation:DecorationNode" xmi:id="_7KtWQHy0EemI79hpD-o6pA" type="6001">
275 <layoutConstraint xmi:type="notation:Location" xmi:id="_7KtWQXy0EemI79hpD-o6pA" y="40"/>
276 </children>
277 <children xmi:type="notation:DecorationNode" xmi:id="_7KtWQny0EemI79hpD-o6pA" type="6002">
278 <layoutConstraint xmi:type="notation:Location" xmi:id="_7KtWQ3y0EemI79hpD-o6pA" y="60"/>
279 </children>
280 <styles xmi:type="notation:FontStyle" xmi:id="_7KsvMXy0EemI79hpD-o6pA" fontName="Noto Sans"/>
281 <element xmi:type="henshin:Edge" href="cps.henshin#_7KrhEHy0EemI79hpD-o6pA"/>
282 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7KsvMny0EemI79hpD-o6pA" points="[3, 23, -5, -62]$[11, 62, 3, -23]"/>
283 </edges>
284 <edges xmi:type="notation:Connector" xmi:id="__HxBsHy0EemI79hpD-o6pA" type="4001" source="_8lWIQHy0EemI79hpD-o6pA" target="_6FsO8Hy0EemI79hpD-o6pA">
285 <children xmi:type="notation:DecorationNode" xmi:id="__HxBs3y0EemI79hpD-o6pA" type="6001">
286 <layoutConstraint xmi:type="notation:Location" xmi:id="__HxBtHy0EemI79hpD-o6pA" y="40"/>
287 </children>
288 <children xmi:type="notation:DecorationNode" xmi:id="__HxowHy0EemI79hpD-o6pA" type="6002">
289 <layoutConstraint xmi:type="notation:Location" xmi:id="__HxowXy0EemI79hpD-o6pA" y="60"/>
290 </children>
291 <styles xmi:type="notation:FontStyle" xmi:id="__HxBsXy0EemI79hpD-o6pA" fontName="Noto Sans"/>
292 <element xmi:type="henshin:Edge" href="cps.henshin#__HvMgHy0EemI79hpD-o6pA"/>
293 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__HxBsny0EemI79hpD-o6pA" points="[-24, -5, 115, -1]$[-98, -5, 41, -1]"/>
294 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__H0sEHy0EemI79hpD-o6pA" id="(0.20512820512820512,0.5869565217391305)"/>
295 </edges>
296 <edges xmi:type="notation:Connector" xmi:id="_epK2Iny5EemI79hpD-o6pA" type="4001" source="_U8_rwHy5EemI79hpD-o6pA" target="_YuaH4Hy5EemI79hpD-o6pA">
297 <children xmi:type="notation:DecorationNode" xmi:id="_epK2JXy5EemI79hpD-o6pA" type="6001">
298 <layoutConstraint xmi:type="notation:Location" xmi:id="_epK2Jny5EemI79hpD-o6pA" y="40"/>
299 </children>
300 <children xmi:type="notation:DecorationNode" xmi:id="_epK2J3y5EemI79hpD-o6pA" type="6002">
301 <layoutConstraint xmi:type="notation:Location" xmi:id="_epK2KHy5EemI79hpD-o6pA" y="60"/>
302 </children>
303 <styles xmi:type="notation:FontStyle" xmi:id="_epK2I3y5EemI79hpD-o6pA" fontName="Noto Sans"/>
304 <element xmi:type="henshin:Edge" href="cps.henshin#_epK2IHy5EemI79hpD-o6pA"/>
305 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epK2JHy5EemI79hpD-o6pA" points="[15, -1, -82, 0]$[79, -3, -18, -2]"/>
306 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epMEQHy5EemI79hpD-o6pA" id="(0.84375,0.43478260869565216)"/>
307 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epMEQXy5EemI79hpD-o6pA" id="(0.13740458015267176,0.41304347826086957)"/>
308 </edges>
309 <edges xmi:type="notation:Connector" xmi:id="_fGay0Hy5EemI79hpD-o6pA" type="4001" source="_YuaH4Hy5EemI79hpD-o6pA" target="_XGUIsHy5EemI79hpD-o6pA">
310 <children xmi:type="notation:DecorationNode" xmi:id="_fGay03y5EemI79hpD-o6pA" type="6001">
311 <layoutConstraint xmi:type="notation:Location" xmi:id="_fGay1Hy5EemI79hpD-o6pA" y="40"/>
312 </children>
313 <children xmi:type="notation:DecorationNode" xmi:id="_fGbZ4Hy5EemI79hpD-o6pA" type="6002">
314 <layoutConstraint xmi:type="notation:Location" xmi:id="_fGbZ4Xy5EemI79hpD-o6pA" y="60"/>
315 </children>
316 <styles xmi:type="notation:FontStyle" xmi:id="_fGay0Xy5EemI79hpD-o6pA" fontName="Noto Sans"/>
317 <element xmi:type="henshin:Edge" href="cps.henshin#_fGY9oHy5EemI79hpD-o6pA"/>
318 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fGay0ny5EemI79hpD-o6pA" points="[13, 1, -92, -3]$[106, -19, 1, -23]"/>
319 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fGfEQHy5EemI79hpD-o6pA" id="(0.9007633587786259,0.41304347826086957)"/>
320 </edges>
321 <edges xmi:type="notation:Connector" xmi:id="_fghU4Hy5EemI79hpD-o6pA" type="4001" source="_XGUIsHy5EemI79hpD-o6pA" target="_XfT3gHy5EemI79hpD-o6pA">
322 <children xmi:type="notation:DecorationNode" xmi:id="_fgh78Hy5EemI79hpD-o6pA" type="6001">
323 <layoutConstraint xmi:type="notation:Location" xmi:id="_fgh78Xy5EemI79hpD-o6pA" y="40"/>
324 </children>
325 <children xmi:type="notation:DecorationNode" xmi:id="_fgh78ny5EemI79hpD-o6pA" type="6002">
326 <layoutConstraint xmi:type="notation:Location" xmi:id="_fgh783y5EemI79hpD-o6pA" y="60"/>
327 </children>
328 <styles xmi:type="notation:FontStyle" xmi:id="_fghU4Xy5EemI79hpD-o6pA" fontName="Noto Sans"/>
329 <element xmi:type="henshin:Edge" href="cps.henshin#_fggGwHy5EemI79hpD-o6pA"/>
330 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fghU4ny5EemI79hpD-o6pA" points="[8, 23, 1, -116]$[8, 116, 1, -23]"/>
331 </edges>
332 <edges xmi:type="notation:Connector" xmi:id="_f_l2gny5EemI79hpD-o6pA" type="4001" source="_U8_rwHy5EemI79hpD-o6pA" target="_WEe4QHy5EemI79hpD-o6pA">
333 <children xmi:type="notation:DecorationNode" xmi:id="_f_mdkHy5EemI79hpD-o6pA" type="6001">
334 <layoutConstraint xmi:type="notation:Location" xmi:id="_f_mdkXy5EemI79hpD-o6pA" y="40"/>
335 </children>
336 <children xmi:type="notation:DecorationNode" xmi:id="_f_mdkny5EemI79hpD-o6pA" type="6002">
337 <layoutConstraint xmi:type="notation:Location" xmi:id="_f_mdk3y5EemI79hpD-o6pA" y="60"/>
338 </children>
339 <styles xmi:type="notation:FontStyle" xmi:id="_f_l2g3y5EemI79hpD-o6pA" fontName="Noto Sans"/>
340 <element xmi:type="henshin:Edge" href="cps.henshin#_f_l2gHy5EemI79hpD-o6pA"/>
341 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_f_l2hHy5EemI79hpD-o6pA" points="[2, 23, 0, -69]$[3, 83, 1, -9]"/>
342 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_f_nrsHy5EemI79hpD-o6pA" id="(0.5213675213675214,0.1956521739130435)"/>
343 </edges>
344 <edges xmi:type="notation:Connector" xmi:id="_gh1n8Hy5EemI79hpD-o6pA" type="4001" source="_WEe4QHy5EemI79hpD-o6pA" target="_XfT3gHy5EemI79hpD-o6pA">
345 <children xmi:type="notation:DecorationNode" xmi:id="_gh2PAny5EemI79hpD-o6pA" type="6001">
346 <layoutConstraint xmi:type="notation:Location" xmi:id="_gh2PA3y5EemI79hpD-o6pA" y="40"/>
347 </children>
348 <children xmi:type="notation:DecorationNode" xmi:id="_gh2PBHy5EemI79hpD-o6pA" type="6002">
349 <layoutConstraint xmi:type="notation:Location" xmi:id="_gh2PBXy5EemI79hpD-o6pA" y="60"/>
350 </children>
351 <styles xmi:type="notation:FontStyle" xmi:id="_gh2PAHy5EemI79hpD-o6pA" fontName="Noto Sans"/>
352 <element xmi:type="henshin:Edge" href="cps.henshin#_gh0Z0Hy5EemI79hpD-o6pA"/>
353 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_gh2PAXy5EemI79hpD-o6pA" points="[15, 2, -284, -45]$[299, 70, 0, 23]"/>
354 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gh55YHy5EemI79hpD-o6pA" id="(0.8717948717948718,0.1956521739130435)"/>
355 </edges>
356 <edges xmi:type="notation:Connector" xmi:id="_hW6OwHy5EemI79hpD-o6pA" type="4001" source="_QzVuwHy5EemI79hpD-o6pA" target="_WEe4QHy5EemI79hpD-o6pA">
357 <children xmi:type="notation:DecorationNode" xmi:id="_hW6Ow3y5EemI79hpD-o6pA" type="6001">
358 <layoutConstraint xmi:type="notation:Location" xmi:id="_hW6OxHy5EemI79hpD-o6pA" y="40"/>
359 </children>
360 <children xmi:type="notation:DecorationNode" xmi:id="_hW6OxXy5EemI79hpD-o6pA" type="6002">
361 <layoutConstraint xmi:type="notation:Location" xmi:id="_hW6Oxny5EemI79hpD-o6pA" y="60"/>
362 </children>
363 <styles xmi:type="notation:FontStyle" xmi:id="_hW6OwXy5EemI79hpD-o6pA" fontName="Noto Sans"/>
364 <element xmi:type="henshin:Edge" href="cps.henshin#_hW5nsHy5EemI79hpD-o6pA"/>
365 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hW6Owny5EemI79hpD-o6pA" points="[1, -5, -81, 0]$[71, -6, -11, -1]"/>
366 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hW7c4Hy5EemI79hpD-o6pA" id="(0.9873417721518988,0.6739130434782609)"/>
367 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hW7c4Xy5EemI79hpD-o6pA" id="(0.09401709401709402,0.41304347826086957)"/>
368 </edges>
369 <edges xmi:type="notation:Connector" xmi:id="_l0vE8Hy5EemI79hpD-o6pA" type="4001" source="_iu5VYHy5EemI79hpD-o6pA" target="_XfT3gHy5EemI79hpD-o6pA">
370 <children xmi:type="notation:DecorationNode" xmi:id="_l0vE83y5EemI79hpD-o6pA" type="6001">
371 <layoutConstraint xmi:type="notation:Location" xmi:id="_l0vE9Hy5EemI79hpD-o6pA" y="40"/>
372 </children>
373 <children xmi:type="notation:DecorationNode" xmi:id="_l0vE9Xy5EemI79hpD-o6pA" type="6002">
374 <layoutConstraint xmi:type="notation:Location" xmi:id="_l0vE9ny5EemI79hpD-o6pA" y="60"/>
375 </children>
376 <styles xmi:type="notation:FontStyle" xmi:id="_l0vE8Xy5EemI79hpD-o6pA" fontName="Noto Sans"/>
377 <element xmi:type="henshin:Edge" href="cps.henshin#_l0ud4Hy5EemI79hpD-o6pA"/>
378 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l0vE8ny5EemI79hpD-o6pA" points="[28, -5, -282, 43]$[309, -44, -1, 4]"/>
379 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l0w6IHy5EemI79hpD-o6pA" id="(0.7606837606837606,0.5652173913043478)"/>
380 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l0w6IXy5EemI79hpD-o6pA" id="(0.4691358024691358,0.9130434782608695)"/>
381 </edges>
382 <edges xmi:type="notation:Connector" xmi:id="_mLuBkHy5EemI79hpD-o6pA" type="4001" source="_QzVuwHy5EemI79hpD-o6pA" target="_iu5VYHy5EemI79hpD-o6pA">
383 <children xmi:type="notation:DecorationNode" xmi:id="_mLuBk3y5EemI79hpD-o6pA" type="6001">
384 <layoutConstraint xmi:type="notation:Location" xmi:id="_mLuBlHy5EemI79hpD-o6pA" y="40"/>
385 </children>
386 <children xmi:type="notation:DecorationNode" xmi:id="_mLuBlXy5EemI79hpD-o6pA" type="6002">
387 <layoutConstraint xmi:type="notation:Location" xmi:id="_mLuBlny5EemI79hpD-o6pA" y="60"/>
388 </children>
389 <styles xmi:type="notation:FontStyle" xmi:id="_mLuBkXy5EemI79hpD-o6pA" fontName="Noto Sans"/>
390 <element xmi:type="henshin:Edge" href="cps.henshin#_mLtagHy5EemI79hpD-o6pA"/>
391 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mLuBkny5EemI79hpD-o6pA" points="[28, 23, -111, -91]$[110, 123, -29, 9]"/>
392 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mLuooHy5EemI79hpD-o6pA" id="(0.24786324786324787,0.717391304347826)"/>
393 </edges>
394 <edges xmi:type="notation:Connector" xmi:id="_UpCYgHy6EemI79hpD-o6pA" type="4001" source="_OdxwIHy6EemI79hpD-o6pA" target="_PGbrkHy6EemI79hpD-o6pA">
395 <children xmi:type="notation:DecorationNode" xmi:id="_UpCYg3y6EemI79hpD-o6pA" type="6001">
396 <layoutConstraint xmi:type="notation:Location" xmi:id="_UpCYhHy6EemI79hpD-o6pA" y="40"/>
397 </children>
398 <children xmi:type="notation:DecorationNode" xmi:id="_UpCYhXy6EemI79hpD-o6pA" type="6002">
399 <layoutConstraint xmi:type="notation:Location" xmi:id="_UpCYhny6EemI79hpD-o6pA" y="60"/>
400 </children>
401 <styles xmi:type="notation:FontStyle" xmi:id="_UpCYgXy6EemI79hpD-o6pA" fontName="Noto Sans"/>
402 <element xmi:type="henshin:Edge" href="cps.henshin#_UpBxcHy6EemI79hpD-o6pA"/>
403 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UpCYgny6EemI79hpD-o6pA" points="[4, 23, 0, -114]$[6, 128, 2, -9]"/>
404 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UpDmoHy6EemI79hpD-o6pA" id="(0.5432098765432098,0.1956521739130435)"/>
405 </edges>
406</notation:Diagram>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.lp b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.lp
new file mode 100644
index 00000000..a380d816
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.lp
@@ -0,0 +1,2483 @@
1Minimize
2 total_cost: 2 h0i0_exists + 2 h0i1_exists + 2 h0i2_exists + 2 h0i3_exists + 2 h0i4_exists + 2 h0i5_exists + 2 h0i6_exists + 2 h0i7_exists + 2 h0i8_exists + 2 h0i9_exists + 4 h1i0_exists + 4 h1i1_exists + 4 h1i2_exists + 4 h1i3_exists + 4 h1i4_exists + 4 h1i5_exists + 4 h1i6_exists + 4 h1i7_exists + 4 h1i8_exists + 4 h1i9_exists + 3 h2i0_exists + 3 h2i1_exists + 3 h2i2_exists + 3 h2i3_exists + 3 h2i4_exists + 3 h2i5_exists + 3 h2i6_exists + 3 h2i7_exists + 3 h2i8_exists + 3 h2i9_exists + 6 h3i0_exists + 6 h3i1_exists + 6 h3i2_exists + 6 h3i3_exists + 6 h3i4_exists + 6 h3i5_exists + 6 h3i6_exists + 6 h3i7_exists + 6 h3i8_exists + 6 h3i9_exists + 2 h4i0_exists + 2 h4i1_exists + 2 h4i2_exists + 2 h4i3_exists + 2 h4i4_exists + 2 h4i5_exists + 2 h4i6_exists + 2 h4i7_exists + 2 h4i8_exists + 2 h4i9_exists + 4 h5i0_exists + 4 h5i1_exists + 4 h5i2_exists + 4 h5i3_exists + 4 h5i4_exists + 4 h5i5_exists + 4 h5i6_exists + 4 h5i7_exists + 4 h5i8_exists + 4 h5i9_exists
3Subject To
4 r0a0_allocated: r0a0_to_h4i0 + r0a0_to_h4i1 + r0a0_to_h4i2 + r0a0_to_h4i3 + r0a0_to_h4i4 + r0a0_to_h4i5 + r0a0_to_h4i6 + r0a0_to_h4i7 + r0a0_to_h4i8 + r0a0_to_h4i9 + r0a0_to_h5i0 + r0a0_to_h5i1 + r0a0_to_h5i2 + r0a0_to_h5i3 + r0a0_to_h5i4 + r0a0_to_h5i5 + r0a0_to_h5i6 + r0a0_to_h5i7 + r0a0_to_h5i8 + r0a0_to_h5i9 = 1
5 r0a0_to_h4i0_exists: h4i0_exists - r0a0_to_h4i0 >= 0
6 r0a0_to_h4i1_exists: h4i1_exists - r0a0_to_h4i1 >= 0
7 r0a0_to_h4i2_exists: h4i2_exists - r0a0_to_h4i2 >= 0
8 r0a0_to_h4i3_exists: h4i3_exists - r0a0_to_h4i3 >= 0
9 r0a0_to_h4i4_exists: h4i4_exists - r0a0_to_h4i4 >= 0
10 r0a0_to_h4i5_exists: h4i5_exists - r0a0_to_h4i5 >= 0
11 r0a0_to_h4i6_exists: h4i6_exists - r0a0_to_h4i6 >= 0
12 r0a0_to_h4i7_exists: h4i7_exists - r0a0_to_h4i7 >= 0
13 r0a0_to_h4i8_exists: h4i8_exists - r0a0_to_h4i8 >= 0
14 r0a0_to_h4i9_exists: h4i9_exists - r0a0_to_h4i9 >= 0
15 r0a0_to_h5i0_exists: h5i0_exists - r0a0_to_h5i0 >= 0
16 r0a0_to_h5i1_exists: h5i1_exists - r0a0_to_h5i1 >= 0
17 r0a0_to_h5i2_exists: h5i2_exists - r0a0_to_h5i2 >= 0
18 r0a0_to_h5i3_exists: h5i3_exists - r0a0_to_h5i3 >= 0
19 r0a0_to_h5i4_exists: h5i4_exists - r0a0_to_h5i4 >= 0
20 r0a0_to_h5i5_exists: h5i5_exists - r0a0_to_h5i5 >= 0
21 r0a0_to_h5i6_exists: h5i6_exists - r0a0_to_h5i6 >= 0
22 r0a0_to_h5i7_exists: h5i7_exists - r0a0_to_h5i7 >= 0
23 r0a0_to_h5i8_exists: h5i8_exists - r0a0_to_h5i8 >= 0
24 r0a0_to_h5i9_exists: h5i9_exists - r0a0_to_h5i9 >= 0
25 r0a1_allocated: r0a1_to_h4i0 + r0a1_to_h4i1 + r0a1_to_h4i2 + r0a1_to_h4i3 + r0a1_to_h4i4 + r0a1_to_h4i5 + r0a1_to_h4i6 + r0a1_to_h4i7 + r0a1_to_h4i8 + r0a1_to_h4i9 + r0a1_to_h5i0 + r0a1_to_h5i1 + r0a1_to_h5i2 + r0a1_to_h5i3 + r0a1_to_h5i4 + r0a1_to_h5i5 + r0a1_to_h5i6 + r0a1_to_h5i7 + r0a1_to_h5i8 + r0a1_to_h5i9 = 1
26 r0a1_to_h4i0_exists: h4i0_exists - r0a1_to_h4i0 >= 0
27 r0a1_to_h4i1_exists: h4i1_exists - r0a1_to_h4i1 >= 0
28 r0a1_to_h4i2_exists: h4i2_exists - r0a1_to_h4i2 >= 0
29 r0a1_to_h4i3_exists: h4i3_exists - r0a1_to_h4i3 >= 0
30 r0a1_to_h4i4_exists: h4i4_exists - r0a1_to_h4i4 >= 0
31 r0a1_to_h4i5_exists: h4i5_exists - r0a1_to_h4i5 >= 0
32 r0a1_to_h4i6_exists: h4i6_exists - r0a1_to_h4i6 >= 0
33 r0a1_to_h4i7_exists: h4i7_exists - r0a1_to_h4i7 >= 0
34 r0a1_to_h4i8_exists: h4i8_exists - r0a1_to_h4i8 >= 0
35 r0a1_to_h4i9_exists: h4i9_exists - r0a1_to_h4i9 >= 0
36 r0a1_to_h5i0_exists: h5i0_exists - r0a1_to_h5i0 >= 0
37 r0a1_to_h5i1_exists: h5i1_exists - r0a1_to_h5i1 >= 0
38 r0a1_to_h5i2_exists: h5i2_exists - r0a1_to_h5i2 >= 0
39 r0a1_to_h5i3_exists: h5i3_exists - r0a1_to_h5i3 >= 0
40 r0a1_to_h5i4_exists: h5i4_exists - r0a1_to_h5i4 >= 0
41 r0a1_to_h5i5_exists: h5i5_exists - r0a1_to_h5i5 >= 0
42 r0a1_to_h5i6_exists: h5i6_exists - r0a1_to_h5i6 >= 0
43 r0a1_to_h5i7_exists: h5i7_exists - r0a1_to_h5i7 >= 0
44 r0a1_to_h5i8_exists: h5i8_exists - r0a1_to_h5i8 >= 0
45 r0a1_to_h5i9_exists: h5i9_exists - r0a1_to_h5i9 >= 0
46 r0a2_allocated: r0a2_to_h4i0 + r0a2_to_h4i1 + r0a2_to_h4i2 + r0a2_to_h4i3 + r0a2_to_h4i4 + r0a2_to_h4i5 + r0a2_to_h4i6 + r0a2_to_h4i7 + r0a2_to_h4i8 + r0a2_to_h4i9 + r0a2_to_h5i0 + r0a2_to_h5i1 + r0a2_to_h5i2 + r0a2_to_h5i3 + r0a2_to_h5i4 + r0a2_to_h5i5 + r0a2_to_h5i6 + r0a2_to_h5i7 + r0a2_to_h5i8 + r0a2_to_h5i9 = 1
47 r0a2_to_h4i0_exists: h4i0_exists - r0a2_to_h4i0 >= 0
48 r0a2_to_h4i1_exists: h4i1_exists - r0a2_to_h4i1 >= 0
49 r0a2_to_h4i2_exists: h4i2_exists - r0a2_to_h4i2 >= 0
50 r0a2_to_h4i3_exists: h4i3_exists - r0a2_to_h4i3 >= 0
51 r0a2_to_h4i4_exists: h4i4_exists - r0a2_to_h4i4 >= 0
52 r0a2_to_h4i5_exists: h4i5_exists - r0a2_to_h4i5 >= 0
53 r0a2_to_h4i6_exists: h4i6_exists - r0a2_to_h4i6 >= 0
54 r0a2_to_h4i7_exists: h4i7_exists - r0a2_to_h4i7 >= 0
55 r0a2_to_h4i8_exists: h4i8_exists - r0a2_to_h4i8 >= 0
56 r0a2_to_h4i9_exists: h4i9_exists - r0a2_to_h4i9 >= 0
57 r0a2_to_h5i0_exists: h5i0_exists - r0a2_to_h5i0 >= 0
58 r0a2_to_h5i1_exists: h5i1_exists - r0a2_to_h5i1 >= 0
59 r0a2_to_h5i2_exists: h5i2_exists - r0a2_to_h5i2 >= 0
60 r0a2_to_h5i3_exists: h5i3_exists - r0a2_to_h5i3 >= 0
61 r0a2_to_h5i4_exists: h5i4_exists - r0a2_to_h5i4 >= 0
62 r0a2_to_h5i5_exists: h5i5_exists - r0a2_to_h5i5 >= 0
63 r0a2_to_h5i6_exists: h5i6_exists - r0a2_to_h5i6 >= 0
64 r0a2_to_h5i7_exists: h5i7_exists - r0a2_to_h5i7 >= 0
65 r0a2_to_h5i8_exists: h5i8_exists - r0a2_to_h5i8 >= 0
66 r0a2_to_h5i9_exists: h5i9_exists - r0a2_to_h5i9 >= 0
67 r0a3_allocated: r0a3_to_h4i0 + r0a3_to_h4i1 + r0a3_to_h4i2 + r0a3_to_h4i3 + r0a3_to_h4i4 + r0a3_to_h4i5 + r0a3_to_h4i6 + r0a3_to_h4i7 + r0a3_to_h4i8 + r0a3_to_h4i9 + r0a3_to_h5i0 + r0a3_to_h5i1 + r0a3_to_h5i2 + r0a3_to_h5i3 + r0a3_to_h5i4 + r0a3_to_h5i5 + r0a3_to_h5i6 + r0a3_to_h5i7 + r0a3_to_h5i8 + r0a3_to_h5i9 = 1
68 r0a3_to_h4i0_exists: h4i0_exists - r0a3_to_h4i0 >= 0
69 r0a3_to_h4i1_exists: h4i1_exists - r0a3_to_h4i1 >= 0
70 r0a3_to_h4i2_exists: h4i2_exists - r0a3_to_h4i2 >= 0
71 r0a3_to_h4i3_exists: h4i3_exists - r0a3_to_h4i3 >= 0
72 r0a3_to_h4i4_exists: h4i4_exists - r0a3_to_h4i4 >= 0
73 r0a3_to_h4i5_exists: h4i5_exists - r0a3_to_h4i5 >= 0
74 r0a3_to_h4i6_exists: h4i6_exists - r0a3_to_h4i6 >= 0
75 r0a3_to_h4i7_exists: h4i7_exists - r0a3_to_h4i7 >= 0
76 r0a3_to_h4i8_exists: h4i8_exists - r0a3_to_h4i8 >= 0
77 r0a3_to_h4i9_exists: h4i9_exists - r0a3_to_h4i9 >= 0
78 r0a3_to_h5i0_exists: h5i0_exists - r0a3_to_h5i0 >= 0
79 r0a3_to_h5i1_exists: h5i1_exists - r0a3_to_h5i1 >= 0
80 r0a3_to_h5i2_exists: h5i2_exists - r0a3_to_h5i2 >= 0
81 r0a3_to_h5i3_exists: h5i3_exists - r0a3_to_h5i3 >= 0
82 r0a3_to_h5i4_exists: h5i4_exists - r0a3_to_h5i4 >= 0
83 r0a3_to_h5i5_exists: h5i5_exists - r0a3_to_h5i5 >= 0
84 r0a3_to_h5i6_exists: h5i6_exists - r0a3_to_h5i6 >= 0
85 r0a3_to_h5i7_exists: h5i7_exists - r0a3_to_h5i7 >= 0
86 r0a3_to_h5i8_exists: h5i8_exists - r0a3_to_h5i8 >= 0
87 r0a3_to_h5i9_exists: h5i9_exists - r0a3_to_h5i9 >= 0
88 r1a0_allocated: r1a0_to_h0i0 + r1a0_to_h0i1 + r1a0_to_h0i2 + r1a0_to_h0i3 + r1a0_to_h0i4 + r1a0_to_h0i5 + r1a0_to_h0i6 + r1a0_to_h0i7 + r1a0_to_h0i8 + r1a0_to_h0i9 + r1a0_to_h1i0 + r1a0_to_h1i1 + r1a0_to_h1i2 + r1a0_to_h1i3 + r1a0_to_h1i4 + r1a0_to_h1i5 + r1a0_to_h1i6 + r1a0_to_h1i7 + r1a0_to_h1i8 + r1a0_to_h1i9 + r1a0_to_h2i0 + r1a0_to_h2i1 + r1a0_to_h2i2 + r1a0_to_h2i3 + r1a0_to_h2i4 + r1a0_to_h2i5 + r1a0_to_h2i6 + r1a0_to_h2i7 + r1a0_to_h2i8 + r1a0_to_h2i9 + r1a0_to_h3i0 + r1a0_to_h3i1 + r1a0_to_h3i2 + r1a0_to_h3i3 + r1a0_to_h3i4 + r1a0_to_h3i5 + r1a0_to_h3i6 + r1a0_to_h3i7 + r1a0_to_h3i8 + r1a0_to_h3i9 + r1a0_to_h4i0 + r1a0_to_h4i1 + r1a0_to_h4i2 + r1a0_to_h4i3 + r1a0_to_h4i4 + r1a0_to_h4i5 + r1a0_to_h4i6 + r1a0_to_h4i7 + r1a0_to_h4i8 + r1a0_to_h4i9 + r1a0_to_h5i0 + r1a0_to_h5i1 + r1a0_to_h5i2 + r1a0_to_h5i3 + r1a0_to_h5i4 + r1a0_to_h5i5 + r1a0_to_h5i6 + r1a0_to_h5i7 + r1a0_to_h5i8 + r1a0_to_h5i9 = 1
89 r1a0_to_h0i0_exists: h0i0_exists - r1a0_to_h0i0 >= 0
90 r1a0_to_h0i1_exists: h0i1_exists - r1a0_to_h0i1 >= 0
91 r1a0_to_h0i2_exists: h0i2_exists - r1a0_to_h0i2 >= 0
92 r1a0_to_h0i3_exists: h0i3_exists - r1a0_to_h0i3 >= 0
93 r1a0_to_h0i4_exists: h0i4_exists - r1a0_to_h0i4 >= 0
94 r1a0_to_h0i5_exists: h0i5_exists - r1a0_to_h0i5 >= 0
95 r1a0_to_h0i6_exists: h0i6_exists - r1a0_to_h0i6 >= 0
96 r1a0_to_h0i7_exists: h0i7_exists - r1a0_to_h0i7 >= 0
97 r1a0_to_h0i8_exists: h0i8_exists - r1a0_to_h0i8 >= 0
98 r1a0_to_h0i9_exists: h0i9_exists - r1a0_to_h0i9 >= 0
99 r1a0_to_h1i0_exists: h1i0_exists - r1a0_to_h1i0 >= 0
100 r1a0_to_h1i1_exists: h1i1_exists - r1a0_to_h1i1 >= 0
101 r1a0_to_h1i2_exists: h1i2_exists - r1a0_to_h1i2 >= 0
102 r1a0_to_h1i3_exists: h1i3_exists - r1a0_to_h1i3 >= 0
103 r1a0_to_h1i4_exists: h1i4_exists - r1a0_to_h1i4 >= 0
104 r1a0_to_h1i5_exists: h1i5_exists - r1a0_to_h1i5 >= 0
105 r1a0_to_h1i6_exists: h1i6_exists - r1a0_to_h1i6 >= 0
106 r1a0_to_h1i7_exists: h1i7_exists - r1a0_to_h1i7 >= 0
107 r1a0_to_h1i8_exists: h1i8_exists - r1a0_to_h1i8 >= 0
108 r1a0_to_h1i9_exists: h1i9_exists - r1a0_to_h1i9 >= 0
109 r1a0_to_h2i0_exists: h2i0_exists - r1a0_to_h2i0 >= 0
110 r1a0_to_h2i1_exists: h2i1_exists - r1a0_to_h2i1 >= 0
111 r1a0_to_h2i2_exists: h2i2_exists - r1a0_to_h2i2 >= 0
112 r1a0_to_h2i3_exists: h2i3_exists - r1a0_to_h2i3 >= 0
113 r1a0_to_h2i4_exists: h2i4_exists - r1a0_to_h2i4 >= 0
114 r1a0_to_h2i5_exists: h2i5_exists - r1a0_to_h2i5 >= 0
115 r1a0_to_h2i6_exists: h2i6_exists - r1a0_to_h2i6 >= 0
116 r1a0_to_h2i7_exists: h2i7_exists - r1a0_to_h2i7 >= 0
117 r1a0_to_h2i8_exists: h2i8_exists - r1a0_to_h2i8 >= 0
118 r1a0_to_h2i9_exists: h2i9_exists - r1a0_to_h2i9 >= 0
119 r1a0_to_h3i0_exists: h3i0_exists - r1a0_to_h3i0 >= 0
120 r1a0_to_h3i1_exists: h3i1_exists - r1a0_to_h3i1 >= 0
121 r1a0_to_h3i2_exists: h3i2_exists - r1a0_to_h3i2 >= 0
122 r1a0_to_h3i3_exists: h3i3_exists - r1a0_to_h3i3 >= 0
123 r1a0_to_h3i4_exists: h3i4_exists - r1a0_to_h3i4 >= 0
124 r1a0_to_h3i5_exists: h3i5_exists - r1a0_to_h3i5 >= 0
125 r1a0_to_h3i6_exists: h3i6_exists - r1a0_to_h3i6 >= 0
126 r1a0_to_h3i7_exists: h3i7_exists - r1a0_to_h3i7 >= 0
127 r1a0_to_h3i8_exists: h3i8_exists - r1a0_to_h3i8 >= 0
128 r1a0_to_h3i9_exists: h3i9_exists - r1a0_to_h3i9 >= 0
129 r1a0_to_h4i0_exists: h4i0_exists - r1a0_to_h4i0 >= 0
130 r1a0_to_h4i1_exists: h4i1_exists - r1a0_to_h4i1 >= 0
131 r1a0_to_h4i2_exists: h4i2_exists - r1a0_to_h4i2 >= 0
132 r1a0_to_h4i3_exists: h4i3_exists - r1a0_to_h4i3 >= 0
133 r1a0_to_h4i4_exists: h4i4_exists - r1a0_to_h4i4 >= 0
134 r1a0_to_h4i5_exists: h4i5_exists - r1a0_to_h4i5 >= 0
135 r1a0_to_h4i6_exists: h4i6_exists - r1a0_to_h4i6 >= 0
136 r1a0_to_h4i7_exists: h4i7_exists - r1a0_to_h4i7 >= 0
137 r1a0_to_h4i8_exists: h4i8_exists - r1a0_to_h4i8 >= 0
138 r1a0_to_h4i9_exists: h4i9_exists - r1a0_to_h4i9 >= 0
139 r1a0_to_h5i0_exists: h5i0_exists - r1a0_to_h5i0 >= 0
140 r1a0_to_h5i1_exists: h5i1_exists - r1a0_to_h5i1 >= 0
141 r1a0_to_h5i2_exists: h5i2_exists - r1a0_to_h5i2 >= 0
142 r1a0_to_h5i3_exists: h5i3_exists - r1a0_to_h5i3 >= 0
143 r1a0_to_h5i4_exists: h5i4_exists - r1a0_to_h5i4 >= 0
144 r1a0_to_h5i5_exists: h5i5_exists - r1a0_to_h5i5 >= 0
145 r1a0_to_h5i6_exists: h5i6_exists - r1a0_to_h5i6 >= 0
146 r1a0_to_h5i7_exists: h5i7_exists - r1a0_to_h5i7 >= 0
147 r1a0_to_h5i8_exists: h5i8_exists - r1a0_to_h5i8 >= 0
148 r1a0_to_h5i9_exists: h5i9_exists - r1a0_to_h5i9 >= 0
149 r1a1_allocated: r1a1_to_h0i0 + r1a1_to_h0i1 + r1a1_to_h0i2 + r1a1_to_h0i3 + r1a1_to_h0i4 + r1a1_to_h0i5 + r1a1_to_h0i6 + r1a1_to_h0i7 + r1a1_to_h0i8 + r1a1_to_h0i9 + r1a1_to_h1i0 + r1a1_to_h1i1 + r1a1_to_h1i2 + r1a1_to_h1i3 + r1a1_to_h1i4 + r1a1_to_h1i5 + r1a1_to_h1i6 + r1a1_to_h1i7 + r1a1_to_h1i8 + r1a1_to_h1i9 + r1a1_to_h2i0 + r1a1_to_h2i1 + r1a1_to_h2i2 + r1a1_to_h2i3 + r1a1_to_h2i4 + r1a1_to_h2i5 + r1a1_to_h2i6 + r1a1_to_h2i7 + r1a1_to_h2i8 + r1a1_to_h2i9 + r1a1_to_h3i0 + r1a1_to_h3i1 + r1a1_to_h3i2 + r1a1_to_h3i3 + r1a1_to_h3i4 + r1a1_to_h3i5 + r1a1_to_h3i6 + r1a1_to_h3i7 + r1a1_to_h3i8 + r1a1_to_h3i9 + r1a1_to_h4i0 + r1a1_to_h4i1 + r1a1_to_h4i2 + r1a1_to_h4i3 + r1a1_to_h4i4 + r1a1_to_h4i5 + r1a1_to_h4i6 + r1a1_to_h4i7 + r1a1_to_h4i8 + r1a1_to_h4i9 + r1a1_to_h5i0 + r1a1_to_h5i1 + r1a1_to_h5i2 + r1a1_to_h5i3 + r1a1_to_h5i4 + r1a1_to_h5i5 + r1a1_to_h5i6 + r1a1_to_h5i7 + r1a1_to_h5i8 + r1a1_to_h5i9 = 1
150 r1a1_to_h0i0_exists: h0i0_exists - r1a1_to_h0i0 >= 0
151 r1a1_to_h0i1_exists: h0i1_exists - r1a1_to_h0i1 >= 0
152 r1a1_to_h0i2_exists: h0i2_exists - r1a1_to_h0i2 >= 0
153 r1a1_to_h0i3_exists: h0i3_exists - r1a1_to_h0i3 >= 0
154 r1a1_to_h0i4_exists: h0i4_exists - r1a1_to_h0i4 >= 0
155 r1a1_to_h0i5_exists: h0i5_exists - r1a1_to_h0i5 >= 0
156 r1a1_to_h0i6_exists: h0i6_exists - r1a1_to_h0i6 >= 0
157 r1a1_to_h0i7_exists: h0i7_exists - r1a1_to_h0i7 >= 0
158 r1a1_to_h0i8_exists: h0i8_exists - r1a1_to_h0i8 >= 0
159 r1a1_to_h0i9_exists: h0i9_exists - r1a1_to_h0i9 >= 0
160 r1a1_to_h1i0_exists: h1i0_exists - r1a1_to_h1i0 >= 0
161 r1a1_to_h1i1_exists: h1i1_exists - r1a1_to_h1i1 >= 0
162 r1a1_to_h1i2_exists: h1i2_exists - r1a1_to_h1i2 >= 0
163 r1a1_to_h1i3_exists: h1i3_exists - r1a1_to_h1i3 >= 0
164 r1a1_to_h1i4_exists: h1i4_exists - r1a1_to_h1i4 >= 0
165 r1a1_to_h1i5_exists: h1i5_exists - r1a1_to_h1i5 >= 0
166 r1a1_to_h1i6_exists: h1i6_exists - r1a1_to_h1i6 >= 0
167 r1a1_to_h1i7_exists: h1i7_exists - r1a1_to_h1i7 >= 0
168 r1a1_to_h1i8_exists: h1i8_exists - r1a1_to_h1i8 >= 0
169 r1a1_to_h1i9_exists: h1i9_exists - r1a1_to_h1i9 >= 0
170 r1a1_to_h2i0_exists: h2i0_exists - r1a1_to_h2i0 >= 0
171 r1a1_to_h2i1_exists: h2i1_exists - r1a1_to_h2i1 >= 0
172 r1a1_to_h2i2_exists: h2i2_exists - r1a1_to_h2i2 >= 0
173 r1a1_to_h2i3_exists: h2i3_exists - r1a1_to_h2i3 >= 0
174 r1a1_to_h2i4_exists: h2i4_exists - r1a1_to_h2i4 >= 0
175 r1a1_to_h2i5_exists: h2i5_exists - r1a1_to_h2i5 >= 0
176 r1a1_to_h2i6_exists: h2i6_exists - r1a1_to_h2i6 >= 0
177 r1a1_to_h2i7_exists: h2i7_exists - r1a1_to_h2i7 >= 0
178 r1a1_to_h2i8_exists: h2i8_exists - r1a1_to_h2i8 >= 0
179 r1a1_to_h2i9_exists: h2i9_exists - r1a1_to_h2i9 >= 0
180 r1a1_to_h3i0_exists: h3i0_exists - r1a1_to_h3i0 >= 0
181 r1a1_to_h3i1_exists: h3i1_exists - r1a1_to_h3i1 >= 0
182 r1a1_to_h3i2_exists: h3i2_exists - r1a1_to_h3i2 >= 0
183 r1a1_to_h3i3_exists: h3i3_exists - r1a1_to_h3i3 >= 0
184 r1a1_to_h3i4_exists: h3i4_exists - r1a1_to_h3i4 >= 0
185 r1a1_to_h3i5_exists: h3i5_exists - r1a1_to_h3i5 >= 0
186 r1a1_to_h3i6_exists: h3i6_exists - r1a1_to_h3i6 >= 0
187 r1a1_to_h3i7_exists: h3i7_exists - r1a1_to_h3i7 >= 0
188 r1a1_to_h3i8_exists: h3i8_exists - r1a1_to_h3i8 >= 0
189 r1a1_to_h3i9_exists: h3i9_exists - r1a1_to_h3i9 >= 0
190 r1a1_to_h4i0_exists: h4i0_exists - r1a1_to_h4i0 >= 0
191 r1a1_to_h4i1_exists: h4i1_exists - r1a1_to_h4i1 >= 0
192 r1a1_to_h4i2_exists: h4i2_exists - r1a1_to_h4i2 >= 0
193 r1a1_to_h4i3_exists: h4i3_exists - r1a1_to_h4i3 >= 0
194 r1a1_to_h4i4_exists: h4i4_exists - r1a1_to_h4i4 >= 0
195 r1a1_to_h4i5_exists: h4i5_exists - r1a1_to_h4i5 >= 0
196 r1a1_to_h4i6_exists: h4i6_exists - r1a1_to_h4i6 >= 0
197 r1a1_to_h4i7_exists: h4i7_exists - r1a1_to_h4i7 >= 0
198 r1a1_to_h4i8_exists: h4i8_exists - r1a1_to_h4i8 >= 0
199 r1a1_to_h4i9_exists: h4i9_exists - r1a1_to_h4i9 >= 0
200 r1a1_to_h5i0_exists: h5i0_exists - r1a1_to_h5i0 >= 0
201 r1a1_to_h5i1_exists: h5i1_exists - r1a1_to_h5i1 >= 0
202 r1a1_to_h5i2_exists: h5i2_exists - r1a1_to_h5i2 >= 0
203 r1a1_to_h5i3_exists: h5i3_exists - r1a1_to_h5i3 >= 0
204 r1a1_to_h5i4_exists: h5i4_exists - r1a1_to_h5i4 >= 0
205 r1a1_to_h5i5_exists: h5i5_exists - r1a1_to_h5i5 >= 0
206 r1a1_to_h5i6_exists: h5i6_exists - r1a1_to_h5i6 >= 0
207 r1a1_to_h5i7_exists: h5i7_exists - r1a1_to_h5i7 >= 0
208 r1a1_to_h5i8_exists: h5i8_exists - r1a1_to_h5i8 >= 0
209 r1a1_to_h5i9_exists: h5i9_exists - r1a1_to_h5i9 >= 0
210 r1a2_allocated: r1a2_to_h0i0 + r1a2_to_h0i1 + r1a2_to_h0i2 + r1a2_to_h0i3 + r1a2_to_h0i4 + r1a2_to_h0i5 + r1a2_to_h0i6 + r1a2_to_h0i7 + r1a2_to_h0i8 + r1a2_to_h0i9 + r1a2_to_h1i0 + r1a2_to_h1i1 + r1a2_to_h1i2 + r1a2_to_h1i3 + r1a2_to_h1i4 + r1a2_to_h1i5 + r1a2_to_h1i6 + r1a2_to_h1i7 + r1a2_to_h1i8 + r1a2_to_h1i9 + r1a2_to_h2i0 + r1a2_to_h2i1 + r1a2_to_h2i2 + r1a2_to_h2i3 + r1a2_to_h2i4 + r1a2_to_h2i5 + r1a2_to_h2i6 + r1a2_to_h2i7 + r1a2_to_h2i8 + r1a2_to_h2i9 + r1a2_to_h3i0 + r1a2_to_h3i1 + r1a2_to_h3i2 + r1a2_to_h3i3 + r1a2_to_h3i4 + r1a2_to_h3i5 + r1a2_to_h3i6 + r1a2_to_h3i7 + r1a2_to_h3i8 + r1a2_to_h3i9 + r1a2_to_h4i0 + r1a2_to_h4i1 + r1a2_to_h4i2 + r1a2_to_h4i3 + r1a2_to_h4i4 + r1a2_to_h4i5 + r1a2_to_h4i6 + r1a2_to_h4i7 + r1a2_to_h4i8 + r1a2_to_h4i9 + r1a2_to_h5i0 + r1a2_to_h5i1 + r1a2_to_h5i2 + r1a2_to_h5i3 + r1a2_to_h5i4 + r1a2_to_h5i5 + r1a2_to_h5i6 + r1a2_to_h5i7 + r1a2_to_h5i8 + r1a2_to_h5i9 = 1
211 r1a2_to_h0i0_exists: h0i0_exists - r1a2_to_h0i0 >= 0
212 r1a2_to_h0i1_exists: h0i1_exists - r1a2_to_h0i1 >= 0
213 r1a2_to_h0i2_exists: h0i2_exists - r1a2_to_h0i2 >= 0
214 r1a2_to_h0i3_exists: h0i3_exists - r1a2_to_h0i3 >= 0
215 r1a2_to_h0i4_exists: h0i4_exists - r1a2_to_h0i4 >= 0
216 r1a2_to_h0i5_exists: h0i5_exists - r1a2_to_h0i5 >= 0
217 r1a2_to_h0i6_exists: h0i6_exists - r1a2_to_h0i6 >= 0
218 r1a2_to_h0i7_exists: h0i7_exists - r1a2_to_h0i7 >= 0
219 r1a2_to_h0i8_exists: h0i8_exists - r1a2_to_h0i8 >= 0
220 r1a2_to_h0i9_exists: h0i9_exists - r1a2_to_h0i9 >= 0
221 r1a2_to_h1i0_exists: h1i0_exists - r1a2_to_h1i0 >= 0
222 r1a2_to_h1i1_exists: h1i1_exists - r1a2_to_h1i1 >= 0
223 r1a2_to_h1i2_exists: h1i2_exists - r1a2_to_h1i2 >= 0
224 r1a2_to_h1i3_exists: h1i3_exists - r1a2_to_h1i3 >= 0
225 r1a2_to_h1i4_exists: h1i4_exists - r1a2_to_h1i4 >= 0
226 r1a2_to_h1i5_exists: h1i5_exists - r1a2_to_h1i5 >= 0
227 r1a2_to_h1i6_exists: h1i6_exists - r1a2_to_h1i6 >= 0
228 r1a2_to_h1i7_exists: h1i7_exists - r1a2_to_h1i7 >= 0
229 r1a2_to_h1i8_exists: h1i8_exists - r1a2_to_h1i8 >= 0
230 r1a2_to_h1i9_exists: h1i9_exists - r1a2_to_h1i9 >= 0
231 r1a2_to_h2i0_exists: h2i0_exists - r1a2_to_h2i0 >= 0
232 r1a2_to_h2i1_exists: h2i1_exists - r1a2_to_h2i1 >= 0
233 r1a2_to_h2i2_exists: h2i2_exists - r1a2_to_h2i2 >= 0
234 r1a2_to_h2i3_exists: h2i3_exists - r1a2_to_h2i3 >= 0
235 r1a2_to_h2i4_exists: h2i4_exists - r1a2_to_h2i4 >= 0
236 r1a2_to_h2i5_exists: h2i5_exists - r1a2_to_h2i5 >= 0
237 r1a2_to_h2i6_exists: h2i6_exists - r1a2_to_h2i6 >= 0
238 r1a2_to_h2i7_exists: h2i7_exists - r1a2_to_h2i7 >= 0
239 r1a2_to_h2i8_exists: h2i8_exists - r1a2_to_h2i8 >= 0
240 r1a2_to_h2i9_exists: h2i9_exists - r1a2_to_h2i9 >= 0
241 r1a2_to_h3i0_exists: h3i0_exists - r1a2_to_h3i0 >= 0
242 r1a2_to_h3i1_exists: h3i1_exists - r1a2_to_h3i1 >= 0
243 r1a2_to_h3i2_exists: h3i2_exists - r1a2_to_h3i2 >= 0
244 r1a2_to_h3i3_exists: h3i3_exists - r1a2_to_h3i3 >= 0
245 r1a2_to_h3i4_exists: h3i4_exists - r1a2_to_h3i4 >= 0
246 r1a2_to_h3i5_exists: h3i5_exists - r1a2_to_h3i5 >= 0
247 r1a2_to_h3i6_exists: h3i6_exists - r1a2_to_h3i6 >= 0
248 r1a2_to_h3i7_exists: h3i7_exists - r1a2_to_h3i7 >= 0
249 r1a2_to_h3i8_exists: h3i8_exists - r1a2_to_h3i8 >= 0
250 r1a2_to_h3i9_exists: h3i9_exists - r1a2_to_h3i9 >= 0
251 r1a2_to_h4i0_exists: h4i0_exists - r1a2_to_h4i0 >= 0
252 r1a2_to_h4i1_exists: h4i1_exists - r1a2_to_h4i1 >= 0
253 r1a2_to_h4i2_exists: h4i2_exists - r1a2_to_h4i2 >= 0
254 r1a2_to_h4i3_exists: h4i3_exists - r1a2_to_h4i3 >= 0
255 r1a2_to_h4i4_exists: h4i4_exists - r1a2_to_h4i4 >= 0
256 r1a2_to_h4i5_exists: h4i5_exists - r1a2_to_h4i5 >= 0
257 r1a2_to_h4i6_exists: h4i6_exists - r1a2_to_h4i6 >= 0
258 r1a2_to_h4i7_exists: h4i7_exists - r1a2_to_h4i7 >= 0
259 r1a2_to_h4i8_exists: h4i8_exists - r1a2_to_h4i8 >= 0
260 r1a2_to_h4i9_exists: h4i9_exists - r1a2_to_h4i9 >= 0
261 r1a2_to_h5i0_exists: h5i0_exists - r1a2_to_h5i0 >= 0
262 r1a2_to_h5i1_exists: h5i1_exists - r1a2_to_h5i1 >= 0
263 r1a2_to_h5i2_exists: h5i2_exists - r1a2_to_h5i2 >= 0
264 r1a2_to_h5i3_exists: h5i3_exists - r1a2_to_h5i3 >= 0
265 r1a2_to_h5i4_exists: h5i4_exists - r1a2_to_h5i4 >= 0
266 r1a2_to_h5i5_exists: h5i5_exists - r1a2_to_h5i5 >= 0
267 r1a2_to_h5i6_exists: h5i6_exists - r1a2_to_h5i6 >= 0
268 r1a2_to_h5i7_exists: h5i7_exists - r1a2_to_h5i7 >= 0
269 r1a2_to_h5i8_exists: h5i8_exists - r1a2_to_h5i8 >= 0
270 r1a2_to_h5i9_exists: h5i9_exists - r1a2_to_h5i9 >= 0
271 r2a0_allocated: r2a0_to_h0i0 + r2a0_to_h0i1 + r2a0_to_h0i2 + r2a0_to_h0i3 + r2a0_to_h0i4 + r2a0_to_h0i5 + r2a0_to_h0i6 + r2a0_to_h0i7 + r2a0_to_h0i8 + r2a0_to_h0i9 + r2a0_to_h1i0 + r2a0_to_h1i1 + r2a0_to_h1i2 + r2a0_to_h1i3 + r2a0_to_h1i4 + r2a0_to_h1i5 + r2a0_to_h1i6 + r2a0_to_h1i7 + r2a0_to_h1i8 + r2a0_to_h1i9 + r2a0_to_h2i0 + r2a0_to_h2i1 + r2a0_to_h2i2 + r2a0_to_h2i3 + r2a0_to_h2i4 + r2a0_to_h2i5 + r2a0_to_h2i6 + r2a0_to_h2i7 + r2a0_to_h2i8 + r2a0_to_h2i9 + r2a0_to_h3i0 + r2a0_to_h3i1 + r2a0_to_h3i2 + r2a0_to_h3i3 + r2a0_to_h3i4 + r2a0_to_h3i5 + r2a0_to_h3i6 + r2a0_to_h3i7 + r2a0_to_h3i8 + r2a0_to_h3i9 + r2a0_to_h4i0 + r2a0_to_h4i1 + r2a0_to_h4i2 + r2a0_to_h4i3 + r2a0_to_h4i4 + r2a0_to_h4i5 + r2a0_to_h4i6 + r2a0_to_h4i7 + r2a0_to_h4i8 + r2a0_to_h4i9 + r2a0_to_h5i0 + r2a0_to_h5i1 + r2a0_to_h5i2 + r2a0_to_h5i3 + r2a0_to_h5i4 + r2a0_to_h5i5 + r2a0_to_h5i6 + r2a0_to_h5i7 + r2a0_to_h5i8 + r2a0_to_h5i9 = 1
272 r2a0_to_h0i0_exists: h0i0_exists - r2a0_to_h0i0 >= 0
273 r2a0_to_h0i1_exists: h0i1_exists - r2a0_to_h0i1 >= 0
274 r2a0_to_h0i2_exists: h0i2_exists - r2a0_to_h0i2 >= 0
275 r2a0_to_h0i3_exists: h0i3_exists - r2a0_to_h0i3 >= 0
276 r2a0_to_h0i4_exists: h0i4_exists - r2a0_to_h0i4 >= 0
277 r2a0_to_h0i5_exists: h0i5_exists - r2a0_to_h0i5 >= 0
278 r2a0_to_h0i6_exists: h0i6_exists - r2a0_to_h0i6 >= 0
279 r2a0_to_h0i7_exists: h0i7_exists - r2a0_to_h0i7 >= 0
280 r2a0_to_h0i8_exists: h0i8_exists - r2a0_to_h0i8 >= 0
281 r2a0_to_h0i9_exists: h0i9_exists - r2a0_to_h0i9 >= 0
282 r2a0_to_h1i0_exists: h1i0_exists - r2a0_to_h1i0 >= 0
283 r2a0_to_h1i1_exists: h1i1_exists - r2a0_to_h1i1 >= 0
284 r2a0_to_h1i2_exists: h1i2_exists - r2a0_to_h1i2 >= 0
285 r2a0_to_h1i3_exists: h1i3_exists - r2a0_to_h1i3 >= 0
286 r2a0_to_h1i4_exists: h1i4_exists - r2a0_to_h1i4 >= 0
287 r2a0_to_h1i5_exists: h1i5_exists - r2a0_to_h1i5 >= 0
288 r2a0_to_h1i6_exists: h1i6_exists - r2a0_to_h1i6 >= 0
289 r2a0_to_h1i7_exists: h1i7_exists - r2a0_to_h1i7 >= 0
290 r2a0_to_h1i8_exists: h1i8_exists - r2a0_to_h1i8 >= 0
291 r2a0_to_h1i9_exists: h1i9_exists - r2a0_to_h1i9 >= 0
292 r2a0_to_h2i0_exists: h2i0_exists - r2a0_to_h2i0 >= 0
293 r2a0_to_h2i1_exists: h2i1_exists - r2a0_to_h2i1 >= 0
294 r2a0_to_h2i2_exists: h2i2_exists - r2a0_to_h2i2 >= 0
295 r2a0_to_h2i3_exists: h2i3_exists - r2a0_to_h2i3 >= 0
296 r2a0_to_h2i4_exists: h2i4_exists - r2a0_to_h2i4 >= 0
297 r2a0_to_h2i5_exists: h2i5_exists - r2a0_to_h2i5 >= 0
298 r2a0_to_h2i6_exists: h2i6_exists - r2a0_to_h2i6 >= 0
299 r2a0_to_h2i7_exists: h2i7_exists - r2a0_to_h2i7 >= 0
300 r2a0_to_h2i8_exists: h2i8_exists - r2a0_to_h2i8 >= 0
301 r2a0_to_h2i9_exists: h2i9_exists - r2a0_to_h2i9 >= 0
302 r2a0_to_h3i0_exists: h3i0_exists - r2a0_to_h3i0 >= 0
303 r2a0_to_h3i1_exists: h3i1_exists - r2a0_to_h3i1 >= 0
304 r2a0_to_h3i2_exists: h3i2_exists - r2a0_to_h3i2 >= 0
305 r2a0_to_h3i3_exists: h3i3_exists - r2a0_to_h3i3 >= 0
306 r2a0_to_h3i4_exists: h3i4_exists - r2a0_to_h3i4 >= 0
307 r2a0_to_h3i5_exists: h3i5_exists - r2a0_to_h3i5 >= 0
308 r2a0_to_h3i6_exists: h3i6_exists - r2a0_to_h3i6 >= 0
309 r2a0_to_h3i7_exists: h3i7_exists - r2a0_to_h3i7 >= 0
310 r2a0_to_h3i8_exists: h3i8_exists - r2a0_to_h3i8 >= 0
311 r2a0_to_h3i9_exists: h3i9_exists - r2a0_to_h3i9 >= 0
312 r2a0_to_h4i0_exists: h4i0_exists - r2a0_to_h4i0 >= 0
313 r2a0_to_h4i1_exists: h4i1_exists - r2a0_to_h4i1 >= 0
314 r2a0_to_h4i2_exists: h4i2_exists - r2a0_to_h4i2 >= 0
315 r2a0_to_h4i3_exists: h4i3_exists - r2a0_to_h4i3 >= 0
316 r2a0_to_h4i4_exists: h4i4_exists - r2a0_to_h4i4 >= 0
317 r2a0_to_h4i5_exists: h4i5_exists - r2a0_to_h4i5 >= 0
318 r2a0_to_h4i6_exists: h4i6_exists - r2a0_to_h4i6 >= 0
319 r2a0_to_h4i7_exists: h4i7_exists - r2a0_to_h4i7 >= 0
320 r2a0_to_h4i8_exists: h4i8_exists - r2a0_to_h4i8 >= 0
321 r2a0_to_h4i9_exists: h4i9_exists - r2a0_to_h4i9 >= 0
322 r2a0_to_h5i0_exists: h5i0_exists - r2a0_to_h5i0 >= 0
323 r2a0_to_h5i1_exists: h5i1_exists - r2a0_to_h5i1 >= 0
324 r2a0_to_h5i2_exists: h5i2_exists - r2a0_to_h5i2 >= 0
325 r2a0_to_h5i3_exists: h5i3_exists - r2a0_to_h5i3 >= 0
326 r2a0_to_h5i4_exists: h5i4_exists - r2a0_to_h5i4 >= 0
327 r2a0_to_h5i5_exists: h5i5_exists - r2a0_to_h5i5 >= 0
328 r2a0_to_h5i6_exists: h5i6_exists - r2a0_to_h5i6 >= 0
329 r2a0_to_h5i7_exists: h5i7_exists - r2a0_to_h5i7 >= 0
330 r2a0_to_h5i8_exists: h5i8_exists - r2a0_to_h5i8 >= 0
331 r2a0_to_h5i9_exists: h5i9_exists - r2a0_to_h5i9 >= 0
332 r3a0_allocated: r3a0_to_h0i0 + r3a0_to_h0i1 + r3a0_to_h0i2 + r3a0_to_h0i3 + r3a0_to_h0i4 + r3a0_to_h0i5 + r3a0_to_h0i6 + r3a0_to_h0i7 + r3a0_to_h0i8 + r3a0_to_h0i9 + r3a0_to_h1i0 + r3a0_to_h1i1 + r3a0_to_h1i2 + r3a0_to_h1i3 + r3a0_to_h1i4 + r3a0_to_h1i5 + r3a0_to_h1i6 + r3a0_to_h1i7 + r3a0_to_h1i8 + r3a0_to_h1i9 + r3a0_to_h2i0 + r3a0_to_h2i1 + r3a0_to_h2i2 + r3a0_to_h2i3 + r3a0_to_h2i4 + r3a0_to_h2i5 + r3a0_to_h2i6 + r3a0_to_h2i7 + r3a0_to_h2i8 + r3a0_to_h2i9 + r3a0_to_h3i0 + r3a0_to_h3i1 + r3a0_to_h3i2 + r3a0_to_h3i3 + r3a0_to_h3i4 + r3a0_to_h3i5 + r3a0_to_h3i6 + r3a0_to_h3i7 + r3a0_to_h3i8 + r3a0_to_h3i9 + r3a0_to_h4i0 + r3a0_to_h4i1 + r3a0_to_h4i2 + r3a0_to_h4i3 + r3a0_to_h4i4 + r3a0_to_h4i5 + r3a0_to_h4i6 + r3a0_to_h4i7 + r3a0_to_h4i8 + r3a0_to_h4i9 + r3a0_to_h5i0 + r3a0_to_h5i1 + r3a0_to_h5i2 + r3a0_to_h5i3 + r3a0_to_h5i4 + r3a0_to_h5i5 + r3a0_to_h5i6 + r3a0_to_h5i7 + r3a0_to_h5i8 + r3a0_to_h5i9 = 1
333 r3a0_to_h0i0_exists: h0i0_exists - r3a0_to_h0i0 >= 0
334 r3a0_to_h0i1_exists: h0i1_exists - r3a0_to_h0i1 >= 0
335 r3a0_to_h0i2_exists: h0i2_exists - r3a0_to_h0i2 >= 0
336 r3a0_to_h0i3_exists: h0i3_exists - r3a0_to_h0i3 >= 0
337 r3a0_to_h0i4_exists: h0i4_exists - r3a0_to_h0i4 >= 0
338 r3a0_to_h0i5_exists: h0i5_exists - r3a0_to_h0i5 >= 0
339 r3a0_to_h0i6_exists: h0i6_exists - r3a0_to_h0i6 >= 0
340 r3a0_to_h0i7_exists: h0i7_exists - r3a0_to_h0i7 >= 0
341 r3a0_to_h0i8_exists: h0i8_exists - r3a0_to_h0i8 >= 0
342 r3a0_to_h0i9_exists: h0i9_exists - r3a0_to_h0i9 >= 0
343 r3a0_to_h1i0_exists: h1i0_exists - r3a0_to_h1i0 >= 0
344 r3a0_to_h1i1_exists: h1i1_exists - r3a0_to_h1i1 >= 0
345 r3a0_to_h1i2_exists: h1i2_exists - r3a0_to_h1i2 >= 0
346 r3a0_to_h1i3_exists: h1i3_exists - r3a0_to_h1i3 >= 0
347 r3a0_to_h1i4_exists: h1i4_exists - r3a0_to_h1i4 >= 0
348 r3a0_to_h1i5_exists: h1i5_exists - r3a0_to_h1i5 >= 0
349 r3a0_to_h1i6_exists: h1i6_exists - r3a0_to_h1i6 >= 0
350 r3a0_to_h1i7_exists: h1i7_exists - r3a0_to_h1i7 >= 0
351 r3a0_to_h1i8_exists: h1i8_exists - r3a0_to_h1i8 >= 0
352 r3a0_to_h1i9_exists: h1i9_exists - r3a0_to_h1i9 >= 0
353 r3a0_to_h2i0_exists: h2i0_exists - r3a0_to_h2i0 >= 0
354 r3a0_to_h2i1_exists: h2i1_exists - r3a0_to_h2i1 >= 0
355 r3a0_to_h2i2_exists: h2i2_exists - r3a0_to_h2i2 >= 0
356 r3a0_to_h2i3_exists: h2i3_exists - r3a0_to_h2i3 >= 0
357 r3a0_to_h2i4_exists: h2i4_exists - r3a0_to_h2i4 >= 0
358 r3a0_to_h2i5_exists: h2i5_exists - r3a0_to_h2i5 >= 0
359 r3a0_to_h2i6_exists: h2i6_exists - r3a0_to_h2i6 >= 0
360 r3a0_to_h2i7_exists: h2i7_exists - r3a0_to_h2i7 >= 0
361 r3a0_to_h2i8_exists: h2i8_exists - r3a0_to_h2i8 >= 0
362 r3a0_to_h2i9_exists: h2i9_exists - r3a0_to_h2i9 >= 0
363 r3a0_to_h3i0_exists: h3i0_exists - r3a0_to_h3i0 >= 0
364 r3a0_to_h3i1_exists: h3i1_exists - r3a0_to_h3i1 >= 0
365 r3a0_to_h3i2_exists: h3i2_exists - r3a0_to_h3i2 >= 0
366 r3a0_to_h3i3_exists: h3i3_exists - r3a0_to_h3i3 >= 0
367 r3a0_to_h3i4_exists: h3i4_exists - r3a0_to_h3i4 >= 0
368 r3a0_to_h3i5_exists: h3i5_exists - r3a0_to_h3i5 >= 0
369 r3a0_to_h3i6_exists: h3i6_exists - r3a0_to_h3i6 >= 0
370 r3a0_to_h3i7_exists: h3i7_exists - r3a0_to_h3i7 >= 0
371 r3a0_to_h3i8_exists: h3i8_exists - r3a0_to_h3i8 >= 0
372 r3a0_to_h3i9_exists: h3i9_exists - r3a0_to_h3i9 >= 0
373 r3a0_to_h4i0_exists: h4i0_exists - r3a0_to_h4i0 >= 0
374 r3a0_to_h4i1_exists: h4i1_exists - r3a0_to_h4i1 >= 0
375 r3a0_to_h4i2_exists: h4i2_exists - r3a0_to_h4i2 >= 0
376 r3a0_to_h4i3_exists: h4i3_exists - r3a0_to_h4i3 >= 0
377 r3a0_to_h4i4_exists: h4i4_exists - r3a0_to_h4i4 >= 0
378 r3a0_to_h4i5_exists: h4i5_exists - r3a0_to_h4i5 >= 0
379 r3a0_to_h4i6_exists: h4i6_exists - r3a0_to_h4i6 >= 0
380 r3a0_to_h4i7_exists: h4i7_exists - r3a0_to_h4i7 >= 0
381 r3a0_to_h4i8_exists: h4i8_exists - r3a0_to_h4i8 >= 0
382 r3a0_to_h4i9_exists: h4i9_exists - r3a0_to_h4i9 >= 0
383 r3a0_to_h5i0_exists: h5i0_exists - r3a0_to_h5i0 >= 0
384 r3a0_to_h5i1_exists: h5i1_exists - r3a0_to_h5i1 >= 0
385 r3a0_to_h5i2_exists: h5i2_exists - r3a0_to_h5i2 >= 0
386 r3a0_to_h5i3_exists: h5i3_exists - r3a0_to_h5i3 >= 0
387 r3a0_to_h5i4_exists: h5i4_exists - r3a0_to_h5i4 >= 0
388 r3a0_to_h5i5_exists: h5i5_exists - r3a0_to_h5i5 >= 0
389 r3a0_to_h5i6_exists: h5i6_exists - r3a0_to_h5i6 >= 0
390 r3a0_to_h5i7_exists: h5i7_exists - r3a0_to_h5i7 >= 0
391 r3a0_to_h5i8_exists: h5i8_exists - r3a0_to_h5i8 >= 0
392 r3a0_to_h5i9_exists: h5i9_exists - r3a0_to_h5i9 >= 0
393 r4a0_allocated: r4a0_to_h4i0 + r4a0_to_h4i1 + r4a0_to_h4i2 + r4a0_to_h4i3 + r4a0_to_h4i4 + r4a0_to_h4i5 + r4a0_to_h4i6 + r4a0_to_h4i7 + r4a0_to_h4i8 + r4a0_to_h4i9 + r4a0_to_h5i0 + r4a0_to_h5i1 + r4a0_to_h5i2 + r4a0_to_h5i3 + r4a0_to_h5i4 + r4a0_to_h5i5 + r4a0_to_h5i6 + r4a0_to_h5i7 + r4a0_to_h5i8 + r4a0_to_h5i9 = 1
394 r4a0_to_h4i0_exists: h4i0_exists - r4a0_to_h4i0 >= 0
395 r4a0_to_h4i1_exists: h4i1_exists - r4a0_to_h4i1 >= 0
396 r4a0_to_h4i2_exists: h4i2_exists - r4a0_to_h4i2 >= 0
397 r4a0_to_h4i3_exists: h4i3_exists - r4a0_to_h4i3 >= 0
398 r4a0_to_h4i4_exists: h4i4_exists - r4a0_to_h4i4 >= 0
399 r4a0_to_h4i5_exists: h4i5_exists - r4a0_to_h4i5 >= 0
400 r4a0_to_h4i6_exists: h4i6_exists - r4a0_to_h4i6 >= 0
401 r4a0_to_h4i7_exists: h4i7_exists - r4a0_to_h4i7 >= 0
402 r4a0_to_h4i8_exists: h4i8_exists - r4a0_to_h4i8 >= 0
403 r4a0_to_h4i9_exists: h4i9_exists - r4a0_to_h4i9 >= 0
404 r4a0_to_h5i0_exists: h5i0_exists - r4a0_to_h5i0 >= 0
405 r4a0_to_h5i1_exists: h5i1_exists - r4a0_to_h5i1 >= 0
406 r4a0_to_h5i2_exists: h5i2_exists - r4a0_to_h5i2 >= 0
407 r4a0_to_h5i3_exists: h5i3_exists - r4a0_to_h5i3 >= 0
408 r4a0_to_h5i4_exists: h5i4_exists - r4a0_to_h5i4 >= 0
409 r4a0_to_h5i5_exists: h5i5_exists - r4a0_to_h5i5 >= 0
410 r4a0_to_h5i6_exists: h5i6_exists - r4a0_to_h5i6 >= 0
411 r4a0_to_h5i7_exists: h5i7_exists - r4a0_to_h5i7 >= 0
412 r4a0_to_h5i8_exists: h5i8_exists - r4a0_to_h5i8 >= 0
413 r4a0_to_h5i9_exists: h5i9_exists - r4a0_to_h5i9 >= 0
414 r4a1_allocated: r4a1_to_h4i0 + r4a1_to_h4i1 + r4a1_to_h4i2 + r4a1_to_h4i3 + r4a1_to_h4i4 + r4a1_to_h4i5 + r4a1_to_h4i6 + r4a1_to_h4i7 + r4a1_to_h4i8 + r4a1_to_h4i9 + r4a1_to_h5i0 + r4a1_to_h5i1 + r4a1_to_h5i2 + r4a1_to_h5i3 + r4a1_to_h5i4 + r4a1_to_h5i5 + r4a1_to_h5i6 + r4a1_to_h5i7 + r4a1_to_h5i8 + r4a1_to_h5i9 = 1
415 r4a1_to_h4i0_exists: h4i0_exists - r4a1_to_h4i0 >= 0
416 r4a1_to_h4i1_exists: h4i1_exists - r4a1_to_h4i1 >= 0
417 r4a1_to_h4i2_exists: h4i2_exists - r4a1_to_h4i2 >= 0
418 r4a1_to_h4i3_exists: h4i3_exists - r4a1_to_h4i3 >= 0
419 r4a1_to_h4i4_exists: h4i4_exists - r4a1_to_h4i4 >= 0
420 r4a1_to_h4i5_exists: h4i5_exists - r4a1_to_h4i5 >= 0
421 r4a1_to_h4i6_exists: h4i6_exists - r4a1_to_h4i6 >= 0
422 r4a1_to_h4i7_exists: h4i7_exists - r4a1_to_h4i7 >= 0
423 r4a1_to_h4i8_exists: h4i8_exists - r4a1_to_h4i8 >= 0
424 r4a1_to_h4i9_exists: h4i9_exists - r4a1_to_h4i9 >= 0
425 r4a1_to_h5i0_exists: h5i0_exists - r4a1_to_h5i0 >= 0
426 r4a1_to_h5i1_exists: h5i1_exists - r4a1_to_h5i1 >= 0
427 r4a1_to_h5i2_exists: h5i2_exists - r4a1_to_h5i2 >= 0
428 r4a1_to_h5i3_exists: h5i3_exists - r4a1_to_h5i3 >= 0
429 r4a1_to_h5i4_exists: h5i4_exists - r4a1_to_h5i4 >= 0
430 r4a1_to_h5i5_exists: h5i5_exists - r4a1_to_h5i5 >= 0
431 r4a1_to_h5i6_exists: h5i6_exists - r4a1_to_h5i6 >= 0
432 r4a1_to_h5i7_exists: h5i7_exists - r4a1_to_h5i7 >= 0
433 r4a1_to_h5i8_exists: h5i8_exists - r4a1_to_h5i8 >= 0
434 r4a1_to_h5i9_exists: h5i9_exists - r4a1_to_h5i9 >= 0
435 r4a2_allocated: r4a2_to_h4i0 + r4a2_to_h4i1 + r4a2_to_h4i2 + r4a2_to_h4i3 + r4a2_to_h4i4 + r4a2_to_h4i5 + r4a2_to_h4i6 + r4a2_to_h4i7 + r4a2_to_h4i8 + r4a2_to_h4i9 + r4a2_to_h5i0 + r4a2_to_h5i1 + r4a2_to_h5i2 + r4a2_to_h5i3 + r4a2_to_h5i4 + r4a2_to_h5i5 + r4a2_to_h5i6 + r4a2_to_h5i7 + r4a2_to_h5i8 + r4a2_to_h5i9 = 1
436 r4a2_to_h4i0_exists: h4i0_exists - r4a2_to_h4i0 >= 0
437 r4a2_to_h4i1_exists: h4i1_exists - r4a2_to_h4i1 >= 0
438 r4a2_to_h4i2_exists: h4i2_exists - r4a2_to_h4i2 >= 0
439 r4a2_to_h4i3_exists: h4i3_exists - r4a2_to_h4i3 >= 0
440 r4a2_to_h4i4_exists: h4i4_exists - r4a2_to_h4i4 >= 0
441 r4a2_to_h4i5_exists: h4i5_exists - r4a2_to_h4i5 >= 0
442 r4a2_to_h4i6_exists: h4i6_exists - r4a2_to_h4i6 >= 0
443 r4a2_to_h4i7_exists: h4i7_exists - r4a2_to_h4i7 >= 0
444 r4a2_to_h4i8_exists: h4i8_exists - r4a2_to_h4i8 >= 0
445 r4a2_to_h4i9_exists: h4i9_exists - r4a2_to_h4i9 >= 0
446 r4a2_to_h5i0_exists: h5i0_exists - r4a2_to_h5i0 >= 0
447 r4a2_to_h5i1_exists: h5i1_exists - r4a2_to_h5i1 >= 0
448 r4a2_to_h5i2_exists: h5i2_exists - r4a2_to_h5i2 >= 0
449 r4a2_to_h5i3_exists: h5i3_exists - r4a2_to_h5i3 >= 0
450 r4a2_to_h5i4_exists: h5i4_exists - r4a2_to_h5i4 >= 0
451 r4a2_to_h5i5_exists: h5i5_exists - r4a2_to_h5i5 >= 0
452 r4a2_to_h5i6_exists: h5i6_exists - r4a2_to_h5i6 >= 0
453 r4a2_to_h5i7_exists: h5i7_exists - r4a2_to_h5i7 >= 0
454 r4a2_to_h5i8_exists: h5i8_exists - r4a2_to_h5i8 >= 0
455 r4a2_to_h5i9_exists: h5i9_exists - r4a2_to_h5i9 >= 0
456 r4a3_allocated: r4a3_to_h4i0 + r4a3_to_h4i1 + r4a3_to_h4i2 + r4a3_to_h4i3 + r4a3_to_h4i4 + r4a3_to_h4i5 + r4a3_to_h4i6 + r4a3_to_h4i7 + r4a3_to_h4i8 + r4a3_to_h4i9 + r4a3_to_h5i0 + r4a3_to_h5i1 + r4a3_to_h5i2 + r4a3_to_h5i3 + r4a3_to_h5i4 + r4a3_to_h5i5 + r4a3_to_h5i6 + r4a3_to_h5i7 + r4a3_to_h5i8 + r4a3_to_h5i9 = 1
457 r4a3_to_h4i0_exists: h4i0_exists - r4a3_to_h4i0 >= 0
458 r4a3_to_h4i1_exists: h4i1_exists - r4a3_to_h4i1 >= 0
459 r4a3_to_h4i2_exists: h4i2_exists - r4a3_to_h4i2 >= 0
460 r4a3_to_h4i3_exists: h4i3_exists - r4a3_to_h4i3 >= 0
461 r4a3_to_h4i4_exists: h4i4_exists - r4a3_to_h4i4 >= 0
462 r4a3_to_h4i5_exists: h4i5_exists - r4a3_to_h4i5 >= 0
463 r4a3_to_h4i6_exists: h4i6_exists - r4a3_to_h4i6 >= 0
464 r4a3_to_h4i7_exists: h4i7_exists - r4a3_to_h4i7 >= 0
465 r4a3_to_h4i8_exists: h4i8_exists - r4a3_to_h4i8 >= 0
466 r4a3_to_h4i9_exists: h4i9_exists - r4a3_to_h4i9 >= 0
467 r4a3_to_h5i0_exists: h5i0_exists - r4a3_to_h5i0 >= 0
468 r4a3_to_h5i1_exists: h5i1_exists - r4a3_to_h5i1 >= 0
469 r4a3_to_h5i2_exists: h5i2_exists - r4a3_to_h5i2 >= 0
470 r4a3_to_h5i3_exists: h5i3_exists - r4a3_to_h5i3 >= 0
471 r4a3_to_h5i4_exists: h5i4_exists - r4a3_to_h5i4 >= 0
472 r4a3_to_h5i5_exists: h5i5_exists - r4a3_to_h5i5 >= 0
473 r4a3_to_h5i6_exists: h5i6_exists - r4a3_to_h5i6 >= 0
474 r4a3_to_h5i7_exists: h5i7_exists - r4a3_to_h5i7 >= 0
475 r4a3_to_h5i8_exists: h5i8_exists - r4a3_to_h5i8 >= 0
476 r4a3_to_h5i9_exists: h5i9_exists - r4a3_to_h5i9 >= 0
477 r5a0_allocated: r5a0_to_h0i0 + r5a0_to_h0i1 + r5a0_to_h0i2 + r5a0_to_h0i3 + r5a0_to_h0i4 + r5a0_to_h0i5 + r5a0_to_h0i6 + r5a0_to_h0i7 + r5a0_to_h0i8 + r5a0_to_h0i9 + r5a0_to_h1i0 + r5a0_to_h1i1 + r5a0_to_h1i2 + r5a0_to_h1i3 + r5a0_to_h1i4 + r5a0_to_h1i5 + r5a0_to_h1i6 + r5a0_to_h1i7 + r5a0_to_h1i8 + r5a0_to_h1i9 + r5a0_to_h2i0 + r5a0_to_h2i1 + r5a0_to_h2i2 + r5a0_to_h2i3 + r5a0_to_h2i4 + r5a0_to_h2i5 + r5a0_to_h2i6 + r5a0_to_h2i7 + r5a0_to_h2i8 + r5a0_to_h2i9 + r5a0_to_h3i0 + r5a0_to_h3i1 + r5a0_to_h3i2 + r5a0_to_h3i3 + r5a0_to_h3i4 + r5a0_to_h3i5 + r5a0_to_h3i6 + r5a0_to_h3i7 + r5a0_to_h3i8 + r5a0_to_h3i9 + r5a0_to_h4i0 + r5a0_to_h4i1 + r5a0_to_h4i2 + r5a0_to_h4i3 + r5a0_to_h4i4 + r5a0_to_h4i5 + r5a0_to_h4i6 + r5a0_to_h4i7 + r5a0_to_h4i8 + r5a0_to_h4i9 + r5a0_to_h5i0 + r5a0_to_h5i1 + r5a0_to_h5i2 + r5a0_to_h5i3 + r5a0_to_h5i4 + r5a0_to_h5i5 + r5a0_to_h5i6 + r5a0_to_h5i7 + r5a0_to_h5i8 + r5a0_to_h5i9 = 1
478 r5a0_to_h0i0_exists: h0i0_exists - r5a0_to_h0i0 >= 0
479 r5a0_to_h0i1_exists: h0i1_exists - r5a0_to_h0i1 >= 0
480 r5a0_to_h0i2_exists: h0i2_exists - r5a0_to_h0i2 >= 0
481 r5a0_to_h0i3_exists: h0i3_exists - r5a0_to_h0i3 >= 0
482 r5a0_to_h0i4_exists: h0i4_exists - r5a0_to_h0i4 >= 0
483 r5a0_to_h0i5_exists: h0i5_exists - r5a0_to_h0i5 >= 0
484 r5a0_to_h0i6_exists: h0i6_exists - r5a0_to_h0i6 >= 0
485 r5a0_to_h0i7_exists: h0i7_exists - r5a0_to_h0i7 >= 0
486 r5a0_to_h0i8_exists: h0i8_exists - r5a0_to_h0i8 >= 0
487 r5a0_to_h0i9_exists: h0i9_exists - r5a0_to_h0i9 >= 0
488 r5a0_to_h1i0_exists: h1i0_exists - r5a0_to_h1i0 >= 0
489 r5a0_to_h1i1_exists: h1i1_exists - r5a0_to_h1i1 >= 0
490 r5a0_to_h1i2_exists: h1i2_exists - r5a0_to_h1i2 >= 0
491 r5a0_to_h1i3_exists: h1i3_exists - r5a0_to_h1i3 >= 0
492 r5a0_to_h1i4_exists: h1i4_exists - r5a0_to_h1i4 >= 0
493 r5a0_to_h1i5_exists: h1i5_exists - r5a0_to_h1i5 >= 0
494 r5a0_to_h1i6_exists: h1i6_exists - r5a0_to_h1i6 >= 0
495 r5a0_to_h1i7_exists: h1i7_exists - r5a0_to_h1i7 >= 0
496 r5a0_to_h1i8_exists: h1i8_exists - r5a0_to_h1i8 >= 0
497 r5a0_to_h1i9_exists: h1i9_exists - r5a0_to_h1i9 >= 0
498 r5a0_to_h2i0_exists: h2i0_exists - r5a0_to_h2i0 >= 0
499 r5a0_to_h2i1_exists: h2i1_exists - r5a0_to_h2i1 >= 0
500 r5a0_to_h2i2_exists: h2i2_exists - r5a0_to_h2i2 >= 0
501 r5a0_to_h2i3_exists: h2i3_exists - r5a0_to_h2i3 >= 0
502 r5a0_to_h2i4_exists: h2i4_exists - r5a0_to_h2i4 >= 0
503 r5a0_to_h2i5_exists: h2i5_exists - r5a0_to_h2i5 >= 0
504 r5a0_to_h2i6_exists: h2i6_exists - r5a0_to_h2i6 >= 0
505 r5a0_to_h2i7_exists: h2i7_exists - r5a0_to_h2i7 >= 0
506 r5a0_to_h2i8_exists: h2i8_exists - r5a0_to_h2i8 >= 0
507 r5a0_to_h2i9_exists: h2i9_exists - r5a0_to_h2i9 >= 0
508 r5a0_to_h3i0_exists: h3i0_exists - r5a0_to_h3i0 >= 0
509 r5a0_to_h3i1_exists: h3i1_exists - r5a0_to_h3i1 >= 0
510 r5a0_to_h3i2_exists: h3i2_exists - r5a0_to_h3i2 >= 0
511 r5a0_to_h3i3_exists: h3i3_exists - r5a0_to_h3i3 >= 0
512 r5a0_to_h3i4_exists: h3i4_exists - r5a0_to_h3i4 >= 0
513 r5a0_to_h3i5_exists: h3i5_exists - r5a0_to_h3i5 >= 0
514 r5a0_to_h3i6_exists: h3i6_exists - r5a0_to_h3i6 >= 0
515 r5a0_to_h3i7_exists: h3i7_exists - r5a0_to_h3i7 >= 0
516 r5a0_to_h3i8_exists: h3i8_exists - r5a0_to_h3i8 >= 0
517 r5a0_to_h3i9_exists: h3i9_exists - r5a0_to_h3i9 >= 0
518 r5a0_to_h4i0_exists: h4i0_exists - r5a0_to_h4i0 >= 0
519 r5a0_to_h4i1_exists: h4i1_exists - r5a0_to_h4i1 >= 0
520 r5a0_to_h4i2_exists: h4i2_exists - r5a0_to_h4i2 >= 0
521 r5a0_to_h4i3_exists: h4i3_exists - r5a0_to_h4i3 >= 0
522 r5a0_to_h4i4_exists: h4i4_exists - r5a0_to_h4i4 >= 0
523 r5a0_to_h4i5_exists: h4i5_exists - r5a0_to_h4i5 >= 0
524 r5a0_to_h4i6_exists: h4i6_exists - r5a0_to_h4i6 >= 0
525 r5a0_to_h4i7_exists: h4i7_exists - r5a0_to_h4i7 >= 0
526 r5a0_to_h4i8_exists: h4i8_exists - r5a0_to_h4i8 >= 0
527 r5a0_to_h4i9_exists: h4i9_exists - r5a0_to_h4i9 >= 0
528 r5a0_to_h5i0_exists: h5i0_exists - r5a0_to_h5i0 >= 0
529 r5a0_to_h5i1_exists: h5i1_exists - r5a0_to_h5i1 >= 0
530 r5a0_to_h5i2_exists: h5i2_exists - r5a0_to_h5i2 >= 0
531 r5a0_to_h5i3_exists: h5i3_exists - r5a0_to_h5i3 >= 0
532 r5a0_to_h5i4_exists: h5i4_exists - r5a0_to_h5i4 >= 0
533 r5a0_to_h5i5_exists: h5i5_exists - r5a0_to_h5i5 >= 0
534 r5a0_to_h5i6_exists: h5i6_exists - r5a0_to_h5i6 >= 0
535 r5a0_to_h5i7_exists: h5i7_exists - r5a0_to_h5i7 >= 0
536 r5a0_to_h5i8_exists: h5i8_exists - r5a0_to_h5i8 >= 0
537 r5a0_to_h5i9_exists: h5i9_exists - r5a0_to_h5i9 >= 0
538 r6a0_allocated: r6a0_to_h0i0 + r6a0_to_h0i1 + r6a0_to_h0i2 + r6a0_to_h0i3 + r6a0_to_h0i4 + r6a0_to_h0i5 + r6a0_to_h0i6 + r6a0_to_h0i7 + r6a0_to_h0i8 + r6a0_to_h0i9 + r6a0_to_h1i0 + r6a0_to_h1i1 + r6a0_to_h1i2 + r6a0_to_h1i3 + r6a0_to_h1i4 + r6a0_to_h1i5 + r6a0_to_h1i6 + r6a0_to_h1i7 + r6a0_to_h1i8 + r6a0_to_h1i9 + r6a0_to_h2i0 + r6a0_to_h2i1 + r6a0_to_h2i2 + r6a0_to_h2i3 + r6a0_to_h2i4 + r6a0_to_h2i5 + r6a0_to_h2i6 + r6a0_to_h2i7 + r6a0_to_h2i8 + r6a0_to_h2i9 + r6a0_to_h3i0 + r6a0_to_h3i1 + r6a0_to_h3i2 + r6a0_to_h3i3 + r6a0_to_h3i4 + r6a0_to_h3i5 + r6a0_to_h3i6 + r6a0_to_h3i7 + r6a0_to_h3i8 + r6a0_to_h3i9 + r6a0_to_h4i0 + r6a0_to_h4i1 + r6a0_to_h4i2 + r6a0_to_h4i3 + r6a0_to_h4i4 + r6a0_to_h4i5 + r6a0_to_h4i6 + r6a0_to_h4i7 + r6a0_to_h4i8 + r6a0_to_h4i9 + r6a0_to_h5i0 + r6a0_to_h5i1 + r6a0_to_h5i2 + r6a0_to_h5i3 + r6a0_to_h5i4 + r6a0_to_h5i5 + r6a0_to_h5i6 + r6a0_to_h5i7 + r6a0_to_h5i8 + r6a0_to_h5i9 = 1
539 r6a0_to_h0i0_exists: h0i0_exists - r6a0_to_h0i0 >= 0
540 r6a0_to_h0i1_exists: h0i1_exists - r6a0_to_h0i1 >= 0
541 r6a0_to_h0i2_exists: h0i2_exists - r6a0_to_h0i2 >= 0
542 r6a0_to_h0i3_exists: h0i3_exists - r6a0_to_h0i3 >= 0
543 r6a0_to_h0i4_exists: h0i4_exists - r6a0_to_h0i4 >= 0
544 r6a0_to_h0i5_exists: h0i5_exists - r6a0_to_h0i5 >= 0
545 r6a0_to_h0i6_exists: h0i6_exists - r6a0_to_h0i6 >= 0
546 r6a0_to_h0i7_exists: h0i7_exists - r6a0_to_h0i7 >= 0
547 r6a0_to_h0i8_exists: h0i8_exists - r6a0_to_h0i8 >= 0
548 r6a0_to_h0i9_exists: h0i9_exists - r6a0_to_h0i9 >= 0
549 r6a0_to_h1i0_exists: h1i0_exists - r6a0_to_h1i0 >= 0
550 r6a0_to_h1i1_exists: h1i1_exists - r6a0_to_h1i1 >= 0
551 r6a0_to_h1i2_exists: h1i2_exists - r6a0_to_h1i2 >= 0
552 r6a0_to_h1i3_exists: h1i3_exists - r6a0_to_h1i3 >= 0
553 r6a0_to_h1i4_exists: h1i4_exists - r6a0_to_h1i4 >= 0
554 r6a0_to_h1i5_exists: h1i5_exists - r6a0_to_h1i5 >= 0
555 r6a0_to_h1i6_exists: h1i6_exists - r6a0_to_h1i6 >= 0
556 r6a0_to_h1i7_exists: h1i7_exists - r6a0_to_h1i7 >= 0
557 r6a0_to_h1i8_exists: h1i8_exists - r6a0_to_h1i8 >= 0
558 r6a0_to_h1i9_exists: h1i9_exists - r6a0_to_h1i9 >= 0
559 r6a0_to_h2i0_exists: h2i0_exists - r6a0_to_h2i0 >= 0
560 r6a0_to_h2i1_exists: h2i1_exists - r6a0_to_h2i1 >= 0
561 r6a0_to_h2i2_exists: h2i2_exists - r6a0_to_h2i2 >= 0
562 r6a0_to_h2i3_exists: h2i3_exists - r6a0_to_h2i3 >= 0
563 r6a0_to_h2i4_exists: h2i4_exists - r6a0_to_h2i4 >= 0
564 r6a0_to_h2i5_exists: h2i5_exists - r6a0_to_h2i5 >= 0
565 r6a0_to_h2i6_exists: h2i6_exists - r6a0_to_h2i6 >= 0
566 r6a0_to_h2i7_exists: h2i7_exists - r6a0_to_h2i7 >= 0
567 r6a0_to_h2i8_exists: h2i8_exists - r6a0_to_h2i8 >= 0
568 r6a0_to_h2i9_exists: h2i9_exists - r6a0_to_h2i9 >= 0
569 r6a0_to_h3i0_exists: h3i0_exists - r6a0_to_h3i0 >= 0
570 r6a0_to_h3i1_exists: h3i1_exists - r6a0_to_h3i1 >= 0
571 r6a0_to_h3i2_exists: h3i2_exists - r6a0_to_h3i2 >= 0
572 r6a0_to_h3i3_exists: h3i3_exists - r6a0_to_h3i3 >= 0
573 r6a0_to_h3i4_exists: h3i4_exists - r6a0_to_h3i4 >= 0
574 r6a0_to_h3i5_exists: h3i5_exists - r6a0_to_h3i5 >= 0
575 r6a0_to_h3i6_exists: h3i6_exists - r6a0_to_h3i6 >= 0
576 r6a0_to_h3i7_exists: h3i7_exists - r6a0_to_h3i7 >= 0
577 r6a0_to_h3i8_exists: h3i8_exists - r6a0_to_h3i8 >= 0
578 r6a0_to_h3i9_exists: h3i9_exists - r6a0_to_h3i9 >= 0
579 r6a0_to_h4i0_exists: h4i0_exists - r6a0_to_h4i0 >= 0
580 r6a0_to_h4i1_exists: h4i1_exists - r6a0_to_h4i1 >= 0
581 r6a0_to_h4i2_exists: h4i2_exists - r6a0_to_h4i2 >= 0
582 r6a0_to_h4i3_exists: h4i3_exists - r6a0_to_h4i3 >= 0
583 r6a0_to_h4i4_exists: h4i4_exists - r6a0_to_h4i4 >= 0
584 r6a0_to_h4i5_exists: h4i5_exists - r6a0_to_h4i5 >= 0
585 r6a0_to_h4i6_exists: h4i6_exists - r6a0_to_h4i6 >= 0
586 r6a0_to_h4i7_exists: h4i7_exists - r6a0_to_h4i7 >= 0
587 r6a0_to_h4i8_exists: h4i8_exists - r6a0_to_h4i8 >= 0
588 r6a0_to_h4i9_exists: h4i9_exists - r6a0_to_h4i9 >= 0
589 r6a0_to_h5i0_exists: h5i0_exists - r6a0_to_h5i0 >= 0
590 r6a0_to_h5i1_exists: h5i1_exists - r6a0_to_h5i1 >= 0
591 r6a0_to_h5i2_exists: h5i2_exists - r6a0_to_h5i2 >= 0
592 r6a0_to_h5i3_exists: h5i3_exists - r6a0_to_h5i3 >= 0
593 r6a0_to_h5i4_exists: h5i4_exists - r6a0_to_h5i4 >= 0
594 r6a0_to_h5i5_exists: h5i5_exists - r6a0_to_h5i5 >= 0
595 r6a0_to_h5i6_exists: h5i6_exists - r6a0_to_h5i6 >= 0
596 r6a0_to_h5i7_exists: h5i7_exists - r6a0_to_h5i7 >= 0
597 r6a0_to_h5i8_exists: h5i8_exists - r6a0_to_h5i8 >= 0
598 r6a0_to_h5i9_exists: h5i9_exists - r6a0_to_h5i9 >= 0
599 r6a1_allocated: r6a1_to_h0i0 + r6a1_to_h0i1 + r6a1_to_h0i2 + r6a1_to_h0i3 + r6a1_to_h0i4 + r6a1_to_h0i5 + r6a1_to_h0i6 + r6a1_to_h0i7 + r6a1_to_h0i8 + r6a1_to_h0i9 + r6a1_to_h1i0 + r6a1_to_h1i1 + r6a1_to_h1i2 + r6a1_to_h1i3 + r6a1_to_h1i4 + r6a1_to_h1i5 + r6a1_to_h1i6 + r6a1_to_h1i7 + r6a1_to_h1i8 + r6a1_to_h1i9 + r6a1_to_h2i0 + r6a1_to_h2i1 + r6a1_to_h2i2 + r6a1_to_h2i3 + r6a1_to_h2i4 + r6a1_to_h2i5 + r6a1_to_h2i6 + r6a1_to_h2i7 + r6a1_to_h2i8 + r6a1_to_h2i9 + r6a1_to_h3i0 + r6a1_to_h3i1 + r6a1_to_h3i2 + r6a1_to_h3i3 + r6a1_to_h3i4 + r6a1_to_h3i5 + r6a1_to_h3i6 + r6a1_to_h3i7 + r6a1_to_h3i8 + r6a1_to_h3i9 + r6a1_to_h4i0 + r6a1_to_h4i1 + r6a1_to_h4i2 + r6a1_to_h4i3 + r6a1_to_h4i4 + r6a1_to_h4i5 + r6a1_to_h4i6 + r6a1_to_h4i7 + r6a1_to_h4i8 + r6a1_to_h4i9 + r6a1_to_h5i0 + r6a1_to_h5i1 + r6a1_to_h5i2 + r6a1_to_h5i3 + r6a1_to_h5i4 + r6a1_to_h5i5 + r6a1_to_h5i6 + r6a1_to_h5i7 + r6a1_to_h5i8 + r6a1_to_h5i9 = 1
600 r6a1_to_h0i0_exists: h0i0_exists - r6a1_to_h0i0 >= 0
601 r6a1_to_h0i1_exists: h0i1_exists - r6a1_to_h0i1 >= 0
602 r6a1_to_h0i2_exists: h0i2_exists - r6a1_to_h0i2 >= 0
603 r6a1_to_h0i3_exists: h0i3_exists - r6a1_to_h0i3 >= 0
604 r6a1_to_h0i4_exists: h0i4_exists - r6a1_to_h0i4 >= 0
605 r6a1_to_h0i5_exists: h0i5_exists - r6a1_to_h0i5 >= 0
606 r6a1_to_h0i6_exists: h0i6_exists - r6a1_to_h0i6 >= 0
607 r6a1_to_h0i7_exists: h0i7_exists - r6a1_to_h0i7 >= 0
608 r6a1_to_h0i8_exists: h0i8_exists - r6a1_to_h0i8 >= 0
609 r6a1_to_h0i9_exists: h0i9_exists - r6a1_to_h0i9 >= 0
610 r6a1_to_h1i0_exists: h1i0_exists - r6a1_to_h1i0 >= 0
611 r6a1_to_h1i1_exists: h1i1_exists - r6a1_to_h1i1 >= 0
612 r6a1_to_h1i2_exists: h1i2_exists - r6a1_to_h1i2 >= 0
613 r6a1_to_h1i3_exists: h1i3_exists - r6a1_to_h1i3 >= 0
614 r6a1_to_h1i4_exists: h1i4_exists - r6a1_to_h1i4 >= 0
615 r6a1_to_h1i5_exists: h1i5_exists - r6a1_to_h1i5 >= 0
616 r6a1_to_h1i6_exists: h1i6_exists - r6a1_to_h1i6 >= 0
617 r6a1_to_h1i7_exists: h1i7_exists - r6a1_to_h1i7 >= 0
618 r6a1_to_h1i8_exists: h1i8_exists - r6a1_to_h1i8 >= 0
619 r6a1_to_h1i9_exists: h1i9_exists - r6a1_to_h1i9 >= 0
620 r6a1_to_h2i0_exists: h2i0_exists - r6a1_to_h2i0 >= 0
621 r6a1_to_h2i1_exists: h2i1_exists - r6a1_to_h2i1 >= 0
622 r6a1_to_h2i2_exists: h2i2_exists - r6a1_to_h2i2 >= 0
623 r6a1_to_h2i3_exists: h2i3_exists - r6a1_to_h2i3 >= 0
624 r6a1_to_h2i4_exists: h2i4_exists - r6a1_to_h2i4 >= 0
625 r6a1_to_h2i5_exists: h2i5_exists - r6a1_to_h2i5 >= 0
626 r6a1_to_h2i6_exists: h2i6_exists - r6a1_to_h2i6 >= 0
627 r6a1_to_h2i7_exists: h2i7_exists - r6a1_to_h2i7 >= 0
628 r6a1_to_h2i8_exists: h2i8_exists - r6a1_to_h2i8 >= 0
629 r6a1_to_h2i9_exists: h2i9_exists - r6a1_to_h2i9 >= 0
630 r6a1_to_h3i0_exists: h3i0_exists - r6a1_to_h3i0 >= 0
631 r6a1_to_h3i1_exists: h3i1_exists - r6a1_to_h3i1 >= 0
632 r6a1_to_h3i2_exists: h3i2_exists - r6a1_to_h3i2 >= 0
633 r6a1_to_h3i3_exists: h3i3_exists - r6a1_to_h3i3 >= 0
634 r6a1_to_h3i4_exists: h3i4_exists - r6a1_to_h3i4 >= 0
635 r6a1_to_h3i5_exists: h3i5_exists - r6a1_to_h3i5 >= 0
636 r6a1_to_h3i6_exists: h3i6_exists - r6a1_to_h3i6 >= 0
637 r6a1_to_h3i7_exists: h3i7_exists - r6a1_to_h3i7 >= 0
638 r6a1_to_h3i8_exists: h3i8_exists - r6a1_to_h3i8 >= 0
639 r6a1_to_h3i9_exists: h3i9_exists - r6a1_to_h3i9 >= 0
640 r6a1_to_h4i0_exists: h4i0_exists - r6a1_to_h4i0 >= 0
641 r6a1_to_h4i1_exists: h4i1_exists - r6a1_to_h4i1 >= 0
642 r6a1_to_h4i2_exists: h4i2_exists - r6a1_to_h4i2 >= 0
643 r6a1_to_h4i3_exists: h4i3_exists - r6a1_to_h4i3 >= 0
644 r6a1_to_h4i4_exists: h4i4_exists - r6a1_to_h4i4 >= 0
645 r6a1_to_h4i5_exists: h4i5_exists - r6a1_to_h4i5 >= 0
646 r6a1_to_h4i6_exists: h4i6_exists - r6a1_to_h4i6 >= 0
647 r6a1_to_h4i7_exists: h4i7_exists - r6a1_to_h4i7 >= 0
648 r6a1_to_h4i8_exists: h4i8_exists - r6a1_to_h4i8 >= 0
649 r6a1_to_h4i9_exists: h4i9_exists - r6a1_to_h4i9 >= 0
650 r6a1_to_h5i0_exists: h5i0_exists - r6a1_to_h5i0 >= 0
651 r6a1_to_h5i1_exists: h5i1_exists - r6a1_to_h5i1 >= 0
652 r6a1_to_h5i2_exists: h5i2_exists - r6a1_to_h5i2 >= 0
653 r6a1_to_h5i3_exists: h5i3_exists - r6a1_to_h5i3 >= 0
654 r6a1_to_h5i4_exists: h5i4_exists - r6a1_to_h5i4 >= 0
655 r6a1_to_h5i5_exists: h5i5_exists - r6a1_to_h5i5 >= 0
656 r6a1_to_h5i6_exists: h5i6_exists - r6a1_to_h5i6 >= 0
657 r6a1_to_h5i7_exists: h5i7_exists - r6a1_to_h5i7 >= 0
658 r6a1_to_h5i8_exists: h5i8_exists - r6a1_to_h5i8 >= 0
659 r6a1_to_h5i9_exists: h5i9_exists - r6a1_to_h5i9 >= 0
660 r6a2_allocated: r6a2_to_h0i0 + r6a2_to_h0i1 + r6a2_to_h0i2 + r6a2_to_h0i3 + r6a2_to_h0i4 + r6a2_to_h0i5 + r6a2_to_h0i6 + r6a2_to_h0i7 + r6a2_to_h0i8 + r6a2_to_h0i9 + r6a2_to_h1i0 + r6a2_to_h1i1 + r6a2_to_h1i2 + r6a2_to_h1i3 + r6a2_to_h1i4 + r6a2_to_h1i5 + r6a2_to_h1i6 + r6a2_to_h1i7 + r6a2_to_h1i8 + r6a2_to_h1i9 + r6a2_to_h2i0 + r6a2_to_h2i1 + r6a2_to_h2i2 + r6a2_to_h2i3 + r6a2_to_h2i4 + r6a2_to_h2i5 + r6a2_to_h2i6 + r6a2_to_h2i7 + r6a2_to_h2i8 + r6a2_to_h2i9 + r6a2_to_h3i0 + r6a2_to_h3i1 + r6a2_to_h3i2 + r6a2_to_h3i3 + r6a2_to_h3i4 + r6a2_to_h3i5 + r6a2_to_h3i6 + r6a2_to_h3i7 + r6a2_to_h3i8 + r6a2_to_h3i9 + r6a2_to_h4i0 + r6a2_to_h4i1 + r6a2_to_h4i2 + r6a2_to_h4i3 + r6a2_to_h4i4 + r6a2_to_h4i5 + r6a2_to_h4i6 + r6a2_to_h4i7 + r6a2_to_h4i8 + r6a2_to_h4i9 + r6a2_to_h5i0 + r6a2_to_h5i1 + r6a2_to_h5i2 + r6a2_to_h5i3 + r6a2_to_h5i4 + r6a2_to_h5i5 + r6a2_to_h5i6 + r6a2_to_h5i7 + r6a2_to_h5i8 + r6a2_to_h5i9 = 1
661 r6a2_to_h0i0_exists: h0i0_exists - r6a2_to_h0i0 >= 0
662 r6a2_to_h0i1_exists: h0i1_exists - r6a2_to_h0i1 >= 0
663 r6a2_to_h0i2_exists: h0i2_exists - r6a2_to_h0i2 >= 0
664 r6a2_to_h0i3_exists: h0i3_exists - r6a2_to_h0i3 >= 0
665 r6a2_to_h0i4_exists: h0i4_exists - r6a2_to_h0i4 >= 0
666 r6a2_to_h0i5_exists: h0i5_exists - r6a2_to_h0i5 >= 0
667 r6a2_to_h0i6_exists: h0i6_exists - r6a2_to_h0i6 >= 0
668 r6a2_to_h0i7_exists: h0i7_exists - r6a2_to_h0i7 >= 0
669 r6a2_to_h0i8_exists: h0i8_exists - r6a2_to_h0i8 >= 0
670 r6a2_to_h0i9_exists: h0i9_exists - r6a2_to_h0i9 >= 0
671 r6a2_to_h1i0_exists: h1i0_exists - r6a2_to_h1i0 >= 0
672 r6a2_to_h1i1_exists: h1i1_exists - r6a2_to_h1i1 >= 0
673 r6a2_to_h1i2_exists: h1i2_exists - r6a2_to_h1i2 >= 0
674 r6a2_to_h1i3_exists: h1i3_exists - r6a2_to_h1i3 >= 0
675 r6a2_to_h1i4_exists: h1i4_exists - r6a2_to_h1i4 >= 0
676 r6a2_to_h1i5_exists: h1i5_exists - r6a2_to_h1i5 >= 0
677 r6a2_to_h1i6_exists: h1i6_exists - r6a2_to_h1i6 >= 0
678 r6a2_to_h1i7_exists: h1i7_exists - r6a2_to_h1i7 >= 0
679 r6a2_to_h1i8_exists: h1i8_exists - r6a2_to_h1i8 >= 0
680 r6a2_to_h1i9_exists: h1i9_exists - r6a2_to_h1i9 >= 0
681 r6a2_to_h2i0_exists: h2i0_exists - r6a2_to_h2i0 >= 0
682 r6a2_to_h2i1_exists: h2i1_exists - r6a2_to_h2i1 >= 0
683 r6a2_to_h2i2_exists: h2i2_exists - r6a2_to_h2i2 >= 0
684 r6a2_to_h2i3_exists: h2i3_exists - r6a2_to_h2i3 >= 0
685 r6a2_to_h2i4_exists: h2i4_exists - r6a2_to_h2i4 >= 0
686 r6a2_to_h2i5_exists: h2i5_exists - r6a2_to_h2i5 >= 0
687 r6a2_to_h2i6_exists: h2i6_exists - r6a2_to_h2i6 >= 0
688 r6a2_to_h2i7_exists: h2i7_exists - r6a2_to_h2i7 >= 0
689 r6a2_to_h2i8_exists: h2i8_exists - r6a2_to_h2i8 >= 0
690 r6a2_to_h2i9_exists: h2i9_exists - r6a2_to_h2i9 >= 0
691 r6a2_to_h3i0_exists: h3i0_exists - r6a2_to_h3i0 >= 0
692 r6a2_to_h3i1_exists: h3i1_exists - r6a2_to_h3i1 >= 0
693 r6a2_to_h3i2_exists: h3i2_exists - r6a2_to_h3i2 >= 0
694 r6a2_to_h3i3_exists: h3i3_exists - r6a2_to_h3i3 >= 0
695 r6a2_to_h3i4_exists: h3i4_exists - r6a2_to_h3i4 >= 0
696 r6a2_to_h3i5_exists: h3i5_exists - r6a2_to_h3i5 >= 0
697 r6a2_to_h3i6_exists: h3i6_exists - r6a2_to_h3i6 >= 0
698 r6a2_to_h3i7_exists: h3i7_exists - r6a2_to_h3i7 >= 0
699 r6a2_to_h3i8_exists: h3i8_exists - r6a2_to_h3i8 >= 0
700 r6a2_to_h3i9_exists: h3i9_exists - r6a2_to_h3i9 >= 0
701 r6a2_to_h4i0_exists: h4i0_exists - r6a2_to_h4i0 >= 0
702 r6a2_to_h4i1_exists: h4i1_exists - r6a2_to_h4i1 >= 0
703 r6a2_to_h4i2_exists: h4i2_exists - r6a2_to_h4i2 >= 0
704 r6a2_to_h4i3_exists: h4i3_exists - r6a2_to_h4i3 >= 0
705 r6a2_to_h4i4_exists: h4i4_exists - r6a2_to_h4i4 >= 0
706 r6a2_to_h4i5_exists: h4i5_exists - r6a2_to_h4i5 >= 0
707 r6a2_to_h4i6_exists: h4i6_exists - r6a2_to_h4i6 >= 0
708 r6a2_to_h4i7_exists: h4i7_exists - r6a2_to_h4i7 >= 0
709 r6a2_to_h4i8_exists: h4i8_exists - r6a2_to_h4i8 >= 0
710 r6a2_to_h4i9_exists: h4i9_exists - r6a2_to_h4i9 >= 0
711 r6a2_to_h5i0_exists: h5i0_exists - r6a2_to_h5i0 >= 0
712 r6a2_to_h5i1_exists: h5i1_exists - r6a2_to_h5i1 >= 0
713 r6a2_to_h5i2_exists: h5i2_exists - r6a2_to_h5i2 >= 0
714 r6a2_to_h5i3_exists: h5i3_exists - r6a2_to_h5i3 >= 0
715 r6a2_to_h5i4_exists: h5i4_exists - r6a2_to_h5i4 >= 0
716 r6a2_to_h5i5_exists: h5i5_exists - r6a2_to_h5i5 >= 0
717 r6a2_to_h5i6_exists: h5i6_exists - r6a2_to_h5i6 >= 0
718 r6a2_to_h5i7_exists: h5i7_exists - r6a2_to_h5i7 >= 0
719 r6a2_to_h5i8_exists: h5i8_exists - r6a2_to_h5i8 >= 0
720 r6a2_to_h5i9_exists: h5i9_exists - r6a2_to_h5i9 >= 0
721 r6a3_allocated: r6a3_to_h0i0 + r6a3_to_h0i1 + r6a3_to_h0i2 + r6a3_to_h0i3 + r6a3_to_h0i4 + r6a3_to_h0i5 + r6a3_to_h0i6 + r6a3_to_h0i7 + r6a3_to_h0i8 + r6a3_to_h0i9 + r6a3_to_h1i0 + r6a3_to_h1i1 + r6a3_to_h1i2 + r6a3_to_h1i3 + r6a3_to_h1i4 + r6a3_to_h1i5 + r6a3_to_h1i6 + r6a3_to_h1i7 + r6a3_to_h1i8 + r6a3_to_h1i9 + r6a3_to_h2i0 + r6a3_to_h2i1 + r6a3_to_h2i2 + r6a3_to_h2i3 + r6a3_to_h2i4 + r6a3_to_h2i5 + r6a3_to_h2i6 + r6a3_to_h2i7 + r6a3_to_h2i8 + r6a3_to_h2i9 + r6a3_to_h3i0 + r6a3_to_h3i1 + r6a3_to_h3i2 + r6a3_to_h3i3 + r6a3_to_h3i4 + r6a3_to_h3i5 + r6a3_to_h3i6 + r6a3_to_h3i7 + r6a3_to_h3i8 + r6a3_to_h3i9 + r6a3_to_h4i0 + r6a3_to_h4i1 + r6a3_to_h4i2 + r6a3_to_h4i3 + r6a3_to_h4i4 + r6a3_to_h4i5 + r6a3_to_h4i6 + r6a3_to_h4i7 + r6a3_to_h4i8 + r6a3_to_h4i9 + r6a3_to_h5i0 + r6a3_to_h5i1 + r6a3_to_h5i2 + r6a3_to_h5i3 + r6a3_to_h5i4 + r6a3_to_h5i5 + r6a3_to_h5i6 + r6a3_to_h5i7 + r6a3_to_h5i8 + r6a3_to_h5i9 = 1
722 r6a3_to_h0i0_exists: h0i0_exists - r6a3_to_h0i0 >= 0
723 r6a3_to_h0i1_exists: h0i1_exists - r6a3_to_h0i1 >= 0
724 r6a3_to_h0i2_exists: h0i2_exists - r6a3_to_h0i2 >= 0
725 r6a3_to_h0i3_exists: h0i3_exists - r6a3_to_h0i3 >= 0
726 r6a3_to_h0i4_exists: h0i4_exists - r6a3_to_h0i4 >= 0
727 r6a3_to_h0i5_exists: h0i5_exists - r6a3_to_h0i5 >= 0
728 r6a3_to_h0i6_exists: h0i6_exists - r6a3_to_h0i6 >= 0
729 r6a3_to_h0i7_exists: h0i7_exists - r6a3_to_h0i7 >= 0
730 r6a3_to_h0i8_exists: h0i8_exists - r6a3_to_h0i8 >= 0
731 r6a3_to_h0i9_exists: h0i9_exists - r6a3_to_h0i9 >= 0
732 r6a3_to_h1i0_exists: h1i0_exists - r6a3_to_h1i0 >= 0
733 r6a3_to_h1i1_exists: h1i1_exists - r6a3_to_h1i1 >= 0
734 r6a3_to_h1i2_exists: h1i2_exists - r6a3_to_h1i2 >= 0
735 r6a3_to_h1i3_exists: h1i3_exists - r6a3_to_h1i3 >= 0
736 r6a3_to_h1i4_exists: h1i4_exists - r6a3_to_h1i4 >= 0
737 r6a3_to_h1i5_exists: h1i5_exists - r6a3_to_h1i5 >= 0
738 r6a3_to_h1i6_exists: h1i6_exists - r6a3_to_h1i6 >= 0
739 r6a3_to_h1i7_exists: h1i7_exists - r6a3_to_h1i7 >= 0
740 r6a3_to_h1i8_exists: h1i8_exists - r6a3_to_h1i8 >= 0
741 r6a3_to_h1i9_exists: h1i9_exists - r6a3_to_h1i9 >= 0
742 r6a3_to_h2i0_exists: h2i0_exists - r6a3_to_h2i0 >= 0
743 r6a3_to_h2i1_exists: h2i1_exists - r6a3_to_h2i1 >= 0
744 r6a3_to_h2i2_exists: h2i2_exists - r6a3_to_h2i2 >= 0
745 r6a3_to_h2i3_exists: h2i3_exists - r6a3_to_h2i3 >= 0
746 r6a3_to_h2i4_exists: h2i4_exists - r6a3_to_h2i4 >= 0
747 r6a3_to_h2i5_exists: h2i5_exists - r6a3_to_h2i5 >= 0
748 r6a3_to_h2i6_exists: h2i6_exists - r6a3_to_h2i6 >= 0
749 r6a3_to_h2i7_exists: h2i7_exists - r6a3_to_h2i7 >= 0
750 r6a3_to_h2i8_exists: h2i8_exists - r6a3_to_h2i8 >= 0
751 r6a3_to_h2i9_exists: h2i9_exists - r6a3_to_h2i9 >= 0
752 r6a3_to_h3i0_exists: h3i0_exists - r6a3_to_h3i0 >= 0
753 r6a3_to_h3i1_exists: h3i1_exists - r6a3_to_h3i1 >= 0
754 r6a3_to_h3i2_exists: h3i2_exists - r6a3_to_h3i2 >= 0
755 r6a3_to_h3i3_exists: h3i3_exists - r6a3_to_h3i3 >= 0
756 r6a3_to_h3i4_exists: h3i4_exists - r6a3_to_h3i4 >= 0
757 r6a3_to_h3i5_exists: h3i5_exists - r6a3_to_h3i5 >= 0
758 r6a3_to_h3i6_exists: h3i6_exists - r6a3_to_h3i6 >= 0
759 r6a3_to_h3i7_exists: h3i7_exists - r6a3_to_h3i7 >= 0
760 r6a3_to_h3i8_exists: h3i8_exists - r6a3_to_h3i8 >= 0
761 r6a3_to_h3i9_exists: h3i9_exists - r6a3_to_h3i9 >= 0
762 r6a3_to_h4i0_exists: h4i0_exists - r6a3_to_h4i0 >= 0
763 r6a3_to_h4i1_exists: h4i1_exists - r6a3_to_h4i1 >= 0
764 r6a3_to_h4i2_exists: h4i2_exists - r6a3_to_h4i2 >= 0
765 r6a3_to_h4i3_exists: h4i3_exists - r6a3_to_h4i3 >= 0
766 r6a3_to_h4i4_exists: h4i4_exists - r6a3_to_h4i4 >= 0
767 r6a3_to_h4i5_exists: h4i5_exists - r6a3_to_h4i5 >= 0
768 r6a3_to_h4i6_exists: h4i6_exists - r6a3_to_h4i6 >= 0
769 r6a3_to_h4i7_exists: h4i7_exists - r6a3_to_h4i7 >= 0
770 r6a3_to_h4i8_exists: h4i8_exists - r6a3_to_h4i8 >= 0
771 r6a3_to_h4i9_exists: h4i9_exists - r6a3_to_h4i9 >= 0
772 r6a3_to_h5i0_exists: h5i0_exists - r6a3_to_h5i0 >= 0
773 r6a3_to_h5i1_exists: h5i1_exists - r6a3_to_h5i1 >= 0
774 r6a3_to_h5i2_exists: h5i2_exists - r6a3_to_h5i2 >= 0
775 r6a3_to_h5i3_exists: h5i3_exists - r6a3_to_h5i3 >= 0
776 r6a3_to_h5i4_exists: h5i4_exists - r6a3_to_h5i4 >= 0
777 r6a3_to_h5i5_exists: h5i5_exists - r6a3_to_h5i5 >= 0
778 r6a3_to_h5i6_exists: h5i6_exists - r6a3_to_h5i6 >= 0
779 r6a3_to_h5i7_exists: h5i7_exists - r6a3_to_h5i7 >= 0
780 r6a3_to_h5i8_exists: h5i8_exists - r6a3_to_h5i8 >= 0
781 r6a3_to_h5i9_exists: h5i9_exists - r6a3_to_h5i9 >= 0
782 r7a0_allocated: r7a0_to_h0i0 + r7a0_to_h0i1 + r7a0_to_h0i2 + r7a0_to_h0i3 + r7a0_to_h0i4 + r7a0_to_h0i5 + r7a0_to_h0i6 + r7a0_to_h0i7 + r7a0_to_h0i8 + r7a0_to_h0i9 + r7a0_to_h1i0 + r7a0_to_h1i1 + r7a0_to_h1i2 + r7a0_to_h1i3 + r7a0_to_h1i4 + r7a0_to_h1i5 + r7a0_to_h1i6 + r7a0_to_h1i7 + r7a0_to_h1i8 + r7a0_to_h1i9 + r7a0_to_h2i0 + r7a0_to_h2i1 + r7a0_to_h2i2 + r7a0_to_h2i3 + r7a0_to_h2i4 + r7a0_to_h2i5 + r7a0_to_h2i6 + r7a0_to_h2i7 + r7a0_to_h2i8 + r7a0_to_h2i9 + r7a0_to_h3i0 + r7a0_to_h3i1 + r7a0_to_h3i2 + r7a0_to_h3i3 + r7a0_to_h3i4 + r7a0_to_h3i5 + r7a0_to_h3i6 + r7a0_to_h3i7 + r7a0_to_h3i8 + r7a0_to_h3i9 + r7a0_to_h4i0 + r7a0_to_h4i1 + r7a0_to_h4i2 + r7a0_to_h4i3 + r7a0_to_h4i4 + r7a0_to_h4i5 + r7a0_to_h4i6 + r7a0_to_h4i7 + r7a0_to_h4i8 + r7a0_to_h4i9 + r7a0_to_h5i0 + r7a0_to_h5i1 + r7a0_to_h5i2 + r7a0_to_h5i3 + r7a0_to_h5i4 + r7a0_to_h5i5 + r7a0_to_h5i6 + r7a0_to_h5i7 + r7a0_to_h5i8 + r7a0_to_h5i9 = 1
783 r7a0_to_h0i0_exists: h0i0_exists - r7a0_to_h0i0 >= 0
784 r7a0_to_h0i1_exists: h0i1_exists - r7a0_to_h0i1 >= 0
785 r7a0_to_h0i2_exists: h0i2_exists - r7a0_to_h0i2 >= 0
786 r7a0_to_h0i3_exists: h0i3_exists - r7a0_to_h0i3 >= 0
787 r7a0_to_h0i4_exists: h0i4_exists - r7a0_to_h0i4 >= 0
788 r7a0_to_h0i5_exists: h0i5_exists - r7a0_to_h0i5 >= 0
789 r7a0_to_h0i6_exists: h0i6_exists - r7a0_to_h0i6 >= 0
790 r7a0_to_h0i7_exists: h0i7_exists - r7a0_to_h0i7 >= 0
791 r7a0_to_h0i8_exists: h0i8_exists - r7a0_to_h0i8 >= 0
792 r7a0_to_h0i9_exists: h0i9_exists - r7a0_to_h0i9 >= 0
793 r7a0_to_h1i0_exists: h1i0_exists - r7a0_to_h1i0 >= 0
794 r7a0_to_h1i1_exists: h1i1_exists - r7a0_to_h1i1 >= 0
795 r7a0_to_h1i2_exists: h1i2_exists - r7a0_to_h1i2 >= 0
796 r7a0_to_h1i3_exists: h1i3_exists - r7a0_to_h1i3 >= 0
797 r7a0_to_h1i4_exists: h1i4_exists - r7a0_to_h1i4 >= 0
798 r7a0_to_h1i5_exists: h1i5_exists - r7a0_to_h1i5 >= 0
799 r7a0_to_h1i6_exists: h1i6_exists - r7a0_to_h1i6 >= 0
800 r7a0_to_h1i7_exists: h1i7_exists - r7a0_to_h1i7 >= 0
801 r7a0_to_h1i8_exists: h1i8_exists - r7a0_to_h1i8 >= 0
802 r7a0_to_h1i9_exists: h1i9_exists - r7a0_to_h1i9 >= 0
803 r7a0_to_h2i0_exists: h2i0_exists - r7a0_to_h2i0 >= 0
804 r7a0_to_h2i1_exists: h2i1_exists - r7a0_to_h2i1 >= 0
805 r7a0_to_h2i2_exists: h2i2_exists - r7a0_to_h2i2 >= 0
806 r7a0_to_h2i3_exists: h2i3_exists - r7a0_to_h2i3 >= 0
807 r7a0_to_h2i4_exists: h2i4_exists - r7a0_to_h2i4 >= 0
808 r7a0_to_h2i5_exists: h2i5_exists - r7a0_to_h2i5 >= 0
809 r7a0_to_h2i6_exists: h2i6_exists - r7a0_to_h2i6 >= 0
810 r7a0_to_h2i7_exists: h2i7_exists - r7a0_to_h2i7 >= 0
811 r7a0_to_h2i8_exists: h2i8_exists - r7a0_to_h2i8 >= 0
812 r7a0_to_h2i9_exists: h2i9_exists - r7a0_to_h2i9 >= 0
813 r7a0_to_h3i0_exists: h3i0_exists - r7a0_to_h3i0 >= 0
814 r7a0_to_h3i1_exists: h3i1_exists - r7a0_to_h3i1 >= 0
815 r7a0_to_h3i2_exists: h3i2_exists - r7a0_to_h3i2 >= 0
816 r7a0_to_h3i3_exists: h3i3_exists - r7a0_to_h3i3 >= 0
817 r7a0_to_h3i4_exists: h3i4_exists - r7a0_to_h3i4 >= 0
818 r7a0_to_h3i5_exists: h3i5_exists - r7a0_to_h3i5 >= 0
819 r7a0_to_h3i6_exists: h3i6_exists - r7a0_to_h3i6 >= 0
820 r7a0_to_h3i7_exists: h3i7_exists - r7a0_to_h3i7 >= 0
821 r7a0_to_h3i8_exists: h3i8_exists - r7a0_to_h3i8 >= 0
822 r7a0_to_h3i9_exists: h3i9_exists - r7a0_to_h3i9 >= 0
823 r7a0_to_h4i0_exists: h4i0_exists - r7a0_to_h4i0 >= 0
824 r7a0_to_h4i1_exists: h4i1_exists - r7a0_to_h4i1 >= 0
825 r7a0_to_h4i2_exists: h4i2_exists - r7a0_to_h4i2 >= 0
826 r7a0_to_h4i3_exists: h4i3_exists - r7a0_to_h4i3 >= 0
827 r7a0_to_h4i4_exists: h4i4_exists - r7a0_to_h4i4 >= 0
828 r7a0_to_h4i5_exists: h4i5_exists - r7a0_to_h4i5 >= 0
829 r7a0_to_h4i6_exists: h4i6_exists - r7a0_to_h4i6 >= 0
830 r7a0_to_h4i7_exists: h4i7_exists - r7a0_to_h4i7 >= 0
831 r7a0_to_h4i8_exists: h4i8_exists - r7a0_to_h4i8 >= 0
832 r7a0_to_h4i9_exists: h4i9_exists - r7a0_to_h4i9 >= 0
833 r7a0_to_h5i0_exists: h5i0_exists - r7a0_to_h5i0 >= 0
834 r7a0_to_h5i1_exists: h5i1_exists - r7a0_to_h5i1 >= 0
835 r7a0_to_h5i2_exists: h5i2_exists - r7a0_to_h5i2 >= 0
836 r7a0_to_h5i3_exists: h5i3_exists - r7a0_to_h5i3 >= 0
837 r7a0_to_h5i4_exists: h5i4_exists - r7a0_to_h5i4 >= 0
838 r7a0_to_h5i5_exists: h5i5_exists - r7a0_to_h5i5 >= 0
839 r7a0_to_h5i6_exists: h5i6_exists - r7a0_to_h5i6 >= 0
840 r7a0_to_h5i7_exists: h5i7_exists - r7a0_to_h5i7 >= 0
841 r7a0_to_h5i8_exists: h5i8_exists - r7a0_to_h5i8 >= 0
842 r7a0_to_h5i9_exists: h5i9_exists - r7a0_to_h5i9 >= 0
843 r7a1_allocated: r7a1_to_h0i0 + r7a1_to_h0i1 + r7a1_to_h0i2 + r7a1_to_h0i3 + r7a1_to_h0i4 + r7a1_to_h0i5 + r7a1_to_h0i6 + r7a1_to_h0i7 + r7a1_to_h0i8 + r7a1_to_h0i9 + r7a1_to_h1i0 + r7a1_to_h1i1 + r7a1_to_h1i2 + r7a1_to_h1i3 + r7a1_to_h1i4 + r7a1_to_h1i5 + r7a1_to_h1i6 + r7a1_to_h1i7 + r7a1_to_h1i8 + r7a1_to_h1i9 + r7a1_to_h2i0 + r7a1_to_h2i1 + r7a1_to_h2i2 + r7a1_to_h2i3 + r7a1_to_h2i4 + r7a1_to_h2i5 + r7a1_to_h2i6 + r7a1_to_h2i7 + r7a1_to_h2i8 + r7a1_to_h2i9 + r7a1_to_h3i0 + r7a1_to_h3i1 + r7a1_to_h3i2 + r7a1_to_h3i3 + r7a1_to_h3i4 + r7a1_to_h3i5 + r7a1_to_h3i6 + r7a1_to_h3i7 + r7a1_to_h3i8 + r7a1_to_h3i9 + r7a1_to_h4i0 + r7a1_to_h4i1 + r7a1_to_h4i2 + r7a1_to_h4i3 + r7a1_to_h4i4 + r7a1_to_h4i5 + r7a1_to_h4i6 + r7a1_to_h4i7 + r7a1_to_h4i8 + r7a1_to_h4i9 + r7a1_to_h5i0 + r7a1_to_h5i1 + r7a1_to_h5i2 + r7a1_to_h5i3 + r7a1_to_h5i4 + r7a1_to_h5i5 + r7a1_to_h5i6 + r7a1_to_h5i7 + r7a1_to_h5i8 + r7a1_to_h5i9 = 1
844 r7a1_to_h0i0_exists: h0i0_exists - r7a1_to_h0i0 >= 0
845 r7a1_to_h0i1_exists: h0i1_exists - r7a1_to_h0i1 >= 0
846 r7a1_to_h0i2_exists: h0i2_exists - r7a1_to_h0i2 >= 0
847 r7a1_to_h0i3_exists: h0i3_exists - r7a1_to_h0i3 >= 0
848 r7a1_to_h0i4_exists: h0i4_exists - r7a1_to_h0i4 >= 0
849 r7a1_to_h0i5_exists: h0i5_exists - r7a1_to_h0i5 >= 0
850 r7a1_to_h0i6_exists: h0i6_exists - r7a1_to_h0i6 >= 0
851 r7a1_to_h0i7_exists: h0i7_exists - r7a1_to_h0i7 >= 0
852 r7a1_to_h0i8_exists: h0i8_exists - r7a1_to_h0i8 >= 0
853 r7a1_to_h0i9_exists: h0i9_exists - r7a1_to_h0i9 >= 0
854 r7a1_to_h1i0_exists: h1i0_exists - r7a1_to_h1i0 >= 0
855 r7a1_to_h1i1_exists: h1i1_exists - r7a1_to_h1i1 >= 0
856 r7a1_to_h1i2_exists: h1i2_exists - r7a1_to_h1i2 >= 0
857 r7a1_to_h1i3_exists: h1i3_exists - r7a1_to_h1i3 >= 0
858 r7a1_to_h1i4_exists: h1i4_exists - r7a1_to_h1i4 >= 0
859 r7a1_to_h1i5_exists: h1i5_exists - r7a1_to_h1i5 >= 0
860 r7a1_to_h1i6_exists: h1i6_exists - r7a1_to_h1i6 >= 0
861 r7a1_to_h1i7_exists: h1i7_exists - r7a1_to_h1i7 >= 0
862 r7a1_to_h1i8_exists: h1i8_exists - r7a1_to_h1i8 >= 0
863 r7a1_to_h1i9_exists: h1i9_exists - r7a1_to_h1i9 >= 0
864 r7a1_to_h2i0_exists: h2i0_exists - r7a1_to_h2i0 >= 0
865 r7a1_to_h2i1_exists: h2i1_exists - r7a1_to_h2i1 >= 0
866 r7a1_to_h2i2_exists: h2i2_exists - r7a1_to_h2i2 >= 0
867 r7a1_to_h2i3_exists: h2i3_exists - r7a1_to_h2i3 >= 0
868 r7a1_to_h2i4_exists: h2i4_exists - r7a1_to_h2i4 >= 0
869 r7a1_to_h2i5_exists: h2i5_exists - r7a1_to_h2i5 >= 0
870 r7a1_to_h2i6_exists: h2i6_exists - r7a1_to_h2i6 >= 0
871 r7a1_to_h2i7_exists: h2i7_exists - r7a1_to_h2i7 >= 0
872 r7a1_to_h2i8_exists: h2i8_exists - r7a1_to_h2i8 >= 0
873 r7a1_to_h2i9_exists: h2i9_exists - r7a1_to_h2i9 >= 0
874 r7a1_to_h3i0_exists: h3i0_exists - r7a1_to_h3i0 >= 0
875 r7a1_to_h3i1_exists: h3i1_exists - r7a1_to_h3i1 >= 0
876 r7a1_to_h3i2_exists: h3i2_exists - r7a1_to_h3i2 >= 0
877 r7a1_to_h3i3_exists: h3i3_exists - r7a1_to_h3i3 >= 0
878 r7a1_to_h3i4_exists: h3i4_exists - r7a1_to_h3i4 >= 0
879 r7a1_to_h3i5_exists: h3i5_exists - r7a1_to_h3i5 >= 0
880 r7a1_to_h3i6_exists: h3i6_exists - r7a1_to_h3i6 >= 0
881 r7a1_to_h3i7_exists: h3i7_exists - r7a1_to_h3i7 >= 0
882 r7a1_to_h3i8_exists: h3i8_exists - r7a1_to_h3i8 >= 0
883 r7a1_to_h3i9_exists: h3i9_exists - r7a1_to_h3i9 >= 0
884 r7a1_to_h4i0_exists: h4i0_exists - r7a1_to_h4i0 >= 0
885 r7a1_to_h4i1_exists: h4i1_exists - r7a1_to_h4i1 >= 0
886 r7a1_to_h4i2_exists: h4i2_exists - r7a1_to_h4i2 >= 0
887 r7a1_to_h4i3_exists: h4i3_exists - r7a1_to_h4i3 >= 0
888 r7a1_to_h4i4_exists: h4i4_exists - r7a1_to_h4i4 >= 0
889 r7a1_to_h4i5_exists: h4i5_exists - r7a1_to_h4i5 >= 0
890 r7a1_to_h4i6_exists: h4i6_exists - r7a1_to_h4i6 >= 0
891 r7a1_to_h4i7_exists: h4i7_exists - r7a1_to_h4i7 >= 0
892 r7a1_to_h4i8_exists: h4i8_exists - r7a1_to_h4i8 >= 0
893 r7a1_to_h4i9_exists: h4i9_exists - r7a1_to_h4i9 >= 0
894 r7a1_to_h5i0_exists: h5i0_exists - r7a1_to_h5i0 >= 0
895 r7a1_to_h5i1_exists: h5i1_exists - r7a1_to_h5i1 >= 0
896 r7a1_to_h5i2_exists: h5i2_exists - r7a1_to_h5i2 >= 0
897 r7a1_to_h5i3_exists: h5i3_exists - r7a1_to_h5i3 >= 0
898 r7a1_to_h5i4_exists: h5i4_exists - r7a1_to_h5i4 >= 0
899 r7a1_to_h5i5_exists: h5i5_exists - r7a1_to_h5i5 >= 0
900 r7a1_to_h5i6_exists: h5i6_exists - r7a1_to_h5i6 >= 0
901 r7a1_to_h5i7_exists: h5i7_exists - r7a1_to_h5i7 >= 0
902 r7a1_to_h5i8_exists: h5i8_exists - r7a1_to_h5i8 >= 0
903 r7a1_to_h5i9_exists: h5i9_exists - r7a1_to_h5i9 >= 0
904 r7a2_allocated: r7a2_to_h0i0 + r7a2_to_h0i1 + r7a2_to_h0i2 + r7a2_to_h0i3 + r7a2_to_h0i4 + r7a2_to_h0i5 + r7a2_to_h0i6 + r7a2_to_h0i7 + r7a2_to_h0i8 + r7a2_to_h0i9 + r7a2_to_h1i0 + r7a2_to_h1i1 + r7a2_to_h1i2 + r7a2_to_h1i3 + r7a2_to_h1i4 + r7a2_to_h1i5 + r7a2_to_h1i6 + r7a2_to_h1i7 + r7a2_to_h1i8 + r7a2_to_h1i9 + r7a2_to_h2i0 + r7a2_to_h2i1 + r7a2_to_h2i2 + r7a2_to_h2i3 + r7a2_to_h2i4 + r7a2_to_h2i5 + r7a2_to_h2i6 + r7a2_to_h2i7 + r7a2_to_h2i8 + r7a2_to_h2i9 + r7a2_to_h3i0 + r7a2_to_h3i1 + r7a2_to_h3i2 + r7a2_to_h3i3 + r7a2_to_h3i4 + r7a2_to_h3i5 + r7a2_to_h3i6 + r7a2_to_h3i7 + r7a2_to_h3i8 + r7a2_to_h3i9 + r7a2_to_h4i0 + r7a2_to_h4i1 + r7a2_to_h4i2 + r7a2_to_h4i3 + r7a2_to_h4i4 + r7a2_to_h4i5 + r7a2_to_h4i6 + r7a2_to_h4i7 + r7a2_to_h4i8 + r7a2_to_h4i9 + r7a2_to_h5i0 + r7a2_to_h5i1 + r7a2_to_h5i2 + r7a2_to_h5i3 + r7a2_to_h5i4 + r7a2_to_h5i5 + r7a2_to_h5i6 + r7a2_to_h5i7 + r7a2_to_h5i8 + r7a2_to_h5i9 = 1
905 r7a2_to_h0i0_exists: h0i0_exists - r7a2_to_h0i0 >= 0
906 r7a2_to_h0i1_exists: h0i1_exists - r7a2_to_h0i1 >= 0
907 r7a2_to_h0i2_exists: h0i2_exists - r7a2_to_h0i2 >= 0
908 r7a2_to_h0i3_exists: h0i3_exists - r7a2_to_h0i3 >= 0
909 r7a2_to_h0i4_exists: h0i4_exists - r7a2_to_h0i4 >= 0
910 r7a2_to_h0i5_exists: h0i5_exists - r7a2_to_h0i5 >= 0
911 r7a2_to_h0i6_exists: h0i6_exists - r7a2_to_h0i6 >= 0
912 r7a2_to_h0i7_exists: h0i7_exists - r7a2_to_h0i7 >= 0
913 r7a2_to_h0i8_exists: h0i8_exists - r7a2_to_h0i8 >= 0
914 r7a2_to_h0i9_exists: h0i9_exists - r7a2_to_h0i9 >= 0
915 r7a2_to_h1i0_exists: h1i0_exists - r7a2_to_h1i0 >= 0
916 r7a2_to_h1i1_exists: h1i1_exists - r7a2_to_h1i1 >= 0
917 r7a2_to_h1i2_exists: h1i2_exists - r7a2_to_h1i2 >= 0
918 r7a2_to_h1i3_exists: h1i3_exists - r7a2_to_h1i3 >= 0
919 r7a2_to_h1i4_exists: h1i4_exists - r7a2_to_h1i4 >= 0
920 r7a2_to_h1i5_exists: h1i5_exists - r7a2_to_h1i5 >= 0
921 r7a2_to_h1i6_exists: h1i6_exists - r7a2_to_h1i6 >= 0
922 r7a2_to_h1i7_exists: h1i7_exists - r7a2_to_h1i7 >= 0
923 r7a2_to_h1i8_exists: h1i8_exists - r7a2_to_h1i8 >= 0
924 r7a2_to_h1i9_exists: h1i9_exists - r7a2_to_h1i9 >= 0
925 r7a2_to_h2i0_exists: h2i0_exists - r7a2_to_h2i0 >= 0
926 r7a2_to_h2i1_exists: h2i1_exists - r7a2_to_h2i1 >= 0
927 r7a2_to_h2i2_exists: h2i2_exists - r7a2_to_h2i2 >= 0
928 r7a2_to_h2i3_exists: h2i3_exists - r7a2_to_h2i3 >= 0
929 r7a2_to_h2i4_exists: h2i4_exists - r7a2_to_h2i4 >= 0
930 r7a2_to_h2i5_exists: h2i5_exists - r7a2_to_h2i5 >= 0
931 r7a2_to_h2i6_exists: h2i6_exists - r7a2_to_h2i6 >= 0
932 r7a2_to_h2i7_exists: h2i7_exists - r7a2_to_h2i7 >= 0
933 r7a2_to_h2i8_exists: h2i8_exists - r7a2_to_h2i8 >= 0
934 r7a2_to_h2i9_exists: h2i9_exists - r7a2_to_h2i9 >= 0
935 r7a2_to_h3i0_exists: h3i0_exists - r7a2_to_h3i0 >= 0
936 r7a2_to_h3i1_exists: h3i1_exists - r7a2_to_h3i1 >= 0
937 r7a2_to_h3i2_exists: h3i2_exists - r7a2_to_h3i2 >= 0
938 r7a2_to_h3i3_exists: h3i3_exists - r7a2_to_h3i3 >= 0
939 r7a2_to_h3i4_exists: h3i4_exists - r7a2_to_h3i4 >= 0
940 r7a2_to_h3i5_exists: h3i5_exists - r7a2_to_h3i5 >= 0
941 r7a2_to_h3i6_exists: h3i6_exists - r7a2_to_h3i6 >= 0
942 r7a2_to_h3i7_exists: h3i7_exists - r7a2_to_h3i7 >= 0
943 r7a2_to_h3i8_exists: h3i8_exists - r7a2_to_h3i8 >= 0
944 r7a2_to_h3i9_exists: h3i9_exists - r7a2_to_h3i9 >= 0
945 r7a2_to_h4i0_exists: h4i0_exists - r7a2_to_h4i0 >= 0
946 r7a2_to_h4i1_exists: h4i1_exists - r7a2_to_h4i1 >= 0
947 r7a2_to_h4i2_exists: h4i2_exists - r7a2_to_h4i2 >= 0
948 r7a2_to_h4i3_exists: h4i3_exists - r7a2_to_h4i3 >= 0
949 r7a2_to_h4i4_exists: h4i4_exists - r7a2_to_h4i4 >= 0
950 r7a2_to_h4i5_exists: h4i5_exists - r7a2_to_h4i5 >= 0
951 r7a2_to_h4i6_exists: h4i6_exists - r7a2_to_h4i6 >= 0
952 r7a2_to_h4i7_exists: h4i7_exists - r7a2_to_h4i7 >= 0
953 r7a2_to_h4i8_exists: h4i8_exists - r7a2_to_h4i8 >= 0
954 r7a2_to_h4i9_exists: h4i9_exists - r7a2_to_h4i9 >= 0
955 r7a2_to_h5i0_exists: h5i0_exists - r7a2_to_h5i0 >= 0
956 r7a2_to_h5i1_exists: h5i1_exists - r7a2_to_h5i1 >= 0
957 r7a2_to_h5i2_exists: h5i2_exists - r7a2_to_h5i2 >= 0
958 r7a2_to_h5i3_exists: h5i3_exists - r7a2_to_h5i3 >= 0
959 r7a2_to_h5i4_exists: h5i4_exists - r7a2_to_h5i4 >= 0
960 r7a2_to_h5i5_exists: h5i5_exists - r7a2_to_h5i5 >= 0
961 r7a2_to_h5i6_exists: h5i6_exists - r7a2_to_h5i6 >= 0
962 r7a2_to_h5i7_exists: h5i7_exists - r7a2_to_h5i7 >= 0
963 r7a2_to_h5i8_exists: h5i8_exists - r7a2_to_h5i8 >= 0
964 r7a2_to_h5i9_exists: h5i9_exists - r7a2_to_h5i9 >= 0
965 h0i0_mem_use: 2 r1a0_to_h0i0 + 2 r1a1_to_h0i0 + 2 r1a2_to_h0i0 + 3 r2a0_to_h0i0 + 3 r3a0_to_h0i0 + 2 r5a0_to_h0i0 + 3 r6a0_to_h0i0 + 3 r6a1_to_h0i0 + 3 r6a2_to_h0i0 + 3 r6a3_to_h0i0 + 3 r7a0_to_h0i0 + 3 r7a1_to_h0i0 + 3 r7a2_to_h0i0 - 8 h0i0_mem = 0
966 h0i0_hdd_use: 4 r1a0_to_h0i0 + 4 r1a1_to_h0i0 + 4 r1a2_to_h0i0 + 5 r2a0_to_h0i0 + 17 r3a0_to_h0i0 + 4 r5a0_to_h0i0 + 5 r6a0_to_h0i0 + 5 r6a1_to_h0i0 + 5 r6a2_to_h0i0 + 5 r6a3_to_h0i0 + 17 r7a0_to_h0i0 + 17 r7a1_to_h0i0 + 17 r7a2_to_h0i0 - 75 h0i0_hdd = 0
967 h0i1_mem_use: 2 r1a0_to_h0i1 + 2 r1a1_to_h0i1 + 2 r1a2_to_h0i1 + 3 r2a0_to_h0i1 + 3 r3a0_to_h0i1 + 2 r5a0_to_h0i1 + 3 r6a0_to_h0i1 + 3 r6a1_to_h0i1 + 3 r6a2_to_h0i1 + 3 r6a3_to_h0i1 + 3 r7a0_to_h0i1 + 3 r7a1_to_h0i1 + 3 r7a2_to_h0i1 - 8 h0i1_mem = 0
968 h0i1_hdd_use: 4 r1a0_to_h0i1 + 4 r1a1_to_h0i1 + 4 r1a2_to_h0i1 + 5 r2a0_to_h0i1 + 17 r3a0_to_h0i1 + 4 r5a0_to_h0i1 + 5 r6a0_to_h0i1 + 5 r6a1_to_h0i1 + 5 r6a2_to_h0i1 + 5 r6a3_to_h0i1 + 17 r7a0_to_h0i1 + 17 r7a1_to_h0i1 + 17 r7a2_to_h0i1 - 75 h0i1_hdd = 0
969 h0i2_mem_use: 2 r1a0_to_h0i2 + 2 r1a1_to_h0i2 + 2 r1a2_to_h0i2 + 3 r2a0_to_h0i2 + 3 r3a0_to_h0i2 + 2 r5a0_to_h0i2 + 3 r6a0_to_h0i2 + 3 r6a1_to_h0i2 + 3 r6a2_to_h0i2 + 3 r6a3_to_h0i2 + 3 r7a0_to_h0i2 + 3 r7a1_to_h0i2 + 3 r7a2_to_h0i2 - 8 h0i2_mem = 0
970 h0i2_hdd_use: 4 r1a0_to_h0i2 + 4 r1a1_to_h0i2 + 4 r1a2_to_h0i2 + 5 r2a0_to_h0i2 + 17 r3a0_to_h0i2 + 4 r5a0_to_h0i2 + 5 r6a0_to_h0i2 + 5 r6a1_to_h0i2 + 5 r6a2_to_h0i2 + 5 r6a3_to_h0i2 + 17 r7a0_to_h0i2 + 17 r7a1_to_h0i2 + 17 r7a2_to_h0i2 - 75 h0i2_hdd = 0
971 h0i3_mem_use: 2 r1a0_to_h0i3 + 2 r1a1_to_h0i3 + 2 r1a2_to_h0i3 + 3 r2a0_to_h0i3 + 3 r3a0_to_h0i3 + 2 r5a0_to_h0i3 + 3 r6a0_to_h0i3 + 3 r6a1_to_h0i3 + 3 r6a2_to_h0i3 + 3 r6a3_to_h0i3 + 3 r7a0_to_h0i3 + 3 r7a1_to_h0i3 + 3 r7a2_to_h0i3 - 8 h0i3_mem = 0
972 h0i3_hdd_use: 4 r1a0_to_h0i3 + 4 r1a1_to_h0i3 + 4 r1a2_to_h0i3 + 5 r2a0_to_h0i3 + 17 r3a0_to_h0i3 + 4 r5a0_to_h0i3 + 5 r6a0_to_h0i3 + 5 r6a1_to_h0i3 + 5 r6a2_to_h0i3 + 5 r6a3_to_h0i3 + 17 r7a0_to_h0i3 + 17 r7a1_to_h0i3 + 17 r7a2_to_h0i3 - 75 h0i3_hdd = 0
973 h0i4_mem_use: 2 r1a0_to_h0i4 + 2 r1a1_to_h0i4 + 2 r1a2_to_h0i4 + 3 r2a0_to_h0i4 + 3 r3a0_to_h0i4 + 2 r5a0_to_h0i4 + 3 r6a0_to_h0i4 + 3 r6a1_to_h0i4 + 3 r6a2_to_h0i4 + 3 r6a3_to_h0i4 + 3 r7a0_to_h0i4 + 3 r7a1_to_h0i4 + 3 r7a2_to_h0i4 - 8 h0i4_mem = 0
974 h0i4_hdd_use: 4 r1a0_to_h0i4 + 4 r1a1_to_h0i4 + 4 r1a2_to_h0i4 + 5 r2a0_to_h0i4 + 17 r3a0_to_h0i4 + 4 r5a0_to_h0i4 + 5 r6a0_to_h0i4 + 5 r6a1_to_h0i4 + 5 r6a2_to_h0i4 + 5 r6a3_to_h0i4 + 17 r7a0_to_h0i4 + 17 r7a1_to_h0i4 + 17 r7a2_to_h0i4 - 75 h0i4_hdd = 0
975 h0i5_mem_use: 2 r1a0_to_h0i5 + 2 r1a1_to_h0i5 + 2 r1a2_to_h0i5 + 3 r2a0_to_h0i5 + 3 r3a0_to_h0i5 + 2 r5a0_to_h0i5 + 3 r6a0_to_h0i5 + 3 r6a1_to_h0i5 + 3 r6a2_to_h0i5 + 3 r6a3_to_h0i5 + 3 r7a0_to_h0i5 + 3 r7a1_to_h0i5 + 3 r7a2_to_h0i5 - 8 h0i5_mem = 0
976 h0i5_hdd_use: 4 r1a0_to_h0i5 + 4 r1a1_to_h0i5 + 4 r1a2_to_h0i5 + 5 r2a0_to_h0i5 + 17 r3a0_to_h0i5 + 4 r5a0_to_h0i5 + 5 r6a0_to_h0i5 + 5 r6a1_to_h0i5 + 5 r6a2_to_h0i5 + 5 r6a3_to_h0i5 + 17 r7a0_to_h0i5 + 17 r7a1_to_h0i5 + 17 r7a2_to_h0i5 - 75 h0i5_hdd = 0
977 h0i6_mem_use: 2 r1a0_to_h0i6 + 2 r1a1_to_h0i6 + 2 r1a2_to_h0i6 + 3 r2a0_to_h0i6 + 3 r3a0_to_h0i6 + 2 r5a0_to_h0i6 + 3 r6a0_to_h0i6 + 3 r6a1_to_h0i6 + 3 r6a2_to_h0i6 + 3 r6a3_to_h0i6 + 3 r7a0_to_h0i6 + 3 r7a1_to_h0i6 + 3 r7a2_to_h0i6 - 8 h0i6_mem = 0
978 h0i6_hdd_use: 4 r1a0_to_h0i6 + 4 r1a1_to_h0i6 + 4 r1a2_to_h0i6 + 5 r2a0_to_h0i6 + 17 r3a0_to_h0i6 + 4 r5a0_to_h0i6 + 5 r6a0_to_h0i6 + 5 r6a1_to_h0i6 + 5 r6a2_to_h0i6 + 5 r6a3_to_h0i6 + 17 r7a0_to_h0i6 + 17 r7a1_to_h0i6 + 17 r7a2_to_h0i6 - 75 h0i6_hdd = 0
979 h0i7_mem_use: 2 r1a0_to_h0i7 + 2 r1a1_to_h0i7 + 2 r1a2_to_h0i7 + 3 r2a0_to_h0i7 + 3 r3a0_to_h0i7 + 2 r5a0_to_h0i7 + 3 r6a0_to_h0i7 + 3 r6a1_to_h0i7 + 3 r6a2_to_h0i7 + 3 r6a3_to_h0i7 + 3 r7a0_to_h0i7 + 3 r7a1_to_h0i7 + 3 r7a2_to_h0i7 - 8 h0i7_mem = 0
980 h0i7_hdd_use: 4 r1a0_to_h0i7 + 4 r1a1_to_h0i7 + 4 r1a2_to_h0i7 + 5 r2a0_to_h0i7 + 17 r3a0_to_h0i7 + 4 r5a0_to_h0i7 + 5 r6a0_to_h0i7 + 5 r6a1_to_h0i7 + 5 r6a2_to_h0i7 + 5 r6a3_to_h0i7 + 17 r7a0_to_h0i7 + 17 r7a1_to_h0i7 + 17 r7a2_to_h0i7 - 75 h0i7_hdd = 0
981 h0i8_mem_use: 2 r1a0_to_h0i8 + 2 r1a1_to_h0i8 + 2 r1a2_to_h0i8 + 3 r2a0_to_h0i8 + 3 r3a0_to_h0i8 + 2 r5a0_to_h0i8 + 3 r6a0_to_h0i8 + 3 r6a1_to_h0i8 + 3 r6a2_to_h0i8 + 3 r6a3_to_h0i8 + 3 r7a0_to_h0i8 + 3 r7a1_to_h0i8 + 3 r7a2_to_h0i8 - 8 h0i8_mem = 0
982 h0i8_hdd_use: 4 r1a0_to_h0i8 + 4 r1a1_to_h0i8 + 4 r1a2_to_h0i8 + 5 r2a0_to_h0i8 + 17 r3a0_to_h0i8 + 4 r5a0_to_h0i8 + 5 r6a0_to_h0i8 + 5 r6a1_to_h0i8 + 5 r6a2_to_h0i8 + 5 r6a3_to_h0i8 + 17 r7a0_to_h0i8 + 17 r7a1_to_h0i8 + 17 r7a2_to_h0i8 - 75 h0i8_hdd = 0
983 h0i9_mem_use: 2 r1a0_to_h0i9 + 2 r1a1_to_h0i9 + 2 r1a2_to_h0i9 + 3 r2a0_to_h0i9 + 3 r3a0_to_h0i9 + 2 r5a0_to_h0i9 + 3 r6a0_to_h0i9 + 3 r6a1_to_h0i9 + 3 r6a2_to_h0i9 + 3 r6a3_to_h0i9 + 3 r7a0_to_h0i9 + 3 r7a1_to_h0i9 + 3 r7a2_to_h0i9 - 8 h0i9_mem = 0
984 h0i9_hdd_use: 4 r1a0_to_h0i9 + 4 r1a1_to_h0i9 + 4 r1a2_to_h0i9 + 5 r2a0_to_h0i9 + 17 r3a0_to_h0i9 + 4 r5a0_to_h0i9 + 5 r6a0_to_h0i9 + 5 r6a1_to_h0i9 + 5 r6a2_to_h0i9 + 5 r6a3_to_h0i9 + 17 r7a0_to_h0i9 + 17 r7a1_to_h0i9 + 17 r7a2_to_h0i9 - 75 h0i9_hdd = 0
985 h1i0_mem_use: 2 r1a0_to_h1i0 + 2 r1a1_to_h1i0 + 2 r1a2_to_h1i0 + 3 r2a0_to_h1i0 + 3 r3a0_to_h1i0 + 2 r5a0_to_h1i0 + 3 r6a0_to_h1i0 + 3 r6a1_to_h1i0 + 3 r6a2_to_h1i0 + 3 r6a3_to_h1i0 + 3 r7a0_to_h1i0 + 3 r7a1_to_h1i0 + 3 r7a2_to_h1i0 - 16 h1i0_mem = 0
986 h1i0_hdd_use: 4 r1a0_to_h1i0 + 4 r1a1_to_h1i0 + 4 r1a2_to_h1i0 + 5 r2a0_to_h1i0 + 17 r3a0_to_h1i0 + 4 r5a0_to_h1i0 + 5 r6a0_to_h1i0 + 5 r6a1_to_h1i0 + 5 r6a2_to_h1i0 + 5 r6a3_to_h1i0 + 17 r7a0_to_h1i0 + 17 r7a1_to_h1i0 + 17 r7a2_to_h1i0 - 150 h1i0_hdd = 0
987 h1i1_mem_use: 2 r1a0_to_h1i1 + 2 r1a1_to_h1i1 + 2 r1a2_to_h1i1 + 3 r2a0_to_h1i1 + 3 r3a0_to_h1i1 + 2 r5a0_to_h1i1 + 3 r6a0_to_h1i1 + 3 r6a1_to_h1i1 + 3 r6a2_to_h1i1 + 3 r6a3_to_h1i1 + 3 r7a0_to_h1i1 + 3 r7a1_to_h1i1 + 3 r7a2_to_h1i1 - 16 h1i1_mem = 0
988 h1i1_hdd_use: 4 r1a0_to_h1i1 + 4 r1a1_to_h1i1 + 4 r1a2_to_h1i1 + 5 r2a0_to_h1i1 + 17 r3a0_to_h1i1 + 4 r5a0_to_h1i1 + 5 r6a0_to_h1i1 + 5 r6a1_to_h1i1 + 5 r6a2_to_h1i1 + 5 r6a3_to_h1i1 + 17 r7a0_to_h1i1 + 17 r7a1_to_h1i1 + 17 r7a2_to_h1i1 - 150 h1i1_hdd = 0
989 h1i2_mem_use: 2 r1a0_to_h1i2 + 2 r1a1_to_h1i2 + 2 r1a2_to_h1i2 + 3 r2a0_to_h1i2 + 3 r3a0_to_h1i2 + 2 r5a0_to_h1i2 + 3 r6a0_to_h1i2 + 3 r6a1_to_h1i2 + 3 r6a2_to_h1i2 + 3 r6a3_to_h1i2 + 3 r7a0_to_h1i2 + 3 r7a1_to_h1i2 + 3 r7a2_to_h1i2 - 16 h1i2_mem = 0
990 h1i2_hdd_use: 4 r1a0_to_h1i2 + 4 r1a1_to_h1i2 + 4 r1a2_to_h1i2 + 5 r2a0_to_h1i2 + 17 r3a0_to_h1i2 + 4 r5a0_to_h1i2 + 5 r6a0_to_h1i2 + 5 r6a1_to_h1i2 + 5 r6a2_to_h1i2 + 5 r6a3_to_h1i2 + 17 r7a0_to_h1i2 + 17 r7a1_to_h1i2 + 17 r7a2_to_h1i2 - 150 h1i2_hdd = 0
991 h1i3_mem_use: 2 r1a0_to_h1i3 + 2 r1a1_to_h1i3 + 2 r1a2_to_h1i3 + 3 r2a0_to_h1i3 + 3 r3a0_to_h1i3 + 2 r5a0_to_h1i3 + 3 r6a0_to_h1i3 + 3 r6a1_to_h1i3 + 3 r6a2_to_h1i3 + 3 r6a3_to_h1i3 + 3 r7a0_to_h1i3 + 3 r7a1_to_h1i3 + 3 r7a2_to_h1i3 - 16 h1i3_mem = 0
992 h1i3_hdd_use: 4 r1a0_to_h1i3 + 4 r1a1_to_h1i3 + 4 r1a2_to_h1i3 + 5 r2a0_to_h1i3 + 17 r3a0_to_h1i3 + 4 r5a0_to_h1i3 + 5 r6a0_to_h1i3 + 5 r6a1_to_h1i3 + 5 r6a2_to_h1i3 + 5 r6a3_to_h1i3 + 17 r7a0_to_h1i3 + 17 r7a1_to_h1i3 + 17 r7a2_to_h1i3 - 150 h1i3_hdd = 0
993 h1i4_mem_use: 2 r1a0_to_h1i4 + 2 r1a1_to_h1i4 + 2 r1a2_to_h1i4 + 3 r2a0_to_h1i4 + 3 r3a0_to_h1i4 + 2 r5a0_to_h1i4 + 3 r6a0_to_h1i4 + 3 r6a1_to_h1i4 + 3 r6a2_to_h1i4 + 3 r6a3_to_h1i4 + 3 r7a0_to_h1i4 + 3 r7a1_to_h1i4 + 3 r7a2_to_h1i4 - 16 h1i4_mem = 0
994 h1i4_hdd_use: 4 r1a0_to_h1i4 + 4 r1a1_to_h1i4 + 4 r1a2_to_h1i4 + 5 r2a0_to_h1i4 + 17 r3a0_to_h1i4 + 4 r5a0_to_h1i4 + 5 r6a0_to_h1i4 + 5 r6a1_to_h1i4 + 5 r6a2_to_h1i4 + 5 r6a3_to_h1i4 + 17 r7a0_to_h1i4 + 17 r7a1_to_h1i4 + 17 r7a2_to_h1i4 - 150 h1i4_hdd = 0
995 h1i5_mem_use: 2 r1a0_to_h1i5 + 2 r1a1_to_h1i5 + 2 r1a2_to_h1i5 + 3 r2a0_to_h1i5 + 3 r3a0_to_h1i5 + 2 r5a0_to_h1i5 + 3 r6a0_to_h1i5 + 3 r6a1_to_h1i5 + 3 r6a2_to_h1i5 + 3 r6a3_to_h1i5 + 3 r7a0_to_h1i5 + 3 r7a1_to_h1i5 + 3 r7a2_to_h1i5 - 16 h1i5_mem = 0
996 h1i5_hdd_use: 4 r1a0_to_h1i5 + 4 r1a1_to_h1i5 + 4 r1a2_to_h1i5 + 5 r2a0_to_h1i5 + 17 r3a0_to_h1i5 + 4 r5a0_to_h1i5 + 5 r6a0_to_h1i5 + 5 r6a1_to_h1i5 + 5 r6a2_to_h1i5 + 5 r6a3_to_h1i5 + 17 r7a0_to_h1i5 + 17 r7a1_to_h1i5 + 17 r7a2_to_h1i5 - 150 h1i5_hdd = 0
997 h1i6_mem_use: 2 r1a0_to_h1i6 + 2 r1a1_to_h1i6 + 2 r1a2_to_h1i6 + 3 r2a0_to_h1i6 + 3 r3a0_to_h1i6 + 2 r5a0_to_h1i6 + 3 r6a0_to_h1i6 + 3 r6a1_to_h1i6 + 3 r6a2_to_h1i6 + 3 r6a3_to_h1i6 + 3 r7a0_to_h1i6 + 3 r7a1_to_h1i6 + 3 r7a2_to_h1i6 - 16 h1i6_mem = 0
998 h1i6_hdd_use: 4 r1a0_to_h1i6 + 4 r1a1_to_h1i6 + 4 r1a2_to_h1i6 + 5 r2a0_to_h1i6 + 17 r3a0_to_h1i6 + 4 r5a0_to_h1i6 + 5 r6a0_to_h1i6 + 5 r6a1_to_h1i6 + 5 r6a2_to_h1i6 + 5 r6a3_to_h1i6 + 17 r7a0_to_h1i6 + 17 r7a1_to_h1i6 + 17 r7a2_to_h1i6 - 150 h1i6_hdd = 0
999 h1i7_mem_use: 2 r1a0_to_h1i7 + 2 r1a1_to_h1i7 + 2 r1a2_to_h1i7 + 3 r2a0_to_h1i7 + 3 r3a0_to_h1i7 + 2 r5a0_to_h1i7 + 3 r6a0_to_h1i7 + 3 r6a1_to_h1i7 + 3 r6a2_to_h1i7 + 3 r6a3_to_h1i7 + 3 r7a0_to_h1i7 + 3 r7a1_to_h1i7 + 3 r7a2_to_h1i7 - 16 h1i7_mem = 0
1000 h1i7_hdd_use: 4 r1a0_to_h1i7 + 4 r1a1_to_h1i7 + 4 r1a2_to_h1i7 + 5 r2a0_to_h1i7 + 17 r3a0_to_h1i7 + 4 r5a0_to_h1i7 + 5 r6a0_to_h1i7 + 5 r6a1_to_h1i7 + 5 r6a2_to_h1i7 + 5 r6a3_to_h1i7 + 17 r7a0_to_h1i7 + 17 r7a1_to_h1i7 + 17 r7a2_to_h1i7 - 150 h1i7_hdd = 0
1001 h1i8_mem_use: 2 r1a0_to_h1i8 + 2 r1a1_to_h1i8 + 2 r1a2_to_h1i8 + 3 r2a0_to_h1i8 + 3 r3a0_to_h1i8 + 2 r5a0_to_h1i8 + 3 r6a0_to_h1i8 + 3 r6a1_to_h1i8 + 3 r6a2_to_h1i8 + 3 r6a3_to_h1i8 + 3 r7a0_to_h1i8 + 3 r7a1_to_h1i8 + 3 r7a2_to_h1i8 - 16 h1i8_mem = 0
1002 h1i8_hdd_use: 4 r1a0_to_h1i8 + 4 r1a1_to_h1i8 + 4 r1a2_to_h1i8 + 5 r2a0_to_h1i8 + 17 r3a0_to_h1i8 + 4 r5a0_to_h1i8 + 5 r6a0_to_h1i8 + 5 r6a1_to_h1i8 + 5 r6a2_to_h1i8 + 5 r6a3_to_h1i8 + 17 r7a0_to_h1i8 + 17 r7a1_to_h1i8 + 17 r7a2_to_h1i8 - 150 h1i8_hdd = 0
1003 h1i9_mem_use: 2 r1a0_to_h1i9 + 2 r1a1_to_h1i9 + 2 r1a2_to_h1i9 + 3 r2a0_to_h1i9 + 3 r3a0_to_h1i9 + 2 r5a0_to_h1i9 + 3 r6a0_to_h1i9 + 3 r6a1_to_h1i9 + 3 r6a2_to_h1i9 + 3 r6a3_to_h1i9 + 3 r7a0_to_h1i9 + 3 r7a1_to_h1i9 + 3 r7a2_to_h1i9 - 16 h1i9_mem = 0
1004 h1i9_hdd_use: 4 r1a0_to_h1i9 + 4 r1a1_to_h1i9 + 4 r1a2_to_h1i9 + 5 r2a0_to_h1i9 + 17 r3a0_to_h1i9 + 4 r5a0_to_h1i9 + 5 r6a0_to_h1i9 + 5 r6a1_to_h1i9 + 5 r6a2_to_h1i9 + 5 r6a3_to_h1i9 + 17 r7a0_to_h1i9 + 17 r7a1_to_h1i9 + 17 r7a2_to_h1i9 - 150 h1i9_hdd = 0
1005 h2i0_mem_use: 2 r1a0_to_h2i0 + 2 r1a1_to_h2i0 + 2 r1a2_to_h2i0 + 3 r2a0_to_h2i0 + 3 r3a0_to_h2i0 + 2 r5a0_to_h2i0 + 3 r6a0_to_h2i0 + 3 r6a1_to_h2i0 + 3 r6a2_to_h2i0 + 3 r6a3_to_h2i0 + 3 r7a0_to_h2i0 + 3 r7a1_to_h2i0 + 3 r7a2_to_h2i0 - 16 h2i0_mem = 0
1006 h2i0_hdd_use: 4 r1a0_to_h2i0 + 4 r1a1_to_h2i0 + 4 r1a2_to_h2i0 + 5 r2a0_to_h2i0 + 17 r3a0_to_h2i0 + 4 r5a0_to_h2i0 + 5 r6a0_to_h2i0 + 5 r6a1_to_h2i0 + 5 r6a2_to_h2i0 + 5 r6a3_to_h2i0 + 17 r7a0_to_h2i0 + 17 r7a1_to_h2i0 + 17 r7a2_to_h2i0 - 75 h2i0_hdd = 0
1007 h2i1_mem_use: 2 r1a0_to_h2i1 + 2 r1a1_to_h2i1 + 2 r1a2_to_h2i1 + 3 r2a0_to_h2i1 + 3 r3a0_to_h2i1 + 2 r5a0_to_h2i1 + 3 r6a0_to_h2i1 + 3 r6a1_to_h2i1 + 3 r6a2_to_h2i1 + 3 r6a3_to_h2i1 + 3 r7a0_to_h2i1 + 3 r7a1_to_h2i1 + 3 r7a2_to_h2i1 - 16 h2i1_mem = 0
1008 h2i1_hdd_use: 4 r1a0_to_h2i1 + 4 r1a1_to_h2i1 + 4 r1a2_to_h2i1 + 5 r2a0_to_h2i1 + 17 r3a0_to_h2i1 + 4 r5a0_to_h2i1 + 5 r6a0_to_h2i1 + 5 r6a1_to_h2i1 + 5 r6a2_to_h2i1 + 5 r6a3_to_h2i1 + 17 r7a0_to_h2i1 + 17 r7a1_to_h2i1 + 17 r7a2_to_h2i1 - 75 h2i1_hdd = 0
1009 h2i2_mem_use: 2 r1a0_to_h2i2 + 2 r1a1_to_h2i2 + 2 r1a2_to_h2i2 + 3 r2a0_to_h2i2 + 3 r3a0_to_h2i2 + 2 r5a0_to_h2i2 + 3 r6a0_to_h2i2 + 3 r6a1_to_h2i2 + 3 r6a2_to_h2i2 + 3 r6a3_to_h2i2 + 3 r7a0_to_h2i2 + 3 r7a1_to_h2i2 + 3 r7a2_to_h2i2 - 16 h2i2_mem = 0
1010 h2i2_hdd_use: 4 r1a0_to_h2i2 + 4 r1a1_to_h2i2 + 4 r1a2_to_h2i2 + 5 r2a0_to_h2i2 + 17 r3a0_to_h2i2 + 4 r5a0_to_h2i2 + 5 r6a0_to_h2i2 + 5 r6a1_to_h2i2 + 5 r6a2_to_h2i2 + 5 r6a3_to_h2i2 + 17 r7a0_to_h2i2 + 17 r7a1_to_h2i2 + 17 r7a2_to_h2i2 - 75 h2i2_hdd = 0
1011 h2i3_mem_use: 2 r1a0_to_h2i3 + 2 r1a1_to_h2i3 + 2 r1a2_to_h2i3 + 3 r2a0_to_h2i3 + 3 r3a0_to_h2i3 + 2 r5a0_to_h2i3 + 3 r6a0_to_h2i3 + 3 r6a1_to_h2i3 + 3 r6a2_to_h2i3 + 3 r6a3_to_h2i3 + 3 r7a0_to_h2i3 + 3 r7a1_to_h2i3 + 3 r7a2_to_h2i3 - 16 h2i3_mem = 0
1012 h2i3_hdd_use: 4 r1a0_to_h2i3 + 4 r1a1_to_h2i3 + 4 r1a2_to_h2i3 + 5 r2a0_to_h2i3 + 17 r3a0_to_h2i3 + 4 r5a0_to_h2i3 + 5 r6a0_to_h2i3 + 5 r6a1_to_h2i3 + 5 r6a2_to_h2i3 + 5 r6a3_to_h2i3 + 17 r7a0_to_h2i3 + 17 r7a1_to_h2i3 + 17 r7a2_to_h2i3 - 75 h2i3_hdd = 0
1013 h2i4_mem_use: 2 r1a0_to_h2i4 + 2 r1a1_to_h2i4 + 2 r1a2_to_h2i4 + 3 r2a0_to_h2i4 + 3 r3a0_to_h2i4 + 2 r5a0_to_h2i4 + 3 r6a0_to_h2i4 + 3 r6a1_to_h2i4 + 3 r6a2_to_h2i4 + 3 r6a3_to_h2i4 + 3 r7a0_to_h2i4 + 3 r7a1_to_h2i4 + 3 r7a2_to_h2i4 - 16 h2i4_mem = 0
1014 h2i4_hdd_use: 4 r1a0_to_h2i4 + 4 r1a1_to_h2i4 + 4 r1a2_to_h2i4 + 5 r2a0_to_h2i4 + 17 r3a0_to_h2i4 + 4 r5a0_to_h2i4 + 5 r6a0_to_h2i4 + 5 r6a1_to_h2i4 + 5 r6a2_to_h2i4 + 5 r6a3_to_h2i4 + 17 r7a0_to_h2i4 + 17 r7a1_to_h2i4 + 17 r7a2_to_h2i4 - 75 h2i4_hdd = 0
1015 h2i5_mem_use: 2 r1a0_to_h2i5 + 2 r1a1_to_h2i5 + 2 r1a2_to_h2i5 + 3 r2a0_to_h2i5 + 3 r3a0_to_h2i5 + 2 r5a0_to_h2i5 + 3 r6a0_to_h2i5 + 3 r6a1_to_h2i5 + 3 r6a2_to_h2i5 + 3 r6a3_to_h2i5 + 3 r7a0_to_h2i5 + 3 r7a1_to_h2i5 + 3 r7a2_to_h2i5 - 16 h2i5_mem = 0
1016 h2i5_hdd_use: 4 r1a0_to_h2i5 + 4 r1a1_to_h2i5 + 4 r1a2_to_h2i5 + 5 r2a0_to_h2i5 + 17 r3a0_to_h2i5 + 4 r5a0_to_h2i5 + 5 r6a0_to_h2i5 + 5 r6a1_to_h2i5 + 5 r6a2_to_h2i5 + 5 r6a3_to_h2i5 + 17 r7a0_to_h2i5 + 17 r7a1_to_h2i5 + 17 r7a2_to_h2i5 - 75 h2i5_hdd = 0
1017 h2i6_mem_use: 2 r1a0_to_h2i6 + 2 r1a1_to_h2i6 + 2 r1a2_to_h2i6 + 3 r2a0_to_h2i6 + 3 r3a0_to_h2i6 + 2 r5a0_to_h2i6 + 3 r6a0_to_h2i6 + 3 r6a1_to_h2i6 + 3 r6a2_to_h2i6 + 3 r6a3_to_h2i6 + 3 r7a0_to_h2i6 + 3 r7a1_to_h2i6 + 3 r7a2_to_h2i6 - 16 h2i6_mem = 0
1018 h2i6_hdd_use: 4 r1a0_to_h2i6 + 4 r1a1_to_h2i6 + 4 r1a2_to_h2i6 + 5 r2a0_to_h2i6 + 17 r3a0_to_h2i6 + 4 r5a0_to_h2i6 + 5 r6a0_to_h2i6 + 5 r6a1_to_h2i6 + 5 r6a2_to_h2i6 + 5 r6a3_to_h2i6 + 17 r7a0_to_h2i6 + 17 r7a1_to_h2i6 + 17 r7a2_to_h2i6 - 75 h2i6_hdd = 0
1019 h2i7_mem_use: 2 r1a0_to_h2i7 + 2 r1a1_to_h2i7 + 2 r1a2_to_h2i7 + 3 r2a0_to_h2i7 + 3 r3a0_to_h2i7 + 2 r5a0_to_h2i7 + 3 r6a0_to_h2i7 + 3 r6a1_to_h2i7 + 3 r6a2_to_h2i7 + 3 r6a3_to_h2i7 + 3 r7a0_to_h2i7 + 3 r7a1_to_h2i7 + 3 r7a2_to_h2i7 - 16 h2i7_mem = 0
1020 h2i7_hdd_use: 4 r1a0_to_h2i7 + 4 r1a1_to_h2i7 + 4 r1a2_to_h2i7 + 5 r2a0_to_h2i7 + 17 r3a0_to_h2i7 + 4 r5a0_to_h2i7 + 5 r6a0_to_h2i7 + 5 r6a1_to_h2i7 + 5 r6a2_to_h2i7 + 5 r6a3_to_h2i7 + 17 r7a0_to_h2i7 + 17 r7a1_to_h2i7 + 17 r7a2_to_h2i7 - 75 h2i7_hdd = 0
1021 h2i8_mem_use: 2 r1a0_to_h2i8 + 2 r1a1_to_h2i8 + 2 r1a2_to_h2i8 + 3 r2a0_to_h2i8 + 3 r3a0_to_h2i8 + 2 r5a0_to_h2i8 + 3 r6a0_to_h2i8 + 3 r6a1_to_h2i8 + 3 r6a2_to_h2i8 + 3 r6a3_to_h2i8 + 3 r7a0_to_h2i8 + 3 r7a1_to_h2i8 + 3 r7a2_to_h2i8 - 16 h2i8_mem = 0
1022 h2i8_hdd_use: 4 r1a0_to_h2i8 + 4 r1a1_to_h2i8 + 4 r1a2_to_h2i8 + 5 r2a0_to_h2i8 + 17 r3a0_to_h2i8 + 4 r5a0_to_h2i8 + 5 r6a0_to_h2i8 + 5 r6a1_to_h2i8 + 5 r6a2_to_h2i8 + 5 r6a3_to_h2i8 + 17 r7a0_to_h2i8 + 17 r7a1_to_h2i8 + 17 r7a2_to_h2i8 - 75 h2i8_hdd = 0
1023 h2i9_mem_use: 2 r1a0_to_h2i9 + 2 r1a1_to_h2i9 + 2 r1a2_to_h2i9 + 3 r2a0_to_h2i9 + 3 r3a0_to_h2i9 + 2 r5a0_to_h2i9 + 3 r6a0_to_h2i9 + 3 r6a1_to_h2i9 + 3 r6a2_to_h2i9 + 3 r6a3_to_h2i9 + 3 r7a0_to_h2i9 + 3 r7a1_to_h2i9 + 3 r7a2_to_h2i9 - 16 h2i9_mem = 0
1024 h2i9_hdd_use: 4 r1a0_to_h2i9 + 4 r1a1_to_h2i9 + 4 r1a2_to_h2i9 + 5 r2a0_to_h2i9 + 17 r3a0_to_h2i9 + 4 r5a0_to_h2i9 + 5 r6a0_to_h2i9 + 5 r6a1_to_h2i9 + 5 r6a2_to_h2i9 + 5 r6a3_to_h2i9 + 17 r7a0_to_h2i9 + 17 r7a1_to_h2i9 + 17 r7a2_to_h2i9 - 75 h2i9_hdd = 0
1025 h3i0_mem_use: 2 r1a0_to_h3i0 + 2 r1a1_to_h3i0 + 2 r1a2_to_h3i0 + 3 r2a0_to_h3i0 + 3 r3a0_to_h3i0 + 2 r5a0_to_h3i0 + 3 r6a0_to_h3i0 + 3 r6a1_to_h3i0 + 3 r6a2_to_h3i0 + 3 r6a3_to_h3i0 + 3 r7a0_to_h3i0 + 3 r7a1_to_h3i0 + 3 r7a2_to_h3i0 - 32 h3i0_mem = 0
1026 h3i0_hdd_use: 4 r1a0_to_h3i0 + 4 r1a1_to_h3i0 + 4 r1a2_to_h3i0 + 5 r2a0_to_h3i0 + 17 r3a0_to_h3i0 + 4 r5a0_to_h3i0 + 5 r6a0_to_h3i0 + 5 r6a1_to_h3i0 + 5 r6a2_to_h3i0 + 5 r6a3_to_h3i0 + 17 r7a0_to_h3i0 + 17 r7a1_to_h3i0 + 17 r7a2_to_h3i0 - 150 h3i0_hdd = 0
1027 h3i1_mem_use: 2 r1a0_to_h3i1 + 2 r1a1_to_h3i1 + 2 r1a2_to_h3i1 + 3 r2a0_to_h3i1 + 3 r3a0_to_h3i1 + 2 r5a0_to_h3i1 + 3 r6a0_to_h3i1 + 3 r6a1_to_h3i1 + 3 r6a2_to_h3i1 + 3 r6a3_to_h3i1 + 3 r7a0_to_h3i1 + 3 r7a1_to_h3i1 + 3 r7a2_to_h3i1 - 32 h3i1_mem = 0
1028 h3i1_hdd_use: 4 r1a0_to_h3i1 + 4 r1a1_to_h3i1 + 4 r1a2_to_h3i1 + 5 r2a0_to_h3i1 + 17 r3a0_to_h3i1 + 4 r5a0_to_h3i1 + 5 r6a0_to_h3i1 + 5 r6a1_to_h3i1 + 5 r6a2_to_h3i1 + 5 r6a3_to_h3i1 + 17 r7a0_to_h3i1 + 17 r7a1_to_h3i1 + 17 r7a2_to_h3i1 - 150 h3i1_hdd = 0
1029 h3i2_mem_use: 2 r1a0_to_h3i2 + 2 r1a1_to_h3i2 + 2 r1a2_to_h3i2 + 3 r2a0_to_h3i2 + 3 r3a0_to_h3i2 + 2 r5a0_to_h3i2 + 3 r6a0_to_h3i2 + 3 r6a1_to_h3i2 + 3 r6a2_to_h3i2 + 3 r6a3_to_h3i2 + 3 r7a0_to_h3i2 + 3 r7a1_to_h3i2 + 3 r7a2_to_h3i2 - 32 h3i2_mem = 0
1030 h3i2_hdd_use: 4 r1a0_to_h3i2 + 4 r1a1_to_h3i2 + 4 r1a2_to_h3i2 + 5 r2a0_to_h3i2 + 17 r3a0_to_h3i2 + 4 r5a0_to_h3i2 + 5 r6a0_to_h3i2 + 5 r6a1_to_h3i2 + 5 r6a2_to_h3i2 + 5 r6a3_to_h3i2 + 17 r7a0_to_h3i2 + 17 r7a1_to_h3i2 + 17 r7a2_to_h3i2 - 150 h3i2_hdd = 0
1031 h3i3_mem_use: 2 r1a0_to_h3i3 + 2 r1a1_to_h3i3 + 2 r1a2_to_h3i3 + 3 r2a0_to_h3i3 + 3 r3a0_to_h3i3 + 2 r5a0_to_h3i3 + 3 r6a0_to_h3i3 + 3 r6a1_to_h3i3 + 3 r6a2_to_h3i3 + 3 r6a3_to_h3i3 + 3 r7a0_to_h3i3 + 3 r7a1_to_h3i3 + 3 r7a2_to_h3i3 - 32 h3i3_mem = 0
1032 h3i3_hdd_use: 4 r1a0_to_h3i3 + 4 r1a1_to_h3i3 + 4 r1a2_to_h3i3 + 5 r2a0_to_h3i3 + 17 r3a0_to_h3i3 + 4 r5a0_to_h3i3 + 5 r6a0_to_h3i3 + 5 r6a1_to_h3i3 + 5 r6a2_to_h3i3 + 5 r6a3_to_h3i3 + 17 r7a0_to_h3i3 + 17 r7a1_to_h3i3 + 17 r7a2_to_h3i3 - 150 h3i3_hdd = 0
1033 h3i4_mem_use: 2 r1a0_to_h3i4 + 2 r1a1_to_h3i4 + 2 r1a2_to_h3i4 + 3 r2a0_to_h3i4 + 3 r3a0_to_h3i4 + 2 r5a0_to_h3i4 + 3 r6a0_to_h3i4 + 3 r6a1_to_h3i4 + 3 r6a2_to_h3i4 + 3 r6a3_to_h3i4 + 3 r7a0_to_h3i4 + 3 r7a1_to_h3i4 + 3 r7a2_to_h3i4 - 32 h3i4_mem = 0
1034 h3i4_hdd_use: 4 r1a0_to_h3i4 + 4 r1a1_to_h3i4 + 4 r1a2_to_h3i4 + 5 r2a0_to_h3i4 + 17 r3a0_to_h3i4 + 4 r5a0_to_h3i4 + 5 r6a0_to_h3i4 + 5 r6a1_to_h3i4 + 5 r6a2_to_h3i4 + 5 r6a3_to_h3i4 + 17 r7a0_to_h3i4 + 17 r7a1_to_h3i4 + 17 r7a2_to_h3i4 - 150 h3i4_hdd = 0
1035 h3i5_mem_use: 2 r1a0_to_h3i5 + 2 r1a1_to_h3i5 + 2 r1a2_to_h3i5 + 3 r2a0_to_h3i5 + 3 r3a0_to_h3i5 + 2 r5a0_to_h3i5 + 3 r6a0_to_h3i5 + 3 r6a1_to_h3i5 + 3 r6a2_to_h3i5 + 3 r6a3_to_h3i5 + 3 r7a0_to_h3i5 + 3 r7a1_to_h3i5 + 3 r7a2_to_h3i5 - 32 h3i5_mem = 0
1036 h3i5_hdd_use: 4 r1a0_to_h3i5 + 4 r1a1_to_h3i5 + 4 r1a2_to_h3i5 + 5 r2a0_to_h3i5 + 17 r3a0_to_h3i5 + 4 r5a0_to_h3i5 + 5 r6a0_to_h3i5 + 5 r6a1_to_h3i5 + 5 r6a2_to_h3i5 + 5 r6a3_to_h3i5 + 17 r7a0_to_h3i5 + 17 r7a1_to_h3i5 + 17 r7a2_to_h3i5 - 150 h3i5_hdd = 0
1037 h3i6_mem_use: 2 r1a0_to_h3i6 + 2 r1a1_to_h3i6 + 2 r1a2_to_h3i6 + 3 r2a0_to_h3i6 + 3 r3a0_to_h3i6 + 2 r5a0_to_h3i6 + 3 r6a0_to_h3i6 + 3 r6a1_to_h3i6 + 3 r6a2_to_h3i6 + 3 r6a3_to_h3i6 + 3 r7a0_to_h3i6 + 3 r7a1_to_h3i6 + 3 r7a2_to_h3i6 - 32 h3i6_mem = 0
1038 h3i6_hdd_use: 4 r1a0_to_h3i6 + 4 r1a1_to_h3i6 + 4 r1a2_to_h3i6 + 5 r2a0_to_h3i6 + 17 r3a0_to_h3i6 + 4 r5a0_to_h3i6 + 5 r6a0_to_h3i6 + 5 r6a1_to_h3i6 + 5 r6a2_to_h3i6 + 5 r6a3_to_h3i6 + 17 r7a0_to_h3i6 + 17 r7a1_to_h3i6 + 17 r7a2_to_h3i6 - 150 h3i6_hdd = 0
1039 h3i7_mem_use: 2 r1a0_to_h3i7 + 2 r1a1_to_h3i7 + 2 r1a2_to_h3i7 + 3 r2a0_to_h3i7 + 3 r3a0_to_h3i7 + 2 r5a0_to_h3i7 + 3 r6a0_to_h3i7 + 3 r6a1_to_h3i7 + 3 r6a2_to_h3i7 + 3 r6a3_to_h3i7 + 3 r7a0_to_h3i7 + 3 r7a1_to_h3i7 + 3 r7a2_to_h3i7 - 32 h3i7_mem = 0
1040 h3i7_hdd_use: 4 r1a0_to_h3i7 + 4 r1a1_to_h3i7 + 4 r1a2_to_h3i7 + 5 r2a0_to_h3i7 + 17 r3a0_to_h3i7 + 4 r5a0_to_h3i7 + 5 r6a0_to_h3i7 + 5 r6a1_to_h3i7 + 5 r6a2_to_h3i7 + 5 r6a3_to_h3i7 + 17 r7a0_to_h3i7 + 17 r7a1_to_h3i7 + 17 r7a2_to_h3i7 - 150 h3i7_hdd = 0
1041 h3i8_mem_use: 2 r1a0_to_h3i8 + 2 r1a1_to_h3i8 + 2 r1a2_to_h3i8 + 3 r2a0_to_h3i8 + 3 r3a0_to_h3i8 + 2 r5a0_to_h3i8 + 3 r6a0_to_h3i8 + 3 r6a1_to_h3i8 + 3 r6a2_to_h3i8 + 3 r6a3_to_h3i8 + 3 r7a0_to_h3i8 + 3 r7a1_to_h3i8 + 3 r7a2_to_h3i8 - 32 h3i8_mem = 0
1042 h3i8_hdd_use: 4 r1a0_to_h3i8 + 4 r1a1_to_h3i8 + 4 r1a2_to_h3i8 + 5 r2a0_to_h3i8 + 17 r3a0_to_h3i8 + 4 r5a0_to_h3i8 + 5 r6a0_to_h3i8 + 5 r6a1_to_h3i8 + 5 r6a2_to_h3i8 + 5 r6a3_to_h3i8 + 17 r7a0_to_h3i8 + 17 r7a1_to_h3i8 + 17 r7a2_to_h3i8 - 150 h3i8_hdd = 0
1043 h3i9_mem_use: 2 r1a0_to_h3i9 + 2 r1a1_to_h3i9 + 2 r1a2_to_h3i9 + 3 r2a0_to_h3i9 + 3 r3a0_to_h3i9 + 2 r5a0_to_h3i9 + 3 r6a0_to_h3i9 + 3 r6a1_to_h3i9 + 3 r6a2_to_h3i9 + 3 r6a3_to_h3i9 + 3 r7a0_to_h3i9 + 3 r7a1_to_h3i9 + 3 r7a2_to_h3i9 - 32 h3i9_mem = 0
1044 h3i9_hdd_use: 4 r1a0_to_h3i9 + 4 r1a1_to_h3i9 + 4 r1a2_to_h3i9 + 5 r2a0_to_h3i9 + 17 r3a0_to_h3i9 + 4 r5a0_to_h3i9 + 5 r6a0_to_h3i9 + 5 r6a1_to_h3i9 + 5 r6a2_to_h3i9 + 5 r6a3_to_h3i9 + 17 r7a0_to_h3i9 + 17 r7a1_to_h3i9 + 17 r7a2_to_h3i9 - 150 h3i9_hdd = 0
1045 h4i0_mem_use: 4 r0a0_to_h4i0 + 4 r0a1_to_h4i0 + 4 r0a2_to_h4i0 + 4 r0a3_to_h4i0 + 2 r1a0_to_h4i0 + 2 r1a1_to_h4i0 + 2 r1a2_to_h4i0 + 3 r2a0_to_h4i0 + 3 r3a0_to_h4i0 + 4 r4a0_to_h4i0 + 4 r4a1_to_h4i0 + 4 r4a2_to_h4i0 + 4 r4a3_to_h4i0 + 2 r5a0_to_h4i0 + 3 r6a0_to_h4i0 + 3 r6a1_to_h4i0 + 3 r6a2_to_h4i0 + 3 r6a3_to_h4i0 + 3 r7a0_to_h4i0 + 3 r7a1_to_h4i0 + 3 r7a2_to_h4i0 - 4 h4i0_mem = 0
1046 h4i0_hdd_use: 29 r0a0_to_h4i0 + 29 r0a1_to_h4i0 + 29 r0a2_to_h4i0 + 29 r0a3_to_h4i0 + 4 r1a0_to_h4i0 + 4 r1a1_to_h4i0 + 4 r1a2_to_h4i0 + 5 r2a0_to_h4i0 + 17 r3a0_to_h4i0 + 29 r4a0_to_h4i0 + 29 r4a1_to_h4i0 + 29 r4a2_to_h4i0 + 29 r4a3_to_h4i0 + 4 r5a0_to_h4i0 + 5 r6a0_to_h4i0 + 5 r6a1_to_h4i0 + 5 r6a2_to_h4i0 + 5 r6a3_to_h4i0 + 17 r7a0_to_h4i0 + 17 r7a1_to_h4i0 + 17 r7a2_to_h4i0 - 50 h4i0_hdd = 0
1047 h4i1_mem_use: 4 r0a0_to_h4i1 + 4 r0a1_to_h4i1 + 4 r0a2_to_h4i1 + 4 r0a3_to_h4i1 + 2 r1a0_to_h4i1 + 2 r1a1_to_h4i1 + 2 r1a2_to_h4i1 + 3 r2a0_to_h4i1 + 3 r3a0_to_h4i1 + 4 r4a0_to_h4i1 + 4 r4a1_to_h4i1 + 4 r4a2_to_h4i1 + 4 r4a3_to_h4i1 + 2 r5a0_to_h4i1 + 3 r6a0_to_h4i1 + 3 r6a1_to_h4i1 + 3 r6a2_to_h4i1 + 3 r6a3_to_h4i1 + 3 r7a0_to_h4i1 + 3 r7a1_to_h4i1 + 3 r7a2_to_h4i1 - 4 h4i1_mem = 0
1048 h4i1_hdd_use: 29 r0a0_to_h4i1 + 29 r0a1_to_h4i1 + 29 r0a2_to_h4i1 + 29 r0a3_to_h4i1 + 4 r1a0_to_h4i1 + 4 r1a1_to_h4i1 + 4 r1a2_to_h4i1 + 5 r2a0_to_h4i1 + 17 r3a0_to_h4i1 + 29 r4a0_to_h4i1 + 29 r4a1_to_h4i1 + 29 r4a2_to_h4i1 + 29 r4a3_to_h4i1 + 4 r5a0_to_h4i1 + 5 r6a0_to_h4i1 + 5 r6a1_to_h4i1 + 5 r6a2_to_h4i1 + 5 r6a3_to_h4i1 + 17 r7a0_to_h4i1 + 17 r7a1_to_h4i1 + 17 r7a2_to_h4i1 - 50 h4i1_hdd = 0
1049 h4i2_mem_use: 4 r0a0_to_h4i2 + 4 r0a1_to_h4i2 + 4 r0a2_to_h4i2 + 4 r0a3_to_h4i2 + 2 r1a0_to_h4i2 + 2 r1a1_to_h4i2 + 2 r1a2_to_h4i2 + 3 r2a0_to_h4i2 + 3 r3a0_to_h4i2 + 4 r4a0_to_h4i2 + 4 r4a1_to_h4i2 + 4 r4a2_to_h4i2 + 4 r4a3_to_h4i2 + 2 r5a0_to_h4i2 + 3 r6a0_to_h4i2 + 3 r6a1_to_h4i2 + 3 r6a2_to_h4i2 + 3 r6a3_to_h4i2 + 3 r7a0_to_h4i2 + 3 r7a1_to_h4i2 + 3 r7a2_to_h4i2 - 4 h4i2_mem = 0
1050 h4i2_hdd_use: 29 r0a0_to_h4i2 + 29 r0a1_to_h4i2 + 29 r0a2_to_h4i2 + 29 r0a3_to_h4i2 + 4 r1a0_to_h4i2 + 4 r1a1_to_h4i2 + 4 r1a2_to_h4i2 + 5 r2a0_to_h4i2 + 17 r3a0_to_h4i2 + 29 r4a0_to_h4i2 + 29 r4a1_to_h4i2 + 29 r4a2_to_h4i2 + 29 r4a3_to_h4i2 + 4 r5a0_to_h4i2 + 5 r6a0_to_h4i2 + 5 r6a1_to_h4i2 + 5 r6a2_to_h4i2 + 5 r6a3_to_h4i2 + 17 r7a0_to_h4i2 + 17 r7a1_to_h4i2 + 17 r7a2_to_h4i2 - 50 h4i2_hdd = 0
1051 h4i3_mem_use: 4 r0a0_to_h4i3 + 4 r0a1_to_h4i3 + 4 r0a2_to_h4i3 + 4 r0a3_to_h4i3 + 2 r1a0_to_h4i3 + 2 r1a1_to_h4i3 + 2 r1a2_to_h4i3 + 3 r2a0_to_h4i3 + 3 r3a0_to_h4i3 + 4 r4a0_to_h4i3 + 4 r4a1_to_h4i3 + 4 r4a2_to_h4i3 + 4 r4a3_to_h4i3 + 2 r5a0_to_h4i3 + 3 r6a0_to_h4i3 + 3 r6a1_to_h4i3 + 3 r6a2_to_h4i3 + 3 r6a3_to_h4i3 + 3 r7a0_to_h4i3 + 3 r7a1_to_h4i3 + 3 r7a2_to_h4i3 - 4 h4i3_mem = 0
1052 h4i3_hdd_use: 29 r0a0_to_h4i3 + 29 r0a1_to_h4i3 + 29 r0a2_to_h4i3 + 29 r0a3_to_h4i3 + 4 r1a0_to_h4i3 + 4 r1a1_to_h4i3 + 4 r1a2_to_h4i3 + 5 r2a0_to_h4i3 + 17 r3a0_to_h4i3 + 29 r4a0_to_h4i3 + 29 r4a1_to_h4i3 + 29 r4a2_to_h4i3 + 29 r4a3_to_h4i3 + 4 r5a0_to_h4i3 + 5 r6a0_to_h4i3 + 5 r6a1_to_h4i3 + 5 r6a2_to_h4i3 + 5 r6a3_to_h4i3 + 17 r7a0_to_h4i3 + 17 r7a1_to_h4i3 + 17 r7a2_to_h4i3 - 50 h4i3_hdd = 0
1053 h4i4_mem_use: 4 r0a0_to_h4i4 + 4 r0a1_to_h4i4 + 4 r0a2_to_h4i4 + 4 r0a3_to_h4i4 + 2 r1a0_to_h4i4 + 2 r1a1_to_h4i4 + 2 r1a2_to_h4i4 + 3 r2a0_to_h4i4 + 3 r3a0_to_h4i4 + 4 r4a0_to_h4i4 + 4 r4a1_to_h4i4 + 4 r4a2_to_h4i4 + 4 r4a3_to_h4i4 + 2 r5a0_to_h4i4 + 3 r6a0_to_h4i4 + 3 r6a1_to_h4i4 + 3 r6a2_to_h4i4 + 3 r6a3_to_h4i4 + 3 r7a0_to_h4i4 + 3 r7a1_to_h4i4 + 3 r7a2_to_h4i4 - 4 h4i4_mem = 0
1054 h4i4_hdd_use: 29 r0a0_to_h4i4 + 29 r0a1_to_h4i4 + 29 r0a2_to_h4i4 + 29 r0a3_to_h4i4 + 4 r1a0_to_h4i4 + 4 r1a1_to_h4i4 + 4 r1a2_to_h4i4 + 5 r2a0_to_h4i4 + 17 r3a0_to_h4i4 + 29 r4a0_to_h4i4 + 29 r4a1_to_h4i4 + 29 r4a2_to_h4i4 + 29 r4a3_to_h4i4 + 4 r5a0_to_h4i4 + 5 r6a0_to_h4i4 + 5 r6a1_to_h4i4 + 5 r6a2_to_h4i4 + 5 r6a3_to_h4i4 + 17 r7a0_to_h4i4 + 17 r7a1_to_h4i4 + 17 r7a2_to_h4i4 - 50 h4i4_hdd = 0
1055 h4i5_mem_use: 4 r0a0_to_h4i5 + 4 r0a1_to_h4i5 + 4 r0a2_to_h4i5 + 4 r0a3_to_h4i5 + 2 r1a0_to_h4i5 + 2 r1a1_to_h4i5 + 2 r1a2_to_h4i5 + 3 r2a0_to_h4i5 + 3 r3a0_to_h4i5 + 4 r4a0_to_h4i5 + 4 r4a1_to_h4i5 + 4 r4a2_to_h4i5 + 4 r4a3_to_h4i5 + 2 r5a0_to_h4i5 + 3 r6a0_to_h4i5 + 3 r6a1_to_h4i5 + 3 r6a2_to_h4i5 + 3 r6a3_to_h4i5 + 3 r7a0_to_h4i5 + 3 r7a1_to_h4i5 + 3 r7a2_to_h4i5 - 4 h4i5_mem = 0
1056 h4i5_hdd_use: 29 r0a0_to_h4i5 + 29 r0a1_to_h4i5 + 29 r0a2_to_h4i5 + 29 r0a3_to_h4i5 + 4 r1a0_to_h4i5 + 4 r1a1_to_h4i5 + 4 r1a2_to_h4i5 + 5 r2a0_to_h4i5 + 17 r3a0_to_h4i5 + 29 r4a0_to_h4i5 + 29 r4a1_to_h4i5 + 29 r4a2_to_h4i5 + 29 r4a3_to_h4i5 + 4 r5a0_to_h4i5 + 5 r6a0_to_h4i5 + 5 r6a1_to_h4i5 + 5 r6a2_to_h4i5 + 5 r6a3_to_h4i5 + 17 r7a0_to_h4i5 + 17 r7a1_to_h4i5 + 17 r7a2_to_h4i5 - 50 h4i5_hdd = 0
1057 h4i6_mem_use: 4 r0a0_to_h4i6 + 4 r0a1_to_h4i6 + 4 r0a2_to_h4i6 + 4 r0a3_to_h4i6 + 2 r1a0_to_h4i6 + 2 r1a1_to_h4i6 + 2 r1a2_to_h4i6 + 3 r2a0_to_h4i6 + 3 r3a0_to_h4i6 + 4 r4a0_to_h4i6 + 4 r4a1_to_h4i6 + 4 r4a2_to_h4i6 + 4 r4a3_to_h4i6 + 2 r5a0_to_h4i6 + 3 r6a0_to_h4i6 + 3 r6a1_to_h4i6 + 3 r6a2_to_h4i6 + 3 r6a3_to_h4i6 + 3 r7a0_to_h4i6 + 3 r7a1_to_h4i6 + 3 r7a2_to_h4i6 - 4 h4i6_mem = 0
1058 h4i6_hdd_use: 29 r0a0_to_h4i6 + 29 r0a1_to_h4i6 + 29 r0a2_to_h4i6 + 29 r0a3_to_h4i6 + 4 r1a0_to_h4i6 + 4 r1a1_to_h4i6 + 4 r1a2_to_h4i6 + 5 r2a0_to_h4i6 + 17 r3a0_to_h4i6 + 29 r4a0_to_h4i6 + 29 r4a1_to_h4i6 + 29 r4a2_to_h4i6 + 29 r4a3_to_h4i6 + 4 r5a0_to_h4i6 + 5 r6a0_to_h4i6 + 5 r6a1_to_h4i6 + 5 r6a2_to_h4i6 + 5 r6a3_to_h4i6 + 17 r7a0_to_h4i6 + 17 r7a1_to_h4i6 + 17 r7a2_to_h4i6 - 50 h4i6_hdd = 0
1059 h4i7_mem_use: 4 r0a0_to_h4i7 + 4 r0a1_to_h4i7 + 4 r0a2_to_h4i7 + 4 r0a3_to_h4i7 + 2 r1a0_to_h4i7 + 2 r1a1_to_h4i7 + 2 r1a2_to_h4i7 + 3 r2a0_to_h4i7 + 3 r3a0_to_h4i7 + 4 r4a0_to_h4i7 + 4 r4a1_to_h4i7 + 4 r4a2_to_h4i7 + 4 r4a3_to_h4i7 + 2 r5a0_to_h4i7 + 3 r6a0_to_h4i7 + 3 r6a1_to_h4i7 + 3 r6a2_to_h4i7 + 3 r6a3_to_h4i7 + 3 r7a0_to_h4i7 + 3 r7a1_to_h4i7 + 3 r7a2_to_h4i7 - 4 h4i7_mem = 0
1060 h4i7_hdd_use: 29 r0a0_to_h4i7 + 29 r0a1_to_h4i7 + 29 r0a2_to_h4i7 + 29 r0a3_to_h4i7 + 4 r1a0_to_h4i7 + 4 r1a1_to_h4i7 + 4 r1a2_to_h4i7 + 5 r2a0_to_h4i7 + 17 r3a0_to_h4i7 + 29 r4a0_to_h4i7 + 29 r4a1_to_h4i7 + 29 r4a2_to_h4i7 + 29 r4a3_to_h4i7 + 4 r5a0_to_h4i7 + 5 r6a0_to_h4i7 + 5 r6a1_to_h4i7 + 5 r6a2_to_h4i7 + 5 r6a3_to_h4i7 + 17 r7a0_to_h4i7 + 17 r7a1_to_h4i7 + 17 r7a2_to_h4i7 - 50 h4i7_hdd = 0
1061 h4i8_mem_use: 4 r0a0_to_h4i8 + 4 r0a1_to_h4i8 + 4 r0a2_to_h4i8 + 4 r0a3_to_h4i8 + 2 r1a0_to_h4i8 + 2 r1a1_to_h4i8 + 2 r1a2_to_h4i8 + 3 r2a0_to_h4i8 + 3 r3a0_to_h4i8 + 4 r4a0_to_h4i8 + 4 r4a1_to_h4i8 + 4 r4a2_to_h4i8 + 4 r4a3_to_h4i8 + 2 r5a0_to_h4i8 + 3 r6a0_to_h4i8 + 3 r6a1_to_h4i8 + 3 r6a2_to_h4i8 + 3 r6a3_to_h4i8 + 3 r7a0_to_h4i8 + 3 r7a1_to_h4i8 + 3 r7a2_to_h4i8 - 4 h4i8_mem = 0
1062 h4i8_hdd_use: 29 r0a0_to_h4i8 + 29 r0a1_to_h4i8 + 29 r0a2_to_h4i8 + 29 r0a3_to_h4i8 + 4 r1a0_to_h4i8 + 4 r1a1_to_h4i8 + 4 r1a2_to_h4i8 + 5 r2a0_to_h4i8 + 17 r3a0_to_h4i8 + 29 r4a0_to_h4i8 + 29 r4a1_to_h4i8 + 29 r4a2_to_h4i8 + 29 r4a3_to_h4i8 + 4 r5a0_to_h4i8 + 5 r6a0_to_h4i8 + 5 r6a1_to_h4i8 + 5 r6a2_to_h4i8 + 5 r6a3_to_h4i8 + 17 r7a0_to_h4i8 + 17 r7a1_to_h4i8 + 17 r7a2_to_h4i8 - 50 h4i8_hdd = 0
1063 h4i9_mem_use: 4 r0a0_to_h4i9 + 4 r0a1_to_h4i9 + 4 r0a2_to_h4i9 + 4 r0a3_to_h4i9 + 2 r1a0_to_h4i9 + 2 r1a1_to_h4i9 + 2 r1a2_to_h4i9 + 3 r2a0_to_h4i9 + 3 r3a0_to_h4i9 + 4 r4a0_to_h4i9 + 4 r4a1_to_h4i9 + 4 r4a2_to_h4i9 + 4 r4a3_to_h4i9 + 2 r5a0_to_h4i9 + 3 r6a0_to_h4i9 + 3 r6a1_to_h4i9 + 3 r6a2_to_h4i9 + 3 r6a3_to_h4i9 + 3 r7a0_to_h4i9 + 3 r7a1_to_h4i9 + 3 r7a2_to_h4i9 - 4 h4i9_mem = 0
1064 h4i9_hdd_use: 29 r0a0_to_h4i9 + 29 r0a1_to_h4i9 + 29 r0a2_to_h4i9 + 29 r0a3_to_h4i9 + 4 r1a0_to_h4i9 + 4 r1a1_to_h4i9 + 4 r1a2_to_h4i9 + 5 r2a0_to_h4i9 + 17 r3a0_to_h4i9 + 29 r4a0_to_h4i9 + 29 r4a1_to_h4i9 + 29 r4a2_to_h4i9 + 29 r4a3_to_h4i9 + 4 r5a0_to_h4i9 + 5 r6a0_to_h4i9 + 5 r6a1_to_h4i9 + 5 r6a2_to_h4i9 + 5 r6a3_to_h4i9 + 17 r7a0_to_h4i9 + 17 r7a1_to_h4i9 + 17 r7a2_to_h4i9 - 50 h4i9_hdd = 0
1065 h5i0_mem_use: 4 r0a0_to_h5i0 + 4 r0a1_to_h5i0 + 4 r0a2_to_h5i0 + 4 r0a3_to_h5i0 + 2 r1a0_to_h5i0 + 2 r1a1_to_h5i0 + 2 r1a2_to_h5i0 + 3 r2a0_to_h5i0 + 3 r3a0_to_h5i0 + 4 r4a0_to_h5i0 + 4 r4a1_to_h5i0 + 4 r4a2_to_h5i0 + 4 r4a3_to_h5i0 + 2 r5a0_to_h5i0 + 3 r6a0_to_h5i0 + 3 r6a1_to_h5i0 + 3 r6a2_to_h5i0 + 3 r6a3_to_h5i0 + 3 r7a0_to_h5i0 + 3 r7a1_to_h5i0 + 3 r7a2_to_h5i0 - 8 h5i0_mem = 0
1066 h5i0_hdd_use: 29 r0a0_to_h5i0 + 29 r0a1_to_h5i0 + 29 r0a2_to_h5i0 + 29 r0a3_to_h5i0 + 4 r1a0_to_h5i0 + 4 r1a1_to_h5i0 + 4 r1a2_to_h5i0 + 5 r2a0_to_h5i0 + 17 r3a0_to_h5i0 + 29 r4a0_to_h5i0 + 29 r4a1_to_h5i0 + 29 r4a2_to_h5i0 + 29 r4a3_to_h5i0 + 4 r5a0_to_h5i0 + 5 r6a0_to_h5i0 + 5 r6a1_to_h5i0 + 5 r6a2_to_h5i0 + 5 r6a3_to_h5i0 + 17 r7a0_to_h5i0 + 17 r7a1_to_h5i0 + 17 r7a2_to_h5i0 - 100 h5i0_hdd = 0
1067 h5i1_mem_use: 4 r0a0_to_h5i1 + 4 r0a1_to_h5i1 + 4 r0a2_to_h5i1 + 4 r0a3_to_h5i1 + 2 r1a0_to_h5i1 + 2 r1a1_to_h5i1 + 2 r1a2_to_h5i1 + 3 r2a0_to_h5i1 + 3 r3a0_to_h5i1 + 4 r4a0_to_h5i1 + 4 r4a1_to_h5i1 + 4 r4a2_to_h5i1 + 4 r4a3_to_h5i1 + 2 r5a0_to_h5i1 + 3 r6a0_to_h5i1 + 3 r6a1_to_h5i1 + 3 r6a2_to_h5i1 + 3 r6a3_to_h5i1 + 3 r7a0_to_h5i1 + 3 r7a1_to_h5i1 + 3 r7a2_to_h5i1 - 8 h5i1_mem = 0
1068 h5i1_hdd_use: 29 r0a0_to_h5i1 + 29 r0a1_to_h5i1 + 29 r0a2_to_h5i1 + 29 r0a3_to_h5i1 + 4 r1a0_to_h5i1 + 4 r1a1_to_h5i1 + 4 r1a2_to_h5i1 + 5 r2a0_to_h5i1 + 17 r3a0_to_h5i1 + 29 r4a0_to_h5i1 + 29 r4a1_to_h5i1 + 29 r4a2_to_h5i1 + 29 r4a3_to_h5i1 + 4 r5a0_to_h5i1 + 5 r6a0_to_h5i1 + 5 r6a1_to_h5i1 + 5 r6a2_to_h5i1 + 5 r6a3_to_h5i1 + 17 r7a0_to_h5i1 + 17 r7a1_to_h5i1 + 17 r7a2_to_h5i1 - 100 h5i1_hdd = 0
1069 h5i2_mem_use: 4 r0a0_to_h5i2 + 4 r0a1_to_h5i2 + 4 r0a2_to_h5i2 + 4 r0a3_to_h5i2 + 2 r1a0_to_h5i2 + 2 r1a1_to_h5i2 + 2 r1a2_to_h5i2 + 3 r2a0_to_h5i2 + 3 r3a0_to_h5i2 + 4 r4a0_to_h5i2 + 4 r4a1_to_h5i2 + 4 r4a2_to_h5i2 + 4 r4a3_to_h5i2 + 2 r5a0_to_h5i2 + 3 r6a0_to_h5i2 + 3 r6a1_to_h5i2 + 3 r6a2_to_h5i2 + 3 r6a3_to_h5i2 + 3 r7a0_to_h5i2 + 3 r7a1_to_h5i2 + 3 r7a2_to_h5i2 - 8 h5i2_mem = 0
1070 h5i2_hdd_use: 29 r0a0_to_h5i2 + 29 r0a1_to_h5i2 + 29 r0a2_to_h5i2 + 29 r0a3_to_h5i2 + 4 r1a0_to_h5i2 + 4 r1a1_to_h5i2 + 4 r1a2_to_h5i2 + 5 r2a0_to_h5i2 + 17 r3a0_to_h5i2 + 29 r4a0_to_h5i2 + 29 r4a1_to_h5i2 + 29 r4a2_to_h5i2 + 29 r4a3_to_h5i2 + 4 r5a0_to_h5i2 + 5 r6a0_to_h5i2 + 5 r6a1_to_h5i2 + 5 r6a2_to_h5i2 + 5 r6a3_to_h5i2 + 17 r7a0_to_h5i2 + 17 r7a1_to_h5i2 + 17 r7a2_to_h5i2 - 100 h5i2_hdd = 0
1071 h5i3_mem_use: 4 r0a0_to_h5i3 + 4 r0a1_to_h5i3 + 4 r0a2_to_h5i3 + 4 r0a3_to_h5i3 + 2 r1a0_to_h5i3 + 2 r1a1_to_h5i3 + 2 r1a2_to_h5i3 + 3 r2a0_to_h5i3 + 3 r3a0_to_h5i3 + 4 r4a0_to_h5i3 + 4 r4a1_to_h5i3 + 4 r4a2_to_h5i3 + 4 r4a3_to_h5i3 + 2 r5a0_to_h5i3 + 3 r6a0_to_h5i3 + 3 r6a1_to_h5i3 + 3 r6a2_to_h5i3 + 3 r6a3_to_h5i3 + 3 r7a0_to_h5i3 + 3 r7a1_to_h5i3 + 3 r7a2_to_h5i3 - 8 h5i3_mem = 0
1072 h5i3_hdd_use: 29 r0a0_to_h5i3 + 29 r0a1_to_h5i3 + 29 r0a2_to_h5i3 + 29 r0a3_to_h5i3 + 4 r1a0_to_h5i3 + 4 r1a1_to_h5i3 + 4 r1a2_to_h5i3 + 5 r2a0_to_h5i3 + 17 r3a0_to_h5i3 + 29 r4a0_to_h5i3 + 29 r4a1_to_h5i3 + 29 r4a2_to_h5i3 + 29 r4a3_to_h5i3 + 4 r5a0_to_h5i3 + 5 r6a0_to_h5i3 + 5 r6a1_to_h5i3 + 5 r6a2_to_h5i3 + 5 r6a3_to_h5i3 + 17 r7a0_to_h5i3 + 17 r7a1_to_h5i3 + 17 r7a2_to_h5i3 - 100 h5i3_hdd = 0
1073 h5i4_mem_use: 4 r0a0_to_h5i4 + 4 r0a1_to_h5i4 + 4 r0a2_to_h5i4 + 4 r0a3_to_h5i4 + 2 r1a0_to_h5i4 + 2 r1a1_to_h5i4 + 2 r1a2_to_h5i4 + 3 r2a0_to_h5i4 + 3 r3a0_to_h5i4 + 4 r4a0_to_h5i4 + 4 r4a1_to_h5i4 + 4 r4a2_to_h5i4 + 4 r4a3_to_h5i4 + 2 r5a0_to_h5i4 + 3 r6a0_to_h5i4 + 3 r6a1_to_h5i4 + 3 r6a2_to_h5i4 + 3 r6a3_to_h5i4 + 3 r7a0_to_h5i4 + 3 r7a1_to_h5i4 + 3 r7a2_to_h5i4 - 8 h5i4_mem = 0
1074 h5i4_hdd_use: 29 r0a0_to_h5i4 + 29 r0a1_to_h5i4 + 29 r0a2_to_h5i4 + 29 r0a3_to_h5i4 + 4 r1a0_to_h5i4 + 4 r1a1_to_h5i4 + 4 r1a2_to_h5i4 + 5 r2a0_to_h5i4 + 17 r3a0_to_h5i4 + 29 r4a0_to_h5i4 + 29 r4a1_to_h5i4 + 29 r4a2_to_h5i4 + 29 r4a3_to_h5i4 + 4 r5a0_to_h5i4 + 5 r6a0_to_h5i4 + 5 r6a1_to_h5i4 + 5 r6a2_to_h5i4 + 5 r6a3_to_h5i4 + 17 r7a0_to_h5i4 + 17 r7a1_to_h5i4 + 17 r7a2_to_h5i4 - 100 h5i4_hdd = 0
1075 h5i5_mem_use: 4 r0a0_to_h5i5 + 4 r0a1_to_h5i5 + 4 r0a2_to_h5i5 + 4 r0a3_to_h5i5 + 2 r1a0_to_h5i5 + 2 r1a1_to_h5i5 + 2 r1a2_to_h5i5 + 3 r2a0_to_h5i5 + 3 r3a0_to_h5i5 + 4 r4a0_to_h5i5 + 4 r4a1_to_h5i5 + 4 r4a2_to_h5i5 + 4 r4a3_to_h5i5 + 2 r5a0_to_h5i5 + 3 r6a0_to_h5i5 + 3 r6a1_to_h5i5 + 3 r6a2_to_h5i5 + 3 r6a3_to_h5i5 + 3 r7a0_to_h5i5 + 3 r7a1_to_h5i5 + 3 r7a2_to_h5i5 - 8 h5i5_mem = 0
1076 h5i5_hdd_use: 29 r0a0_to_h5i5 + 29 r0a1_to_h5i5 + 29 r0a2_to_h5i5 + 29 r0a3_to_h5i5 + 4 r1a0_to_h5i5 + 4 r1a1_to_h5i5 + 4 r1a2_to_h5i5 + 5 r2a0_to_h5i5 + 17 r3a0_to_h5i5 + 29 r4a0_to_h5i5 + 29 r4a1_to_h5i5 + 29 r4a2_to_h5i5 + 29 r4a3_to_h5i5 + 4 r5a0_to_h5i5 + 5 r6a0_to_h5i5 + 5 r6a1_to_h5i5 + 5 r6a2_to_h5i5 + 5 r6a3_to_h5i5 + 17 r7a0_to_h5i5 + 17 r7a1_to_h5i5 + 17 r7a2_to_h5i5 - 100 h5i5_hdd = 0
1077 h5i6_mem_use: 4 r0a0_to_h5i6 + 4 r0a1_to_h5i6 + 4 r0a2_to_h5i6 + 4 r0a3_to_h5i6 + 2 r1a0_to_h5i6 + 2 r1a1_to_h5i6 + 2 r1a2_to_h5i6 + 3 r2a0_to_h5i6 + 3 r3a0_to_h5i6 + 4 r4a0_to_h5i6 + 4 r4a1_to_h5i6 + 4 r4a2_to_h5i6 + 4 r4a3_to_h5i6 + 2 r5a0_to_h5i6 + 3 r6a0_to_h5i6 + 3 r6a1_to_h5i6 + 3 r6a2_to_h5i6 + 3 r6a3_to_h5i6 + 3 r7a0_to_h5i6 + 3 r7a1_to_h5i6 + 3 r7a2_to_h5i6 - 8 h5i6_mem = 0
1078 h5i6_hdd_use: 29 r0a0_to_h5i6 + 29 r0a1_to_h5i6 + 29 r0a2_to_h5i6 + 29 r0a3_to_h5i6 + 4 r1a0_to_h5i6 + 4 r1a1_to_h5i6 + 4 r1a2_to_h5i6 + 5 r2a0_to_h5i6 + 17 r3a0_to_h5i6 + 29 r4a0_to_h5i6 + 29 r4a1_to_h5i6 + 29 r4a2_to_h5i6 + 29 r4a3_to_h5i6 + 4 r5a0_to_h5i6 + 5 r6a0_to_h5i6 + 5 r6a1_to_h5i6 + 5 r6a2_to_h5i6 + 5 r6a3_to_h5i6 + 17 r7a0_to_h5i6 + 17 r7a1_to_h5i6 + 17 r7a2_to_h5i6 - 100 h5i6_hdd = 0
1079 h5i7_mem_use: 4 r0a0_to_h5i7 + 4 r0a1_to_h5i7 + 4 r0a2_to_h5i7 + 4 r0a3_to_h5i7 + 2 r1a0_to_h5i7 + 2 r1a1_to_h5i7 + 2 r1a2_to_h5i7 + 3 r2a0_to_h5i7 + 3 r3a0_to_h5i7 + 4 r4a0_to_h5i7 + 4 r4a1_to_h5i7 + 4 r4a2_to_h5i7 + 4 r4a3_to_h5i7 + 2 r5a0_to_h5i7 + 3 r6a0_to_h5i7 + 3 r6a1_to_h5i7 + 3 r6a2_to_h5i7 + 3 r6a3_to_h5i7 + 3 r7a0_to_h5i7 + 3 r7a1_to_h5i7 + 3 r7a2_to_h5i7 - 8 h5i7_mem = 0
1080 h5i7_hdd_use: 29 r0a0_to_h5i7 + 29 r0a1_to_h5i7 + 29 r0a2_to_h5i7 + 29 r0a3_to_h5i7 + 4 r1a0_to_h5i7 + 4 r1a1_to_h5i7 + 4 r1a2_to_h5i7 + 5 r2a0_to_h5i7 + 17 r3a0_to_h5i7 + 29 r4a0_to_h5i7 + 29 r4a1_to_h5i7 + 29 r4a2_to_h5i7 + 29 r4a3_to_h5i7 + 4 r5a0_to_h5i7 + 5 r6a0_to_h5i7 + 5 r6a1_to_h5i7 + 5 r6a2_to_h5i7 + 5 r6a3_to_h5i7 + 17 r7a0_to_h5i7 + 17 r7a1_to_h5i7 + 17 r7a2_to_h5i7 - 100 h5i7_hdd = 0
1081 h5i8_mem_use: 4 r0a0_to_h5i8 + 4 r0a1_to_h5i8 + 4 r0a2_to_h5i8 + 4 r0a3_to_h5i8 + 2 r1a0_to_h5i8 + 2 r1a1_to_h5i8 + 2 r1a2_to_h5i8 + 3 r2a0_to_h5i8 + 3 r3a0_to_h5i8 + 4 r4a0_to_h5i8 + 4 r4a1_to_h5i8 + 4 r4a2_to_h5i8 + 4 r4a3_to_h5i8 + 2 r5a0_to_h5i8 + 3 r6a0_to_h5i8 + 3 r6a1_to_h5i8 + 3 r6a2_to_h5i8 + 3 r6a3_to_h5i8 + 3 r7a0_to_h5i8 + 3 r7a1_to_h5i8 + 3 r7a2_to_h5i8 - 8 h5i8_mem = 0
1082 h5i8_hdd_use: 29 r0a0_to_h5i8 + 29 r0a1_to_h5i8 + 29 r0a2_to_h5i8 + 29 r0a3_to_h5i8 + 4 r1a0_to_h5i8 + 4 r1a1_to_h5i8 + 4 r1a2_to_h5i8 + 5 r2a0_to_h5i8 + 17 r3a0_to_h5i8 + 29 r4a0_to_h5i8 + 29 r4a1_to_h5i8 + 29 r4a2_to_h5i8 + 29 r4a3_to_h5i8 + 4 r5a0_to_h5i8 + 5 r6a0_to_h5i8 + 5 r6a1_to_h5i8 + 5 r6a2_to_h5i8 + 5 r6a3_to_h5i8 + 17 r7a0_to_h5i8 + 17 r7a1_to_h5i8 + 17 r7a2_to_h5i8 - 100 h5i8_hdd = 0
1083 h5i9_mem_use: 4 r0a0_to_h5i9 + 4 r0a1_to_h5i9 + 4 r0a2_to_h5i9 + 4 r0a3_to_h5i9 + 2 r1a0_to_h5i9 + 2 r1a1_to_h5i9 + 2 r1a2_to_h5i9 + 3 r2a0_to_h5i9 + 3 r3a0_to_h5i9 + 4 r4a0_to_h5i9 + 4 r4a1_to_h5i9 + 4 r4a2_to_h5i9 + 4 r4a3_to_h5i9 + 2 r5a0_to_h5i9 + 3 r6a0_to_h5i9 + 3 r6a1_to_h5i9 + 3 r6a2_to_h5i9 + 3 r6a3_to_h5i9 + 3 r7a0_to_h5i9 + 3 r7a1_to_h5i9 + 3 r7a2_to_h5i9 - 8 h5i9_mem = 0
1084 h5i9_hdd_use: 29 r0a0_to_h5i9 + 29 r0a1_to_h5i9 + 29 r0a2_to_h5i9 + 29 r0a3_to_h5i9 + 4 r1a0_to_h5i9 + 4 r1a1_to_h5i9 + 4 r1a2_to_h5i9 + 5 r2a0_to_h5i9 + 17 r3a0_to_h5i9 + 29 r4a0_to_h5i9 + 29 r4a1_to_h5i9 + 29 r4a2_to_h5i9 + 29 r4a3_to_h5i9 + 4 r5a0_to_h5i9 + 5 r6a0_to_h5i9 + 5 r6a1_to_h5i9 + 5 r6a2_to_h5i9 + 5 r6a3_to_h5i9 + 17 r7a0_to_h5i9 + 17 r7a1_to_h5i9 + 17 r7a2_to_h5i9 - 100 h5i9_hdd = 0
1085 average_mem: h0i0_mem - 0.25 h0i0_exists + h0i1_mem - 0.25 h0i1_exists + h0i2_mem - 0.25 h0i2_exists + h0i3_mem - 0.25 h0i3_exists + h0i4_mem - 0.25 h0i4_exists + h0i5_mem - 0.25 h0i5_exists + h0i6_mem - 0.25 h0i6_exists + h0i7_mem - 0.25 h0i7_exists + h0i8_mem - 0.25 h0i8_exists + h0i9_mem - 0.25 h0i9_exists + h1i0_mem - 0.25 h1i0_exists + h1i1_mem - 0.25 h1i1_exists + h1i2_mem - 0.25 h1i2_exists + h1i3_mem - 0.25 h1i3_exists + h1i4_mem - 0.25 h1i4_exists + h1i5_mem - 0.25 h1i5_exists + h1i6_mem - 0.25 h1i6_exists + h1i7_mem - 0.25 h1i7_exists + h1i8_mem - 0.25 h1i8_exists + h1i9_mem - 0.25 h1i9_exists + h2i0_mem - 0.25 h2i0_exists + h2i1_mem - 0.25 h2i1_exists + h2i2_mem - 0.25 h2i2_exists + h2i3_mem - 0.25 h2i3_exists + h2i4_mem - 0.25 h2i4_exists + h2i5_mem - 0.25 h2i5_exists + h2i6_mem - 0.25 h2i6_exists + h2i7_mem - 0.25 h2i7_exists + h2i8_mem - 0.25 h2i8_exists + h2i9_mem - 0.25 h2i9_exists + h3i0_mem - 0.25 h3i0_exists + h3i1_mem - 0.25 h3i1_exists + h3i2_mem - 0.25 h3i2_exists + h3i3_mem - 0.25 h3i3_exists + h3i4_mem - 0.25 h3i4_exists + h3i5_mem - 0.25 h3i5_exists + h3i6_mem - 0.25 h3i6_exists + h3i7_mem - 0.25 h3i7_exists + h3i8_mem - 0.25 h3i8_exists + h3i9_mem - 0.25 h3i9_exists + h4i0_mem - 0.25 h4i0_exists + h4i1_mem - 0.25 h4i1_exists + h4i2_mem - 0.25 h4i2_exists + h4i3_mem - 0.25 h4i3_exists + h4i4_mem - 0.25 h4i4_exists + h4i5_mem - 0.25 h4i5_exists + h4i6_mem - 0.25 h4i6_exists + h4i7_mem - 0.25 h4i7_exists + h4i8_mem - 0.25 h4i8_exists + h4i9_mem - 0.25 h4i9_exists + h5i0_mem - 0.25 h5i0_exists + h5i1_mem - 0.25 h5i1_exists + h5i2_mem - 0.25 h5i2_exists + h5i3_mem - 0.25 h5i3_exists + h5i4_mem - 0.25 h5i4_exists + h5i5_mem - 0.25 h5i5_exists + h5i6_mem - 0.25 h5i6_exists + h5i7_mem - 0.25 h5i7_exists + h5i8_mem - 0.25 h5i8_exists + h5i9_mem - 0.25 h5i9_exists >= 0
1086 average_hdd: h0i0_mem - 0.25 h0i0_exists + h0i1_mem - 0.25 h0i1_exists + h0i2_mem - 0.25 h0i2_exists + h0i3_mem - 0.25 h0i3_exists + h0i4_mem - 0.25 h0i4_exists + h0i5_mem - 0.25 h0i5_exists + h0i6_mem - 0.25 h0i6_exists + h0i7_mem - 0.25 h0i7_exists + h0i8_mem - 0.25 h0i8_exists + h0i9_mem - 0.25 h0i9_exists + h1i0_mem - 0.25 h1i0_exists + h1i1_mem - 0.25 h1i1_exists + h1i2_mem - 0.25 h1i2_exists + h1i3_mem - 0.25 h1i3_exists + h1i4_mem - 0.25 h1i4_exists + h1i5_mem - 0.25 h1i5_exists + h1i6_mem - 0.25 h1i6_exists + h1i7_mem - 0.25 h1i7_exists + h1i8_mem - 0.25 h1i8_exists + h1i9_mem - 0.25 h1i9_exists + h2i0_mem - 0.25 h2i0_exists + h2i1_mem - 0.25 h2i1_exists + h2i2_mem - 0.25 h2i2_exists + h2i3_mem - 0.25 h2i3_exists + h2i4_mem - 0.25 h2i4_exists + h2i5_mem - 0.25 h2i5_exists + h2i6_mem - 0.25 h2i6_exists + h2i7_mem - 0.25 h2i7_exists + h2i8_mem - 0.25 h2i8_exists + h2i9_mem - 0.25 h2i9_exists + h3i0_mem - 0.25 h3i0_exists + h3i1_mem - 0.25 h3i1_exists + h3i2_mem - 0.25 h3i2_exists + h3i3_mem - 0.25 h3i3_exists + h3i4_mem - 0.25 h3i4_exists + h3i5_mem - 0.25 h3i5_exists + h3i6_mem - 0.25 h3i6_exists + h3i7_mem - 0.25 h3i7_exists + h3i8_mem - 0.25 h3i8_exists + h3i9_mem - 0.25 h3i9_exists + h4i0_mem - 0.25 h4i0_exists + h4i1_mem - 0.25 h4i1_exists + h4i2_mem - 0.25 h4i2_exists + h4i3_mem - 0.25 h4i3_exists + h4i4_mem - 0.25 h4i4_exists + h4i5_mem - 0.25 h4i5_exists + h4i6_mem - 0.25 h4i6_exists + h4i7_mem - 0.25 h4i7_exists + h4i8_mem - 0.25 h4i8_exists + h4i9_mem - 0.25 h4i9_exists + h5i0_mem - 0.25 h5i0_exists + h5i1_mem - 0.25 h5i1_exists + h5i2_mem - 0.25 h5i2_exists + h5i3_mem - 0.25 h5i3_exists + h5i4_mem - 0.25 h5i4_exists + h5i5_mem - 0.25 h5i5_exists + h5i6_mem - 0.25 h5i6_exists + h5i7_mem - 0.25 h5i7_exists + h5i8_mem - 0.25 h5i8_exists + h5i9_mem - 0.25 h5i9_exists >= 0
1087 r0_h4i0_redundant: r0a0_to_h4i0 + r0a1_to_h4i0 + r0a2_to_h4i0 + r0a3_to_h4i0 <= 1
1088 r0_h4i1_redundant: r0a0_to_h4i1 + r0a1_to_h4i1 + r0a2_to_h4i1 + r0a3_to_h4i1 <= 1
1089 r0_h4i2_redundant: r0a0_to_h4i2 + r0a1_to_h4i2 + r0a2_to_h4i2 + r0a3_to_h4i2 <= 1
1090 r0_h4i3_redundant: r0a0_to_h4i3 + r0a1_to_h4i3 + r0a2_to_h4i3 + r0a3_to_h4i3 <= 1
1091 r0_h4i4_redundant: r0a0_to_h4i4 + r0a1_to_h4i4 + r0a2_to_h4i4 + r0a3_to_h4i4 <= 1
1092 r0_h4i5_redundant: r0a0_to_h4i5 + r0a1_to_h4i5 + r0a2_to_h4i5 + r0a3_to_h4i5 <= 1
1093 r0_h4i6_redundant: r0a0_to_h4i6 + r0a1_to_h4i6 + r0a2_to_h4i6 + r0a3_to_h4i6 <= 1
1094 r0_h4i7_redundant: r0a0_to_h4i7 + r0a1_to_h4i7 + r0a2_to_h4i7 + r0a3_to_h4i7 <= 1
1095 r0_h4i8_redundant: r0a0_to_h4i8 + r0a1_to_h4i8 + r0a2_to_h4i8 + r0a3_to_h4i8 <= 1
1096 r0_h4i9_redundant: r0a0_to_h4i9 + r0a1_to_h4i9 + r0a2_to_h4i9 + r0a3_to_h4i9 <= 1
1097 r0_h5i0_redundant: r0a0_to_h5i0 + r0a1_to_h5i0 + r0a2_to_h5i0 + r0a3_to_h5i0 <= 1
1098 r0_h5i1_redundant: r0a0_to_h5i1 + r0a1_to_h5i1 + r0a2_to_h5i1 + r0a3_to_h5i1 <= 1
1099 r0_h5i2_redundant: r0a0_to_h5i2 + r0a1_to_h5i2 + r0a2_to_h5i2 + r0a3_to_h5i2 <= 1
1100 r0_h5i3_redundant: r0a0_to_h5i3 + r0a1_to_h5i3 + r0a2_to_h5i3 + r0a3_to_h5i3 <= 1
1101 r0_h5i4_redundant: r0a0_to_h5i4 + r0a1_to_h5i4 + r0a2_to_h5i4 + r0a3_to_h5i4 <= 1
1102 r0_h5i5_redundant: r0a0_to_h5i5 + r0a1_to_h5i5 + r0a2_to_h5i5 + r0a3_to_h5i5 <= 1
1103 r0_h5i6_redundant: r0a0_to_h5i6 + r0a1_to_h5i6 + r0a2_to_h5i6 + r0a3_to_h5i6 <= 1
1104 r0_h5i7_redundant: r0a0_to_h5i7 + r0a1_to_h5i7 + r0a2_to_h5i7 + r0a3_to_h5i7 <= 1
1105 r0_h5i8_redundant: r0a0_to_h5i8 + r0a1_to_h5i8 + r0a2_to_h5i8 + r0a3_to_h5i8 <= 1
1106 r0_h5i9_redundant: r0a0_to_h5i9 + r0a1_to_h5i9 + r0a2_to_h5i9 + r0a3_to_h5i9 <= 1
1107 r1_h0i0_redundant: r1a0_to_h0i0 + r1a1_to_h0i0 + r1a2_to_h0i0 <= 1
1108 r1_h0i1_redundant: r1a0_to_h0i1 + r1a1_to_h0i1 + r1a2_to_h0i1 <= 1
1109 r1_h0i2_redundant: r1a0_to_h0i2 + r1a1_to_h0i2 + r1a2_to_h0i2 <= 1
1110 r1_h0i3_redundant: r1a0_to_h0i3 + r1a1_to_h0i3 + r1a2_to_h0i3 <= 1
1111 r1_h0i4_redundant: r1a0_to_h0i4 + r1a1_to_h0i4 + r1a2_to_h0i4 <= 1
1112 r1_h0i5_redundant: r1a0_to_h0i5 + r1a1_to_h0i5 + r1a2_to_h0i5 <= 1
1113 r1_h0i6_redundant: r1a0_to_h0i6 + r1a1_to_h0i6 + r1a2_to_h0i6 <= 1
1114 r1_h0i7_redundant: r1a0_to_h0i7 + r1a1_to_h0i7 + r1a2_to_h0i7 <= 1
1115 r1_h0i8_redundant: r1a0_to_h0i8 + r1a1_to_h0i8 + r1a2_to_h0i8 <= 1
1116 r1_h0i9_redundant: r1a0_to_h0i9 + r1a1_to_h0i9 + r1a2_to_h0i9 <= 1
1117 r1_h1i0_redundant: r1a0_to_h1i0 + r1a1_to_h1i0 + r1a2_to_h1i0 <= 1
1118 r1_h1i1_redundant: r1a0_to_h1i1 + r1a1_to_h1i1 + r1a2_to_h1i1 <= 1
1119 r1_h1i2_redundant: r1a0_to_h1i2 + r1a1_to_h1i2 + r1a2_to_h1i2 <= 1
1120 r1_h1i3_redundant: r1a0_to_h1i3 + r1a1_to_h1i3 + r1a2_to_h1i3 <= 1
1121 r1_h1i4_redundant: r1a0_to_h1i4 + r1a1_to_h1i4 + r1a2_to_h1i4 <= 1
1122 r1_h1i5_redundant: r1a0_to_h1i5 + r1a1_to_h1i5 + r1a2_to_h1i5 <= 1
1123 r1_h1i6_redundant: r1a0_to_h1i6 + r1a1_to_h1i6 + r1a2_to_h1i6 <= 1
1124 r1_h1i7_redundant: r1a0_to_h1i7 + r1a1_to_h1i7 + r1a2_to_h1i7 <= 1
1125 r1_h1i8_redundant: r1a0_to_h1i8 + r1a1_to_h1i8 + r1a2_to_h1i8 <= 1
1126 r1_h1i9_redundant: r1a0_to_h1i9 + r1a1_to_h1i9 + r1a2_to_h1i9 <= 1
1127 r1_h2i0_redundant: r1a0_to_h2i0 + r1a1_to_h2i0 + r1a2_to_h2i0 <= 1
1128 r1_h2i1_redundant: r1a0_to_h2i1 + r1a1_to_h2i1 + r1a2_to_h2i1 <= 1
1129 r1_h2i2_redundant: r1a0_to_h2i2 + r1a1_to_h2i2 + r1a2_to_h2i2 <= 1
1130 r1_h2i3_redundant: r1a0_to_h2i3 + r1a1_to_h2i3 + r1a2_to_h2i3 <= 1
1131 r1_h2i4_redundant: r1a0_to_h2i4 + r1a1_to_h2i4 + r1a2_to_h2i4 <= 1
1132 r1_h2i5_redundant: r1a0_to_h2i5 + r1a1_to_h2i5 + r1a2_to_h2i5 <= 1
1133 r1_h2i6_redundant: r1a0_to_h2i6 + r1a1_to_h2i6 + r1a2_to_h2i6 <= 1
1134 r1_h2i7_redundant: r1a0_to_h2i7 + r1a1_to_h2i7 + r1a2_to_h2i7 <= 1
1135 r1_h2i8_redundant: r1a0_to_h2i8 + r1a1_to_h2i8 + r1a2_to_h2i8 <= 1
1136 r1_h2i9_redundant: r1a0_to_h2i9 + r1a1_to_h2i9 + r1a2_to_h2i9 <= 1
1137 r1_h3i0_redundant: r1a0_to_h3i0 + r1a1_to_h3i0 + r1a2_to_h3i0 <= 1
1138 r1_h3i1_redundant: r1a0_to_h3i1 + r1a1_to_h3i1 + r1a2_to_h3i1 <= 1
1139 r1_h3i2_redundant: r1a0_to_h3i2 + r1a1_to_h3i2 + r1a2_to_h3i2 <= 1
1140 r1_h3i3_redundant: r1a0_to_h3i3 + r1a1_to_h3i3 + r1a2_to_h3i3 <= 1
1141 r1_h3i4_redundant: r1a0_to_h3i4 + r1a1_to_h3i4 + r1a2_to_h3i4 <= 1
1142 r1_h3i5_redundant: r1a0_to_h3i5 + r1a1_to_h3i5 + r1a2_to_h3i5 <= 1
1143 r1_h3i6_redundant: r1a0_to_h3i6 + r1a1_to_h3i6 + r1a2_to_h3i6 <= 1
1144 r1_h3i7_redundant: r1a0_to_h3i7 + r1a1_to_h3i7 + r1a2_to_h3i7 <= 1
1145 r1_h3i8_redundant: r1a0_to_h3i8 + r1a1_to_h3i8 + r1a2_to_h3i8 <= 1
1146 r1_h3i9_redundant: r1a0_to_h3i9 + r1a1_to_h3i9 + r1a2_to_h3i9 <= 1
1147 r1_h4i0_redundant: r1a0_to_h4i0 + r1a1_to_h4i0 + r1a2_to_h4i0 <= 1
1148 r1_h4i1_redundant: r1a0_to_h4i1 + r1a1_to_h4i1 + r1a2_to_h4i1 <= 1
1149 r1_h4i2_redundant: r1a0_to_h4i2 + r1a1_to_h4i2 + r1a2_to_h4i2 <= 1
1150 r1_h4i3_redundant: r1a0_to_h4i3 + r1a1_to_h4i3 + r1a2_to_h4i3 <= 1
1151 r1_h4i4_redundant: r1a0_to_h4i4 + r1a1_to_h4i4 + r1a2_to_h4i4 <= 1
1152 r1_h4i5_redundant: r1a0_to_h4i5 + r1a1_to_h4i5 + r1a2_to_h4i5 <= 1
1153 r1_h4i6_redundant: r1a0_to_h4i6 + r1a1_to_h4i6 + r1a2_to_h4i6 <= 1
1154 r1_h4i7_redundant: r1a0_to_h4i7 + r1a1_to_h4i7 + r1a2_to_h4i7 <= 1
1155 r1_h4i8_redundant: r1a0_to_h4i8 + r1a1_to_h4i8 + r1a2_to_h4i8 <= 1
1156 r1_h4i9_redundant: r1a0_to_h4i9 + r1a1_to_h4i9 + r1a2_to_h4i9 <= 1
1157 r1_h5i0_redundant: r1a0_to_h5i0 + r1a1_to_h5i0 + r1a2_to_h5i0 <= 1
1158 r1_h5i1_redundant: r1a0_to_h5i1 + r1a1_to_h5i1 + r1a2_to_h5i1 <= 1
1159 r1_h5i2_redundant: r1a0_to_h5i2 + r1a1_to_h5i2 + r1a2_to_h5i2 <= 1
1160 r1_h5i3_redundant: r1a0_to_h5i3 + r1a1_to_h5i3 + r1a2_to_h5i3 <= 1
1161 r1_h5i4_redundant: r1a0_to_h5i4 + r1a1_to_h5i4 + r1a2_to_h5i4 <= 1
1162 r1_h5i5_redundant: r1a0_to_h5i5 + r1a1_to_h5i5 + r1a2_to_h5i5 <= 1
1163 r1_h5i6_redundant: r1a0_to_h5i6 + r1a1_to_h5i6 + r1a2_to_h5i6 <= 1
1164 r1_h5i7_redundant: r1a0_to_h5i7 + r1a1_to_h5i7 + r1a2_to_h5i7 <= 1
1165 r1_h5i8_redundant: r1a0_to_h5i8 + r1a1_to_h5i8 + r1a2_to_h5i8 <= 1
1166 r1_h5i9_redundant: r1a0_to_h5i9 + r1a1_to_h5i9 + r1a2_to_h5i9 <= 1
1167 r2_h4i0_redundant: r4a0_to_h4i0 + r4a1_to_h4i0 + r4a2_to_h4i0 + r4a3_to_h4i0 <= 1
1168 r2_h4i1_redundant: r4a0_to_h4i1 + r4a1_to_h4i1 + r4a2_to_h4i1 + r4a3_to_h4i1 <= 1
1169 r2_h4i2_redundant: r4a0_to_h4i2 + r4a1_to_h4i2 + r4a2_to_h4i2 + r4a3_to_h4i2 <= 1
1170 r2_h4i3_redundant: r4a0_to_h4i3 + r4a1_to_h4i3 + r4a2_to_h4i3 + r4a3_to_h4i3 <= 1
1171 r2_h4i4_redundant: r4a0_to_h4i4 + r4a1_to_h4i4 + r4a2_to_h4i4 + r4a3_to_h4i4 <= 1
1172 r2_h4i5_redundant: r4a0_to_h4i5 + r4a1_to_h4i5 + r4a2_to_h4i5 + r4a3_to_h4i5 <= 1
1173 r2_h4i6_redundant: r4a0_to_h4i6 + r4a1_to_h4i6 + r4a2_to_h4i6 + r4a3_to_h4i6 <= 1
1174 r2_h4i7_redundant: r4a0_to_h4i7 + r4a1_to_h4i7 + r4a2_to_h4i7 + r4a3_to_h4i7 <= 1
1175 r2_h4i8_redundant: r4a0_to_h4i8 + r4a1_to_h4i8 + r4a2_to_h4i8 + r4a3_to_h4i8 <= 1
1176 r2_h4i9_redundant: r4a0_to_h4i9 + r4a1_to_h4i9 + r4a2_to_h4i9 + r4a3_to_h4i9 <= 1
1177 r2_h5i0_redundant: r4a0_to_h5i0 + r4a1_to_h5i0 + r4a2_to_h5i0 + r4a3_to_h5i0 <= 1
1178 r2_h5i1_redundant: r4a0_to_h5i1 + r4a1_to_h5i1 + r4a2_to_h5i1 + r4a3_to_h5i1 <= 1
1179 r2_h5i2_redundant: r4a0_to_h5i2 + r4a1_to_h5i2 + r4a2_to_h5i2 + r4a3_to_h5i2 <= 1
1180 r2_h5i3_redundant: r4a0_to_h5i3 + r4a1_to_h5i3 + r4a2_to_h5i3 + r4a3_to_h5i3 <= 1
1181 r2_h5i4_redundant: r4a0_to_h5i4 + r4a1_to_h5i4 + r4a2_to_h5i4 + r4a3_to_h5i4 <= 1
1182 r2_h5i5_redundant: r4a0_to_h5i5 + r4a1_to_h5i5 + r4a2_to_h5i5 + r4a3_to_h5i5 <= 1
1183 r2_h5i6_redundant: r4a0_to_h5i6 + r4a1_to_h5i6 + r4a2_to_h5i6 + r4a3_to_h5i6 <= 1
1184 r2_h5i7_redundant: r4a0_to_h5i7 + r4a1_to_h5i7 + r4a2_to_h5i7 + r4a3_to_h5i7 <= 1
1185 r2_h5i8_redundant: r4a0_to_h5i8 + r4a1_to_h5i8 + r4a2_to_h5i8 + r4a3_to_h5i8 <= 1
1186 r2_h5i9_redundant: r4a0_to_h5i9 + r4a1_to_h5i9 + r4a2_to_h5i9 + r4a3_to_h5i9 <= 1
1187 r3_h0i0_redundant: r6a0_to_h0i0 + r6a1_to_h0i0 + r6a2_to_h0i0 + r6a3_to_h0i0 <= 1
1188 r3_h0i1_redundant: r6a0_to_h0i1 + r6a1_to_h0i1 + r6a2_to_h0i1 + r6a3_to_h0i1 <= 1
1189 r3_h0i2_redundant: r6a0_to_h0i2 + r6a1_to_h0i2 + r6a2_to_h0i2 + r6a3_to_h0i2 <= 1
1190 r3_h0i3_redundant: r6a0_to_h0i3 + r6a1_to_h0i3 + r6a2_to_h0i3 + r6a3_to_h0i3 <= 1
1191 r3_h0i4_redundant: r6a0_to_h0i4 + r6a1_to_h0i4 + r6a2_to_h0i4 + r6a3_to_h0i4 <= 1
1192 r3_h0i5_redundant: r6a0_to_h0i5 + r6a1_to_h0i5 + r6a2_to_h0i5 + r6a3_to_h0i5 <= 1
1193 r3_h0i6_redundant: r6a0_to_h0i6 + r6a1_to_h0i6 + r6a2_to_h0i6 + r6a3_to_h0i6 <= 1
1194 r3_h0i7_redundant: r6a0_to_h0i7 + r6a1_to_h0i7 + r6a2_to_h0i7 + r6a3_to_h0i7 <= 1
1195 r3_h0i8_redundant: r6a0_to_h0i8 + r6a1_to_h0i8 + r6a2_to_h0i8 + r6a3_to_h0i8 <= 1
1196 r3_h0i9_redundant: r6a0_to_h0i9 + r6a1_to_h0i9 + r6a2_to_h0i9 + r6a3_to_h0i9 <= 1
1197 r3_h1i0_redundant: r6a0_to_h1i0 + r6a1_to_h1i0 + r6a2_to_h1i0 + r6a3_to_h1i0 <= 1
1198 r3_h1i1_redundant: r6a0_to_h1i1 + r6a1_to_h1i1 + r6a2_to_h1i1 + r6a3_to_h1i1 <= 1
1199 r3_h1i2_redundant: r6a0_to_h1i2 + r6a1_to_h1i2 + r6a2_to_h1i2 + r6a3_to_h1i2 <= 1
1200 r3_h1i3_redundant: r6a0_to_h1i3 + r6a1_to_h1i3 + r6a2_to_h1i3 + r6a3_to_h1i3 <= 1
1201 r3_h1i4_redundant: r6a0_to_h1i4 + r6a1_to_h1i4 + r6a2_to_h1i4 + r6a3_to_h1i4 <= 1
1202 r3_h1i5_redundant: r6a0_to_h1i5 + r6a1_to_h1i5 + r6a2_to_h1i5 + r6a3_to_h1i5 <= 1
1203 r3_h1i6_redundant: r6a0_to_h1i6 + r6a1_to_h1i6 + r6a2_to_h1i6 + r6a3_to_h1i6 <= 1
1204 r3_h1i7_redundant: r6a0_to_h1i7 + r6a1_to_h1i7 + r6a2_to_h1i7 + r6a3_to_h1i7 <= 1
1205 r3_h1i8_redundant: r6a0_to_h1i8 + r6a1_to_h1i8 + r6a2_to_h1i8 + r6a3_to_h1i8 <= 1
1206 r3_h1i9_redundant: r6a0_to_h1i9 + r6a1_to_h1i9 + r6a2_to_h1i9 + r6a3_to_h1i9 <= 1
1207 r3_h2i0_redundant: r6a0_to_h2i0 + r6a1_to_h2i0 + r6a2_to_h2i0 + r6a3_to_h2i0 <= 1
1208 r3_h2i1_redundant: r6a0_to_h2i1 + r6a1_to_h2i1 + r6a2_to_h2i1 + r6a3_to_h2i1 <= 1
1209 r3_h2i2_redundant: r6a0_to_h2i2 + r6a1_to_h2i2 + r6a2_to_h2i2 + r6a3_to_h2i2 <= 1
1210 r3_h2i3_redundant: r6a0_to_h2i3 + r6a1_to_h2i3 + r6a2_to_h2i3 + r6a3_to_h2i3 <= 1
1211 r3_h2i4_redundant: r6a0_to_h2i4 + r6a1_to_h2i4 + r6a2_to_h2i4 + r6a3_to_h2i4 <= 1
1212 r3_h2i5_redundant: r6a0_to_h2i5 + r6a1_to_h2i5 + r6a2_to_h2i5 + r6a3_to_h2i5 <= 1
1213 r3_h2i6_redundant: r6a0_to_h2i6 + r6a1_to_h2i6 + r6a2_to_h2i6 + r6a3_to_h2i6 <= 1
1214 r3_h2i7_redundant: r6a0_to_h2i7 + r6a1_to_h2i7 + r6a2_to_h2i7 + r6a3_to_h2i7 <= 1
1215 r3_h2i8_redundant: r6a0_to_h2i8 + r6a1_to_h2i8 + r6a2_to_h2i8 + r6a3_to_h2i8 <= 1
1216 r3_h2i9_redundant: r6a0_to_h2i9 + r6a1_to_h2i9 + r6a2_to_h2i9 + r6a3_to_h2i9 <= 1
1217 r3_h3i0_redundant: r6a0_to_h3i0 + r6a1_to_h3i0 + r6a2_to_h3i0 + r6a3_to_h3i0 <= 1
1218 r3_h3i1_redundant: r6a0_to_h3i1 + r6a1_to_h3i1 + r6a2_to_h3i1 + r6a3_to_h3i1 <= 1
1219 r3_h3i2_redundant: r6a0_to_h3i2 + r6a1_to_h3i2 + r6a2_to_h3i2 + r6a3_to_h3i2 <= 1
1220 r3_h3i3_redundant: r6a0_to_h3i3 + r6a1_to_h3i3 + r6a2_to_h3i3 + r6a3_to_h3i3 <= 1
1221 r3_h3i4_redundant: r6a0_to_h3i4 + r6a1_to_h3i4 + r6a2_to_h3i4 + r6a3_to_h3i4 <= 1
1222 r3_h3i5_redundant: r6a0_to_h3i5 + r6a1_to_h3i5 + r6a2_to_h3i5 + r6a3_to_h3i5 <= 1
1223 r3_h3i6_redundant: r6a0_to_h3i6 + r6a1_to_h3i6 + r6a2_to_h3i6 + r6a3_to_h3i6 <= 1
1224 r3_h3i7_redundant: r6a0_to_h3i7 + r6a1_to_h3i7 + r6a2_to_h3i7 + r6a3_to_h3i7 <= 1
1225 r3_h3i8_redundant: r6a0_to_h3i8 + r6a1_to_h3i8 + r6a2_to_h3i8 + r6a3_to_h3i8 <= 1
1226 r3_h3i9_redundant: r6a0_to_h3i9 + r6a1_to_h3i9 + r6a2_to_h3i9 + r6a3_to_h3i9 <= 1
1227 r3_h4i0_redundant: r6a0_to_h4i0 + r6a1_to_h4i0 + r6a2_to_h4i0 + r6a3_to_h4i0 <= 1
1228 r3_h4i1_redundant: r6a0_to_h4i1 + r6a1_to_h4i1 + r6a2_to_h4i1 + r6a3_to_h4i1 <= 1
1229 r3_h4i2_redundant: r6a0_to_h4i2 + r6a1_to_h4i2 + r6a2_to_h4i2 + r6a3_to_h4i2 <= 1
1230 r3_h4i3_redundant: r6a0_to_h4i3 + r6a1_to_h4i3 + r6a2_to_h4i3 + r6a3_to_h4i3 <= 1
1231 r3_h4i4_redundant: r6a0_to_h4i4 + r6a1_to_h4i4 + r6a2_to_h4i4 + r6a3_to_h4i4 <= 1
1232 r3_h4i5_redundant: r6a0_to_h4i5 + r6a1_to_h4i5 + r6a2_to_h4i5 + r6a3_to_h4i5 <= 1
1233 r3_h4i6_redundant: r6a0_to_h4i6 + r6a1_to_h4i6 + r6a2_to_h4i6 + r6a3_to_h4i6 <= 1
1234 r3_h4i7_redundant: r6a0_to_h4i7 + r6a1_to_h4i7 + r6a2_to_h4i7 + r6a3_to_h4i7 <= 1
1235 r3_h4i8_redundant: r6a0_to_h4i8 + r6a1_to_h4i8 + r6a2_to_h4i8 + r6a3_to_h4i8 <= 1
1236 r3_h4i9_redundant: r6a0_to_h4i9 + r6a1_to_h4i9 + r6a2_to_h4i9 + r6a3_to_h4i9 <= 1
1237 r3_h5i0_redundant: r6a0_to_h5i0 + r6a1_to_h5i0 + r6a2_to_h5i0 + r6a3_to_h5i0 <= 1
1238 r3_h5i1_redundant: r6a0_to_h5i1 + r6a1_to_h5i1 + r6a2_to_h5i1 + r6a3_to_h5i1 <= 1
1239 r3_h5i2_redundant: r6a0_to_h5i2 + r6a1_to_h5i2 + r6a2_to_h5i2 + r6a3_to_h5i2 <= 1
1240 r3_h5i3_redundant: r6a0_to_h5i3 + r6a1_to_h5i3 + r6a2_to_h5i3 + r6a3_to_h5i3 <= 1
1241 r3_h5i4_redundant: r6a0_to_h5i4 + r6a1_to_h5i4 + r6a2_to_h5i4 + r6a3_to_h5i4 <= 1
1242 r3_h5i5_redundant: r6a0_to_h5i5 + r6a1_to_h5i5 + r6a2_to_h5i5 + r6a3_to_h5i5 <= 1
1243 r3_h5i6_redundant: r6a0_to_h5i6 + r6a1_to_h5i6 + r6a2_to_h5i6 + r6a3_to_h5i6 <= 1
1244 r3_h5i7_redundant: r6a0_to_h5i7 + r6a1_to_h5i7 + r6a2_to_h5i7 + r6a3_to_h5i7 <= 1
1245 r3_h5i8_redundant: r6a0_to_h5i8 + r6a1_to_h5i8 + r6a2_to_h5i8 + r6a3_to_h5i8 <= 1
1246 r3_h5i9_redundant: r6a0_to_h5i9 + r6a1_to_h5i9 + r6a2_to_h5i9 + r6a3_to_h5i9 <= 1
1247 r4_h0i0_redundant: r7a0_to_h0i0 + r7a1_to_h0i0 + r7a2_to_h0i0 <= 1
1248 r4_h0i1_redundant: r7a0_to_h0i1 + r7a1_to_h0i1 + r7a2_to_h0i1 <= 1
1249 r4_h0i2_redundant: r7a0_to_h0i2 + r7a1_to_h0i2 + r7a2_to_h0i2 <= 1
1250 r4_h0i3_redundant: r7a0_to_h0i3 + r7a1_to_h0i3 + r7a2_to_h0i3 <= 1
1251 r4_h0i4_redundant: r7a0_to_h0i4 + r7a1_to_h0i4 + r7a2_to_h0i4 <= 1
1252 r4_h0i5_redundant: r7a0_to_h0i5 + r7a1_to_h0i5 + r7a2_to_h0i5 <= 1
1253 r4_h0i6_redundant: r7a0_to_h0i6 + r7a1_to_h0i6 + r7a2_to_h0i6 <= 1
1254 r4_h0i7_redundant: r7a0_to_h0i7 + r7a1_to_h0i7 + r7a2_to_h0i7 <= 1
1255 r4_h0i8_redundant: r7a0_to_h0i8 + r7a1_to_h0i8 + r7a2_to_h0i8 <= 1
1256 r4_h0i9_redundant: r7a0_to_h0i9 + r7a1_to_h0i9 + r7a2_to_h0i9 <= 1
1257 r4_h1i0_redundant: r7a0_to_h1i0 + r7a1_to_h1i0 + r7a2_to_h1i0 <= 1
1258 r4_h1i1_redundant: r7a0_to_h1i1 + r7a1_to_h1i1 + r7a2_to_h1i1 <= 1
1259 r4_h1i2_redundant: r7a0_to_h1i2 + r7a1_to_h1i2 + r7a2_to_h1i2 <= 1
1260 r4_h1i3_redundant: r7a0_to_h1i3 + r7a1_to_h1i3 + r7a2_to_h1i3 <= 1
1261 r4_h1i4_redundant: r7a0_to_h1i4 + r7a1_to_h1i4 + r7a2_to_h1i4 <= 1
1262 r4_h1i5_redundant: r7a0_to_h1i5 + r7a1_to_h1i5 + r7a2_to_h1i5 <= 1
1263 r4_h1i6_redundant: r7a0_to_h1i6 + r7a1_to_h1i6 + r7a2_to_h1i6 <= 1
1264 r4_h1i7_redundant: r7a0_to_h1i7 + r7a1_to_h1i7 + r7a2_to_h1i7 <= 1
1265 r4_h1i8_redundant: r7a0_to_h1i8 + r7a1_to_h1i8 + r7a2_to_h1i8 <= 1
1266 r4_h1i9_redundant: r7a0_to_h1i9 + r7a1_to_h1i9 + r7a2_to_h1i9 <= 1
1267 r4_h2i0_redundant: r7a0_to_h2i0 + r7a1_to_h2i0 + r7a2_to_h2i0 <= 1
1268 r4_h2i1_redundant: r7a0_to_h2i1 + r7a1_to_h2i1 + r7a2_to_h2i1 <= 1
1269 r4_h2i2_redundant: r7a0_to_h2i2 + r7a1_to_h2i2 + r7a2_to_h2i2 <= 1
1270 r4_h2i3_redundant: r7a0_to_h2i3 + r7a1_to_h2i3 + r7a2_to_h2i3 <= 1
1271 r4_h2i4_redundant: r7a0_to_h2i4 + r7a1_to_h2i4 + r7a2_to_h2i4 <= 1
1272 r4_h2i5_redundant: r7a0_to_h2i5 + r7a1_to_h2i5 + r7a2_to_h2i5 <= 1
1273 r4_h2i6_redundant: r7a0_to_h2i6 + r7a1_to_h2i6 + r7a2_to_h2i6 <= 1
1274 r4_h2i7_redundant: r7a0_to_h2i7 + r7a1_to_h2i7 + r7a2_to_h2i7 <= 1
1275 r4_h2i8_redundant: r7a0_to_h2i8 + r7a1_to_h2i8 + r7a2_to_h2i8 <= 1
1276 r4_h2i9_redundant: r7a0_to_h2i9 + r7a1_to_h2i9 + r7a2_to_h2i9 <= 1
1277 r4_h3i0_redundant: r7a0_to_h3i0 + r7a1_to_h3i0 + r7a2_to_h3i0 <= 1
1278 r4_h3i1_redundant: r7a0_to_h3i1 + r7a1_to_h3i1 + r7a2_to_h3i1 <= 1
1279 r4_h3i2_redundant: r7a0_to_h3i2 + r7a1_to_h3i2 + r7a2_to_h3i2 <= 1
1280 r4_h3i3_redundant: r7a0_to_h3i3 + r7a1_to_h3i3 + r7a2_to_h3i3 <= 1
1281 r4_h3i4_redundant: r7a0_to_h3i4 + r7a1_to_h3i4 + r7a2_to_h3i4 <= 1
1282 r4_h3i5_redundant: r7a0_to_h3i5 + r7a1_to_h3i5 + r7a2_to_h3i5 <= 1
1283 r4_h3i6_redundant: r7a0_to_h3i6 + r7a1_to_h3i6 + r7a2_to_h3i6 <= 1
1284 r4_h3i7_redundant: r7a0_to_h3i7 + r7a1_to_h3i7 + r7a2_to_h3i7 <= 1
1285 r4_h3i8_redundant: r7a0_to_h3i8 + r7a1_to_h3i8 + r7a2_to_h3i8 <= 1
1286 r4_h3i9_redundant: r7a0_to_h3i9 + r7a1_to_h3i9 + r7a2_to_h3i9 <= 1
1287 r4_h4i0_redundant: r7a0_to_h4i0 + r7a1_to_h4i0 + r7a2_to_h4i0 <= 1
1288 r4_h4i1_redundant: r7a0_to_h4i1 + r7a1_to_h4i1 + r7a2_to_h4i1 <= 1
1289 r4_h4i2_redundant: r7a0_to_h4i2 + r7a1_to_h4i2 + r7a2_to_h4i2 <= 1
1290 r4_h4i3_redundant: r7a0_to_h4i3 + r7a1_to_h4i3 + r7a2_to_h4i3 <= 1
1291 r4_h4i4_redundant: r7a0_to_h4i4 + r7a1_to_h4i4 + r7a2_to_h4i4 <= 1
1292 r4_h4i5_redundant: r7a0_to_h4i5 + r7a1_to_h4i5 + r7a2_to_h4i5 <= 1
1293 r4_h4i6_redundant: r7a0_to_h4i6 + r7a1_to_h4i6 + r7a2_to_h4i6 <= 1
1294 r4_h4i7_redundant: r7a0_to_h4i7 + r7a1_to_h4i7 + r7a2_to_h4i7 <= 1
1295 r4_h4i8_redundant: r7a0_to_h4i8 + r7a1_to_h4i8 + r7a2_to_h4i8 <= 1
1296 r4_h4i9_redundant: r7a0_to_h4i9 + r7a1_to_h4i9 + r7a2_to_h4i9 <= 1
1297 r4_h5i0_redundant: r7a0_to_h5i0 + r7a1_to_h5i0 + r7a2_to_h5i0 <= 1
1298 r4_h5i1_redundant: r7a0_to_h5i1 + r7a1_to_h5i1 + r7a2_to_h5i1 <= 1
1299 r4_h5i2_redundant: r7a0_to_h5i2 + r7a1_to_h5i2 + r7a2_to_h5i2 <= 1
1300 r4_h5i3_redundant: r7a0_to_h5i3 + r7a1_to_h5i3 + r7a2_to_h5i3 <= 1
1301 r4_h5i4_redundant: r7a0_to_h5i4 + r7a1_to_h5i4 + r7a2_to_h5i4 <= 1
1302 r4_h5i5_redundant: r7a0_to_h5i5 + r7a1_to_h5i5 + r7a2_to_h5i5 <= 1
1303 r4_h5i6_redundant: r7a0_to_h5i6 + r7a1_to_h5i6 + r7a2_to_h5i6 <= 1
1304 r4_h5i7_redundant: r7a0_to_h5i7 + r7a1_to_h5i7 + r7a2_to_h5i7 <= 1
1305 r4_h5i8_redundant: r7a0_to_h5i8 + r7a1_to_h5i8 + r7a2_to_h5i8 <= 1
1306 r4_h5i9_redundant: r7a0_to_h5i9 + r7a1_to_h5i9 + r7a2_to_h5i9 <= 1
1307 h0i1_after_h0i0: h0i0_exists - h0i1_exists >= 0
1308 h0i2_after_h0i1: h0i1_exists - h0i2_exists >= 0
1309 h0i3_after_h0i2: h0i2_exists - h0i3_exists >= 0
1310 h0i4_after_h0i3: h0i3_exists - h0i4_exists >= 0
1311 h0i5_after_h0i4: h0i4_exists - h0i5_exists >= 0
1312 h0i6_after_h0i5: h0i5_exists - h0i6_exists >= 0
1313 h0i7_after_h0i6: h0i6_exists - h0i7_exists >= 0
1314 h0i8_after_h0i7: h0i7_exists - h0i8_exists >= 0
1315 h0i9_after_h0i8: h0i8_exists - h0i9_exists >= 0
1316 h1i1_after_h1i0: h1i0_exists - h1i1_exists >= 0
1317 h1i2_after_h1i1: h1i1_exists - h1i2_exists >= 0
1318 h1i3_after_h1i2: h1i2_exists - h1i3_exists >= 0
1319 h1i4_after_h1i3: h1i3_exists - h1i4_exists >= 0
1320 h1i5_after_h1i4: h1i4_exists - h1i5_exists >= 0
1321 h1i6_after_h1i5: h1i5_exists - h1i6_exists >= 0
1322 h1i7_after_h1i6: h1i6_exists - h1i7_exists >= 0
1323 h1i8_after_h1i7: h1i7_exists - h1i8_exists >= 0
1324 h1i9_after_h1i8: h1i8_exists - h1i9_exists >= 0
1325 h2i1_after_h2i0: h2i0_exists - h2i1_exists >= 0
1326 h2i2_after_h2i1: h2i1_exists - h2i2_exists >= 0
1327 h2i3_after_h2i2: h2i2_exists - h2i3_exists >= 0
1328 h2i4_after_h2i3: h2i3_exists - h2i4_exists >= 0
1329 h2i5_after_h2i4: h2i4_exists - h2i5_exists >= 0
1330 h2i6_after_h2i5: h2i5_exists - h2i6_exists >= 0
1331 h2i7_after_h2i6: h2i6_exists - h2i7_exists >= 0
1332 h2i8_after_h2i7: h2i7_exists - h2i8_exists >= 0
1333 h2i9_after_h2i8: h2i8_exists - h2i9_exists >= 0
1334 h3i1_after_h3i0: h3i0_exists - h3i1_exists >= 0
1335 h3i2_after_h3i1: h3i1_exists - h3i2_exists >= 0
1336 h3i3_after_h3i2: h3i2_exists - h3i3_exists >= 0
1337 h3i4_after_h3i3: h3i3_exists - h3i4_exists >= 0
1338 h3i5_after_h3i4: h3i4_exists - h3i5_exists >= 0
1339 h3i6_after_h3i5: h3i5_exists - h3i6_exists >= 0
1340 h3i7_after_h3i6: h3i6_exists - h3i7_exists >= 0
1341 h3i8_after_h3i7: h3i7_exists - h3i8_exists >= 0
1342 h3i9_after_h3i8: h3i8_exists - h3i9_exists >= 0
1343 h4i1_after_h4i0: h4i0_exists - h4i1_exists >= 0
1344 h4i2_after_h4i1: h4i1_exists - h4i2_exists >= 0
1345 h4i3_after_h4i2: h4i2_exists - h4i3_exists >= 0
1346 h4i4_after_h4i3: h4i3_exists - h4i4_exists >= 0
1347 h4i5_after_h4i4: h4i4_exists - h4i5_exists >= 0
1348 h4i6_after_h4i5: h4i5_exists - h4i6_exists >= 0
1349 h4i7_after_h4i6: h4i6_exists - h4i7_exists >= 0
1350 h4i8_after_h4i7: h4i7_exists - h4i8_exists >= 0
1351 h4i9_after_h4i8: h4i8_exists - h4i9_exists >= 0
1352 h5i1_after_h5i0: h5i0_exists - h5i1_exists >= 0
1353 h5i2_after_h5i1: h5i1_exists - h5i2_exists >= 0
1354 h5i3_after_h5i2: h5i2_exists - h5i3_exists >= 0
1355 h5i4_after_h5i3: h5i3_exists - h5i4_exists >= 0
1356 h5i5_after_h5i4: h5i4_exists - h5i5_exists >= 0
1357 h5i6_after_h5i5: h5i5_exists - h5i6_exists >= 0
1358 h5i7_after_h5i6: h5i6_exists - h5i7_exists >= 0
1359 h5i8_after_h5i7: h5i7_exists - h5i8_exists >= 0
1360 h5i9_after_h5i8: h5i8_exists - h5i9_exists >= 0
1361Bounds
1362 0 <= h0i0_mem <= 1
1363 0 <= h0i0_hdd <= 1
1364 0 <= h0i1_mem <= 1
1365 0 <= h0i1_hdd <= 1
1366 0 <= h0i2_mem <= 1
1367 0 <= h0i2_hdd <= 1
1368 0 <= h0i3_mem <= 1
1369 0 <= h0i3_hdd <= 1
1370 0 <= h0i4_mem <= 1
1371 0 <= h0i4_hdd <= 1
1372 0 <= h0i5_mem <= 1
1373 0 <= h0i5_hdd <= 1
1374 0 <= h0i6_mem <= 1
1375 0 <= h0i6_hdd <= 1
1376 0 <= h0i7_mem <= 1
1377 0 <= h0i7_hdd <= 1
1378 0 <= h0i8_mem <= 1
1379 0 <= h0i8_hdd <= 1
1380 0 <= h0i9_mem <= 1
1381 0 <= h0i9_hdd <= 1
1382 0 <= h1i0_mem <= 1
1383 0 <= h1i0_hdd <= 1
1384 0 <= h1i1_mem <= 1
1385 0 <= h1i1_hdd <= 1
1386 0 <= h1i2_mem <= 1
1387 0 <= h1i2_hdd <= 1
1388 0 <= h1i3_mem <= 1
1389 0 <= h1i3_hdd <= 1
1390 0 <= h1i4_mem <= 1
1391 0 <= h1i4_hdd <= 1
1392 0 <= h1i5_mem <= 1
1393 0 <= h1i5_hdd <= 1
1394 0 <= h1i6_mem <= 1
1395 0 <= h1i6_hdd <= 1
1396 0 <= h1i7_mem <= 1
1397 0 <= h1i7_hdd <= 1
1398 0 <= h1i8_mem <= 1
1399 0 <= h1i8_hdd <= 1
1400 0 <= h1i9_mem <= 1
1401 0 <= h1i9_hdd <= 1
1402 0 <= h2i0_mem <= 1
1403 0 <= h2i0_hdd <= 1
1404 0 <= h2i1_mem <= 1
1405 0 <= h2i1_hdd <= 1
1406 0 <= h2i2_mem <= 1
1407 0 <= h2i2_hdd <= 1
1408 0 <= h2i3_mem <= 1
1409 0 <= h2i3_hdd <= 1
1410 0 <= h2i4_mem <= 1
1411 0 <= h2i4_hdd <= 1
1412 0 <= h2i5_mem <= 1
1413 0 <= h2i5_hdd <= 1
1414 0 <= h2i6_mem <= 1
1415 0 <= h2i6_hdd <= 1
1416 0 <= h2i7_mem <= 1
1417 0 <= h2i7_hdd <= 1
1418 0 <= h2i8_mem <= 1
1419 0 <= h2i8_hdd <= 1
1420 0 <= h2i9_mem <= 1
1421 0 <= h2i9_hdd <= 1
1422 0 <= h3i0_mem <= 1
1423 0 <= h3i0_hdd <= 1
1424 0 <= h3i1_mem <= 1
1425 0 <= h3i1_hdd <= 1
1426 0 <= h3i2_mem <= 1
1427 0 <= h3i2_hdd <= 1
1428 0 <= h3i3_mem <= 1
1429 0 <= h3i3_hdd <= 1
1430 0 <= h3i4_mem <= 1
1431 0 <= h3i4_hdd <= 1
1432 0 <= h3i5_mem <= 1
1433 0 <= h3i5_hdd <= 1
1434 0 <= h3i6_mem <= 1
1435 0 <= h3i6_hdd <= 1
1436 0 <= h3i7_mem <= 1
1437 0 <= h3i7_hdd <= 1
1438 0 <= h3i8_mem <= 1
1439 0 <= h3i8_hdd <= 1
1440 0 <= h3i9_mem <= 1
1441 0 <= h3i9_hdd <= 1
1442 0 <= h4i0_mem <= 1
1443 0 <= h4i0_hdd <= 1
1444 0 <= h4i1_mem <= 1
1445 0 <= h4i1_hdd <= 1
1446 0 <= h4i2_mem <= 1
1447 0 <= h4i2_hdd <= 1
1448 0 <= h4i3_mem <= 1
1449 0 <= h4i3_hdd <= 1
1450 0 <= h4i4_mem <= 1
1451 0 <= h4i4_hdd <= 1
1452 0 <= h4i5_mem <= 1
1453 0 <= h4i5_hdd <= 1
1454 0 <= h4i6_mem <= 1
1455 0 <= h4i6_hdd <= 1
1456 0 <= h4i7_mem <= 1
1457 0 <= h4i7_hdd <= 1
1458 0 <= h4i8_mem <= 1
1459 0 <= h4i8_hdd <= 1
1460 0 <= h4i9_mem <= 1
1461 0 <= h4i9_hdd <= 1
1462 0 <= h5i0_mem <= 1
1463 0 <= h5i0_hdd <= 1
1464 0 <= h5i1_mem <= 1
1465 0 <= h5i1_hdd <= 1
1466 0 <= h5i2_mem <= 1
1467 0 <= h5i2_hdd <= 1
1468 0 <= h5i3_mem <= 1
1469 0 <= h5i3_hdd <= 1
1470 0 <= h5i4_mem <= 1
1471 0 <= h5i4_hdd <= 1
1472 0 <= h5i5_mem <= 1
1473 0 <= h5i5_hdd <= 1
1474 0 <= h5i6_mem <= 1
1475 0 <= h5i6_hdd <= 1
1476 0 <= h5i7_mem <= 1
1477 0 <= h5i7_hdd <= 1
1478 0 <= h5i8_mem <= 1
1479 0 <= h5i8_hdd <= 1
1480 0 <= h5i9_mem <= 1
1481 0 <= h5i9_hdd <= 1
1482Binary
1483 h0i0_exists
1484 h0i1_exists
1485 h0i2_exists
1486 h0i3_exists
1487 h0i4_exists
1488 h0i5_exists
1489 h0i6_exists
1490 h0i7_exists
1491 h0i8_exists
1492 h0i9_exists
1493 h1i0_exists
1494 h1i1_exists
1495 h1i2_exists
1496 h1i3_exists
1497 h1i4_exists
1498 h1i5_exists
1499 h1i6_exists
1500 h1i7_exists
1501 h1i8_exists
1502 h1i9_exists
1503 h2i0_exists
1504 h2i1_exists
1505 h2i2_exists
1506 h2i3_exists
1507 h2i4_exists
1508 h2i5_exists
1509 h2i6_exists
1510 h2i7_exists
1511 h2i8_exists
1512 h2i9_exists
1513 h3i0_exists
1514 h3i1_exists
1515 h3i2_exists
1516 h3i3_exists
1517 h3i4_exists
1518 h3i5_exists
1519 h3i6_exists
1520 h3i7_exists
1521 h3i8_exists
1522 h3i9_exists
1523 h4i0_exists
1524 h4i1_exists
1525 h4i2_exists
1526 h4i3_exists
1527 h4i4_exists
1528 h4i5_exists
1529 h4i6_exists
1530 h4i7_exists
1531 h4i8_exists
1532 h4i9_exists
1533 h5i0_exists
1534 h5i1_exists
1535 h5i2_exists
1536 h5i3_exists
1537 h5i4_exists
1538 h5i5_exists
1539 h5i6_exists
1540 h5i7_exists
1541 h5i8_exists
1542 h5i9_exists
1543 r0a0_to_h4i0
1544 r0a0_to_h4i1
1545 r0a0_to_h4i2
1546 r0a0_to_h4i3
1547 r0a0_to_h4i4
1548 r0a0_to_h4i5
1549 r0a0_to_h4i6
1550 r0a0_to_h4i7
1551 r0a0_to_h4i8
1552 r0a0_to_h4i9
1553 r0a0_to_h5i0
1554 r0a0_to_h5i1
1555 r0a0_to_h5i2
1556 r0a0_to_h5i3
1557 r0a0_to_h5i4
1558 r0a0_to_h5i5
1559 r0a0_to_h5i6
1560 r0a0_to_h5i7
1561 r0a0_to_h5i8
1562 r0a0_to_h5i9
1563 r0a1_to_h4i0
1564 r0a1_to_h4i1
1565 r0a1_to_h4i2
1566 r0a1_to_h4i3
1567 r0a1_to_h4i4
1568 r0a1_to_h4i5
1569 r0a1_to_h4i6
1570 r0a1_to_h4i7
1571 r0a1_to_h4i8
1572 r0a1_to_h4i9
1573 r0a1_to_h5i0
1574 r0a1_to_h5i1
1575 r0a1_to_h5i2
1576 r0a1_to_h5i3
1577 r0a1_to_h5i4
1578 r0a1_to_h5i5
1579 r0a1_to_h5i6
1580 r0a1_to_h5i7
1581 r0a1_to_h5i8
1582 r0a1_to_h5i9
1583 r0a2_to_h4i0
1584 r0a2_to_h4i1
1585 r0a2_to_h4i2
1586 r0a2_to_h4i3
1587 r0a2_to_h4i4
1588 r0a2_to_h4i5
1589 r0a2_to_h4i6
1590 r0a2_to_h4i7
1591 r0a2_to_h4i8
1592 r0a2_to_h4i9
1593 r0a2_to_h5i0
1594 r0a2_to_h5i1
1595 r0a2_to_h5i2
1596 r0a2_to_h5i3
1597 r0a2_to_h5i4
1598 r0a2_to_h5i5
1599 r0a2_to_h5i6
1600 r0a2_to_h5i7
1601 r0a2_to_h5i8
1602 r0a2_to_h5i9
1603 r0a3_to_h4i0
1604 r0a3_to_h4i1
1605 r0a3_to_h4i2
1606 r0a3_to_h4i3
1607 r0a3_to_h4i4
1608 r0a3_to_h4i5
1609 r0a3_to_h4i6
1610 r0a3_to_h4i7
1611 r0a3_to_h4i8
1612 r0a3_to_h4i9
1613 r0a3_to_h5i0
1614 r0a3_to_h5i1
1615 r0a3_to_h5i2
1616 r0a3_to_h5i3
1617 r0a3_to_h5i4
1618 r0a3_to_h5i5
1619 r0a3_to_h5i6
1620 r0a3_to_h5i7
1621 r0a3_to_h5i8
1622 r0a3_to_h5i9
1623 r1a0_to_h0i0
1624 r1a0_to_h0i1
1625 r1a0_to_h0i2
1626 r1a0_to_h0i3
1627 r1a0_to_h0i4
1628 r1a0_to_h0i5
1629 r1a0_to_h0i6
1630 r1a0_to_h0i7
1631 r1a0_to_h0i8
1632 r1a0_to_h0i9
1633 r1a0_to_h1i0
1634 r1a0_to_h1i1
1635 r1a0_to_h1i2
1636 r1a0_to_h1i3
1637 r1a0_to_h1i4
1638 r1a0_to_h1i5
1639 r1a0_to_h1i6
1640 r1a0_to_h1i7
1641 r1a0_to_h1i8
1642 r1a0_to_h1i9
1643 r1a0_to_h2i0
1644 r1a0_to_h2i1
1645 r1a0_to_h2i2
1646 r1a0_to_h2i3
1647 r1a0_to_h2i4
1648 r1a0_to_h2i5
1649 r1a0_to_h2i6
1650 r1a0_to_h2i7
1651 r1a0_to_h2i8
1652 r1a0_to_h2i9
1653 r1a0_to_h3i0
1654 r1a0_to_h3i1
1655 r1a0_to_h3i2
1656 r1a0_to_h3i3
1657 r1a0_to_h3i4
1658 r1a0_to_h3i5
1659 r1a0_to_h3i6
1660 r1a0_to_h3i7
1661 r1a0_to_h3i8
1662 r1a0_to_h3i9
1663 r1a0_to_h4i0
1664 r1a0_to_h4i1
1665 r1a0_to_h4i2
1666 r1a0_to_h4i3
1667 r1a0_to_h4i4
1668 r1a0_to_h4i5
1669 r1a0_to_h4i6
1670 r1a0_to_h4i7
1671 r1a0_to_h4i8
1672 r1a0_to_h4i9
1673 r1a0_to_h5i0
1674 r1a0_to_h5i1
1675 r1a0_to_h5i2
1676 r1a0_to_h5i3
1677 r1a0_to_h5i4
1678 r1a0_to_h5i5
1679 r1a0_to_h5i6
1680 r1a0_to_h5i7
1681 r1a0_to_h5i8
1682 r1a0_to_h5i9
1683 r1a1_to_h0i0
1684 r1a1_to_h0i1
1685 r1a1_to_h0i2
1686 r1a1_to_h0i3
1687 r1a1_to_h0i4
1688 r1a1_to_h0i5
1689 r1a1_to_h0i6
1690 r1a1_to_h0i7
1691 r1a1_to_h0i8
1692 r1a1_to_h0i9
1693 r1a1_to_h1i0
1694 r1a1_to_h1i1
1695 r1a1_to_h1i2
1696 r1a1_to_h1i3
1697 r1a1_to_h1i4
1698 r1a1_to_h1i5
1699 r1a1_to_h1i6
1700 r1a1_to_h1i7
1701 r1a1_to_h1i8
1702 r1a1_to_h1i9
1703 r1a1_to_h2i0
1704 r1a1_to_h2i1
1705 r1a1_to_h2i2
1706 r1a1_to_h2i3
1707 r1a1_to_h2i4
1708 r1a1_to_h2i5
1709 r1a1_to_h2i6
1710 r1a1_to_h2i7
1711 r1a1_to_h2i8
1712 r1a1_to_h2i9
1713 r1a1_to_h3i0
1714 r1a1_to_h3i1
1715 r1a1_to_h3i2
1716 r1a1_to_h3i3
1717 r1a1_to_h3i4
1718 r1a1_to_h3i5
1719 r1a1_to_h3i6
1720 r1a1_to_h3i7
1721 r1a1_to_h3i8
1722 r1a1_to_h3i9
1723 r1a1_to_h4i0
1724 r1a1_to_h4i1
1725 r1a1_to_h4i2
1726 r1a1_to_h4i3
1727 r1a1_to_h4i4
1728 r1a1_to_h4i5
1729 r1a1_to_h4i6
1730 r1a1_to_h4i7
1731 r1a1_to_h4i8
1732 r1a1_to_h4i9
1733 r1a1_to_h5i0
1734 r1a1_to_h5i1
1735 r1a1_to_h5i2
1736 r1a1_to_h5i3
1737 r1a1_to_h5i4
1738 r1a1_to_h5i5
1739 r1a1_to_h5i6
1740 r1a1_to_h5i7
1741 r1a1_to_h5i8
1742 r1a1_to_h5i9
1743 r1a2_to_h0i0
1744 r1a2_to_h0i1
1745 r1a2_to_h0i2
1746 r1a2_to_h0i3
1747 r1a2_to_h0i4
1748 r1a2_to_h0i5
1749 r1a2_to_h0i6
1750 r1a2_to_h0i7
1751 r1a2_to_h0i8
1752 r1a2_to_h0i9
1753 r1a2_to_h1i0
1754 r1a2_to_h1i1
1755 r1a2_to_h1i2
1756 r1a2_to_h1i3
1757 r1a2_to_h1i4
1758 r1a2_to_h1i5
1759 r1a2_to_h1i6
1760 r1a2_to_h1i7
1761 r1a2_to_h1i8
1762 r1a2_to_h1i9
1763 r1a2_to_h2i0
1764 r1a2_to_h2i1
1765 r1a2_to_h2i2
1766 r1a2_to_h2i3
1767 r1a2_to_h2i4
1768 r1a2_to_h2i5
1769 r1a2_to_h2i6
1770 r1a2_to_h2i7
1771 r1a2_to_h2i8
1772 r1a2_to_h2i9
1773 r1a2_to_h3i0
1774 r1a2_to_h3i1
1775 r1a2_to_h3i2
1776 r1a2_to_h3i3
1777 r1a2_to_h3i4
1778 r1a2_to_h3i5
1779 r1a2_to_h3i6
1780 r1a2_to_h3i7
1781 r1a2_to_h3i8
1782 r1a2_to_h3i9
1783 r1a2_to_h4i0
1784 r1a2_to_h4i1
1785 r1a2_to_h4i2
1786 r1a2_to_h4i3
1787 r1a2_to_h4i4
1788 r1a2_to_h4i5
1789 r1a2_to_h4i6
1790 r1a2_to_h4i7
1791 r1a2_to_h4i8
1792 r1a2_to_h4i9
1793 r1a2_to_h5i0
1794 r1a2_to_h5i1
1795 r1a2_to_h5i2
1796 r1a2_to_h5i3
1797 r1a2_to_h5i4
1798 r1a2_to_h5i5
1799 r1a2_to_h5i6
1800 r1a2_to_h5i7
1801 r1a2_to_h5i8
1802 r1a2_to_h5i9
1803 r2a0_to_h0i0
1804 r2a0_to_h0i1
1805 r2a0_to_h0i2
1806 r2a0_to_h0i3
1807 r2a0_to_h0i4
1808 r2a0_to_h0i5
1809 r2a0_to_h0i6
1810 r2a0_to_h0i7
1811 r2a0_to_h0i8
1812 r2a0_to_h0i9
1813 r2a0_to_h1i0
1814 r2a0_to_h1i1
1815 r2a0_to_h1i2
1816 r2a0_to_h1i3
1817 r2a0_to_h1i4
1818 r2a0_to_h1i5
1819 r2a0_to_h1i6
1820 r2a0_to_h1i7
1821 r2a0_to_h1i8
1822 r2a0_to_h1i9
1823 r2a0_to_h2i0
1824 r2a0_to_h2i1
1825 r2a0_to_h2i2
1826 r2a0_to_h2i3
1827 r2a0_to_h2i4
1828 r2a0_to_h2i5
1829 r2a0_to_h2i6
1830 r2a0_to_h2i7
1831 r2a0_to_h2i8
1832 r2a0_to_h2i9
1833 r2a0_to_h3i0
1834 r2a0_to_h3i1
1835 r2a0_to_h3i2
1836 r2a0_to_h3i3
1837 r2a0_to_h3i4
1838 r2a0_to_h3i5
1839 r2a0_to_h3i6
1840 r2a0_to_h3i7
1841 r2a0_to_h3i8
1842 r2a0_to_h3i9
1843 r2a0_to_h4i0
1844 r2a0_to_h4i1
1845 r2a0_to_h4i2
1846 r2a0_to_h4i3
1847 r2a0_to_h4i4
1848 r2a0_to_h4i5
1849 r2a0_to_h4i6
1850 r2a0_to_h4i7
1851 r2a0_to_h4i8
1852 r2a0_to_h4i9
1853 r2a0_to_h5i0
1854 r2a0_to_h5i1
1855 r2a0_to_h5i2
1856 r2a0_to_h5i3
1857 r2a0_to_h5i4
1858 r2a0_to_h5i5
1859 r2a0_to_h5i6
1860 r2a0_to_h5i7
1861 r2a0_to_h5i8
1862 r2a0_to_h5i9
1863 r3a0_to_h0i0
1864 r3a0_to_h0i1
1865 r3a0_to_h0i2
1866 r3a0_to_h0i3
1867 r3a0_to_h0i4
1868 r3a0_to_h0i5
1869 r3a0_to_h0i6
1870 r3a0_to_h0i7
1871 r3a0_to_h0i8
1872 r3a0_to_h0i9
1873 r3a0_to_h1i0
1874 r3a0_to_h1i1
1875 r3a0_to_h1i2
1876 r3a0_to_h1i3
1877 r3a0_to_h1i4
1878 r3a0_to_h1i5
1879 r3a0_to_h1i6
1880 r3a0_to_h1i7
1881 r3a0_to_h1i8
1882 r3a0_to_h1i9
1883 r3a0_to_h2i0
1884 r3a0_to_h2i1
1885 r3a0_to_h2i2
1886 r3a0_to_h2i3
1887 r3a0_to_h2i4
1888 r3a0_to_h2i5
1889 r3a0_to_h2i6
1890 r3a0_to_h2i7
1891 r3a0_to_h2i8
1892 r3a0_to_h2i9
1893 r3a0_to_h3i0
1894 r3a0_to_h3i1
1895 r3a0_to_h3i2
1896 r3a0_to_h3i3
1897 r3a0_to_h3i4
1898 r3a0_to_h3i5
1899 r3a0_to_h3i6
1900 r3a0_to_h3i7
1901 r3a0_to_h3i8
1902 r3a0_to_h3i9
1903 r3a0_to_h4i0
1904 r3a0_to_h4i1
1905 r3a0_to_h4i2
1906 r3a0_to_h4i3
1907 r3a0_to_h4i4
1908 r3a0_to_h4i5
1909 r3a0_to_h4i6
1910 r3a0_to_h4i7
1911 r3a0_to_h4i8
1912 r3a0_to_h4i9
1913 r3a0_to_h5i0
1914 r3a0_to_h5i1
1915 r3a0_to_h5i2
1916 r3a0_to_h5i3
1917 r3a0_to_h5i4
1918 r3a0_to_h5i5
1919 r3a0_to_h5i6
1920 r3a0_to_h5i7
1921 r3a0_to_h5i8
1922 r3a0_to_h5i9
1923 r4a0_to_h4i0
1924 r4a0_to_h4i1
1925 r4a0_to_h4i2
1926 r4a0_to_h4i3
1927 r4a0_to_h4i4
1928 r4a0_to_h4i5
1929 r4a0_to_h4i6
1930 r4a0_to_h4i7
1931 r4a0_to_h4i8
1932 r4a0_to_h4i9
1933 r4a0_to_h5i0
1934 r4a0_to_h5i1
1935 r4a0_to_h5i2
1936 r4a0_to_h5i3
1937 r4a0_to_h5i4
1938 r4a0_to_h5i5
1939 r4a0_to_h5i6
1940 r4a0_to_h5i7
1941 r4a0_to_h5i8
1942 r4a0_to_h5i9
1943 r4a1_to_h4i0
1944 r4a1_to_h4i1
1945 r4a1_to_h4i2
1946 r4a1_to_h4i3
1947 r4a1_to_h4i4
1948 r4a1_to_h4i5
1949 r4a1_to_h4i6
1950 r4a1_to_h4i7
1951 r4a1_to_h4i8
1952 r4a1_to_h4i9
1953 r4a1_to_h5i0
1954 r4a1_to_h5i1
1955 r4a1_to_h5i2
1956 r4a1_to_h5i3
1957 r4a1_to_h5i4
1958 r4a1_to_h5i5
1959 r4a1_to_h5i6
1960 r4a1_to_h5i7
1961 r4a1_to_h5i8
1962 r4a1_to_h5i9
1963 r4a2_to_h4i0
1964 r4a2_to_h4i1
1965 r4a2_to_h4i2
1966 r4a2_to_h4i3
1967 r4a2_to_h4i4
1968 r4a2_to_h4i5
1969 r4a2_to_h4i6
1970 r4a2_to_h4i7
1971 r4a2_to_h4i8
1972 r4a2_to_h4i9
1973 r4a2_to_h5i0
1974 r4a2_to_h5i1
1975 r4a2_to_h5i2
1976 r4a2_to_h5i3
1977 r4a2_to_h5i4
1978 r4a2_to_h5i5
1979 r4a2_to_h5i6
1980 r4a2_to_h5i7
1981 r4a2_to_h5i8
1982 r4a2_to_h5i9
1983 r4a3_to_h4i0
1984 r4a3_to_h4i1
1985 r4a3_to_h4i2
1986 r4a3_to_h4i3
1987 r4a3_to_h4i4
1988 r4a3_to_h4i5
1989 r4a3_to_h4i6
1990 r4a3_to_h4i7
1991 r4a3_to_h4i8
1992 r4a3_to_h4i9
1993 r4a3_to_h5i0
1994 r4a3_to_h5i1
1995 r4a3_to_h5i2
1996 r4a3_to_h5i3
1997 r4a3_to_h5i4
1998 r4a3_to_h5i5
1999 r4a3_to_h5i6
2000 r4a3_to_h5i7
2001 r4a3_to_h5i8
2002 r4a3_to_h5i9
2003 r5a0_to_h0i0
2004 r5a0_to_h0i1
2005 r5a0_to_h0i2
2006 r5a0_to_h0i3
2007 r5a0_to_h0i4
2008 r5a0_to_h0i5
2009 r5a0_to_h0i6
2010 r5a0_to_h0i7
2011 r5a0_to_h0i8
2012 r5a0_to_h0i9
2013 r5a0_to_h1i0
2014 r5a0_to_h1i1
2015 r5a0_to_h1i2
2016 r5a0_to_h1i3
2017 r5a0_to_h1i4
2018 r5a0_to_h1i5
2019 r5a0_to_h1i6
2020 r5a0_to_h1i7
2021 r5a0_to_h1i8
2022 r5a0_to_h1i9
2023 r5a0_to_h2i0
2024 r5a0_to_h2i1
2025 r5a0_to_h2i2
2026 r5a0_to_h2i3
2027 r5a0_to_h2i4
2028 r5a0_to_h2i5
2029 r5a0_to_h2i6
2030 r5a0_to_h2i7
2031 r5a0_to_h2i8
2032 r5a0_to_h2i9
2033 r5a0_to_h3i0
2034 r5a0_to_h3i1
2035 r5a0_to_h3i2
2036 r5a0_to_h3i3
2037 r5a0_to_h3i4
2038 r5a0_to_h3i5
2039 r5a0_to_h3i6
2040 r5a0_to_h3i7
2041 r5a0_to_h3i8
2042 r5a0_to_h3i9
2043 r5a0_to_h4i0
2044 r5a0_to_h4i1
2045 r5a0_to_h4i2
2046 r5a0_to_h4i3
2047 r5a0_to_h4i4
2048 r5a0_to_h4i5
2049 r5a0_to_h4i6
2050 r5a0_to_h4i7
2051 r5a0_to_h4i8
2052 r5a0_to_h4i9
2053 r5a0_to_h5i0
2054 r5a0_to_h5i1
2055 r5a0_to_h5i2
2056 r5a0_to_h5i3
2057 r5a0_to_h5i4
2058 r5a0_to_h5i5
2059 r5a0_to_h5i6
2060 r5a0_to_h5i7
2061 r5a0_to_h5i8
2062 r5a0_to_h5i9
2063 r6a0_to_h0i0
2064 r6a0_to_h0i1
2065 r6a0_to_h0i2
2066 r6a0_to_h0i3
2067 r6a0_to_h0i4
2068 r6a0_to_h0i5
2069 r6a0_to_h0i6
2070 r6a0_to_h0i7
2071 r6a0_to_h0i8
2072 r6a0_to_h0i9
2073 r6a0_to_h1i0
2074 r6a0_to_h1i1
2075 r6a0_to_h1i2
2076 r6a0_to_h1i3
2077 r6a0_to_h1i4
2078 r6a0_to_h1i5
2079 r6a0_to_h1i6
2080 r6a0_to_h1i7
2081 r6a0_to_h1i8
2082 r6a0_to_h1i9
2083 r6a0_to_h2i0
2084 r6a0_to_h2i1
2085 r6a0_to_h2i2
2086 r6a0_to_h2i3
2087 r6a0_to_h2i4
2088 r6a0_to_h2i5
2089 r6a0_to_h2i6
2090 r6a0_to_h2i7
2091 r6a0_to_h2i8
2092 r6a0_to_h2i9
2093 r6a0_to_h3i0
2094 r6a0_to_h3i1
2095 r6a0_to_h3i2
2096 r6a0_to_h3i3
2097 r6a0_to_h3i4
2098 r6a0_to_h3i5
2099 r6a0_to_h3i6
2100 r6a0_to_h3i7
2101 r6a0_to_h3i8
2102 r6a0_to_h3i9
2103 r6a0_to_h4i0
2104 r6a0_to_h4i1
2105 r6a0_to_h4i2
2106 r6a0_to_h4i3
2107 r6a0_to_h4i4
2108 r6a0_to_h4i5
2109 r6a0_to_h4i6
2110 r6a0_to_h4i7
2111 r6a0_to_h4i8
2112 r6a0_to_h4i9
2113 r6a0_to_h5i0
2114 r6a0_to_h5i1
2115 r6a0_to_h5i2
2116 r6a0_to_h5i3
2117 r6a0_to_h5i4
2118 r6a0_to_h5i5
2119 r6a0_to_h5i6
2120 r6a0_to_h5i7
2121 r6a0_to_h5i8
2122 r6a0_to_h5i9
2123 r6a1_to_h0i0
2124 r6a1_to_h0i1
2125 r6a1_to_h0i2
2126 r6a1_to_h0i3
2127 r6a1_to_h0i4
2128 r6a1_to_h0i5
2129 r6a1_to_h0i6
2130 r6a1_to_h0i7
2131 r6a1_to_h0i8
2132 r6a1_to_h0i9
2133 r6a1_to_h1i0
2134 r6a1_to_h1i1
2135 r6a1_to_h1i2
2136 r6a1_to_h1i3
2137 r6a1_to_h1i4
2138 r6a1_to_h1i5
2139 r6a1_to_h1i6
2140 r6a1_to_h1i7
2141 r6a1_to_h1i8
2142 r6a1_to_h1i9
2143 r6a1_to_h2i0
2144 r6a1_to_h2i1
2145 r6a1_to_h2i2
2146 r6a1_to_h2i3
2147 r6a1_to_h2i4
2148 r6a1_to_h2i5
2149 r6a1_to_h2i6
2150 r6a1_to_h2i7
2151 r6a1_to_h2i8
2152 r6a1_to_h2i9
2153 r6a1_to_h3i0
2154 r6a1_to_h3i1
2155 r6a1_to_h3i2
2156 r6a1_to_h3i3
2157 r6a1_to_h3i4
2158 r6a1_to_h3i5
2159 r6a1_to_h3i6
2160 r6a1_to_h3i7
2161 r6a1_to_h3i8
2162 r6a1_to_h3i9
2163 r6a1_to_h4i0
2164 r6a1_to_h4i1
2165 r6a1_to_h4i2
2166 r6a1_to_h4i3
2167 r6a1_to_h4i4
2168 r6a1_to_h4i5
2169 r6a1_to_h4i6
2170 r6a1_to_h4i7
2171 r6a1_to_h4i8
2172 r6a1_to_h4i9
2173 r6a1_to_h5i0
2174 r6a1_to_h5i1
2175 r6a1_to_h5i2
2176 r6a1_to_h5i3
2177 r6a1_to_h5i4
2178 r6a1_to_h5i5
2179 r6a1_to_h5i6
2180 r6a1_to_h5i7
2181 r6a1_to_h5i8
2182 r6a1_to_h5i9
2183 r6a2_to_h0i0
2184 r6a2_to_h0i1
2185 r6a2_to_h0i2
2186 r6a2_to_h0i3
2187 r6a2_to_h0i4
2188 r6a2_to_h0i5
2189 r6a2_to_h0i6
2190 r6a2_to_h0i7
2191 r6a2_to_h0i8
2192 r6a2_to_h0i9
2193 r6a2_to_h1i0
2194 r6a2_to_h1i1
2195 r6a2_to_h1i2
2196 r6a2_to_h1i3
2197 r6a2_to_h1i4
2198 r6a2_to_h1i5
2199 r6a2_to_h1i6
2200 r6a2_to_h1i7
2201 r6a2_to_h1i8
2202 r6a2_to_h1i9
2203 r6a2_to_h2i0
2204 r6a2_to_h2i1
2205 r6a2_to_h2i2
2206 r6a2_to_h2i3
2207 r6a2_to_h2i4
2208 r6a2_to_h2i5
2209 r6a2_to_h2i6
2210 r6a2_to_h2i7
2211 r6a2_to_h2i8
2212 r6a2_to_h2i9
2213 r6a2_to_h3i0
2214 r6a2_to_h3i1
2215 r6a2_to_h3i2
2216 r6a2_to_h3i3
2217 r6a2_to_h3i4
2218 r6a2_to_h3i5
2219 r6a2_to_h3i6
2220 r6a2_to_h3i7
2221 r6a2_to_h3i8
2222 r6a2_to_h3i9
2223 r6a2_to_h4i0
2224 r6a2_to_h4i1
2225 r6a2_to_h4i2
2226 r6a2_to_h4i3
2227 r6a2_to_h4i4
2228 r6a2_to_h4i5
2229 r6a2_to_h4i6
2230 r6a2_to_h4i7
2231 r6a2_to_h4i8
2232 r6a2_to_h4i9
2233 r6a2_to_h5i0
2234 r6a2_to_h5i1
2235 r6a2_to_h5i2
2236 r6a2_to_h5i3
2237 r6a2_to_h5i4
2238 r6a2_to_h5i5
2239 r6a2_to_h5i6
2240 r6a2_to_h5i7
2241 r6a2_to_h5i8
2242 r6a2_to_h5i9
2243 r6a3_to_h0i0
2244 r6a3_to_h0i1
2245 r6a3_to_h0i2
2246 r6a3_to_h0i3
2247 r6a3_to_h0i4
2248 r6a3_to_h0i5
2249 r6a3_to_h0i6
2250 r6a3_to_h0i7
2251 r6a3_to_h0i8
2252 r6a3_to_h0i9
2253 r6a3_to_h1i0
2254 r6a3_to_h1i1
2255 r6a3_to_h1i2
2256 r6a3_to_h1i3
2257 r6a3_to_h1i4
2258 r6a3_to_h1i5
2259 r6a3_to_h1i6
2260 r6a3_to_h1i7
2261 r6a3_to_h1i8
2262 r6a3_to_h1i9
2263 r6a3_to_h2i0
2264 r6a3_to_h2i1
2265 r6a3_to_h2i2
2266 r6a3_to_h2i3
2267 r6a3_to_h2i4
2268 r6a3_to_h2i5
2269 r6a3_to_h2i6
2270 r6a3_to_h2i7
2271 r6a3_to_h2i8
2272 r6a3_to_h2i9
2273 r6a3_to_h3i0
2274 r6a3_to_h3i1
2275 r6a3_to_h3i2
2276 r6a3_to_h3i3
2277 r6a3_to_h3i4
2278 r6a3_to_h3i5
2279 r6a3_to_h3i6
2280 r6a3_to_h3i7
2281 r6a3_to_h3i8
2282 r6a3_to_h3i9
2283 r6a3_to_h4i0
2284 r6a3_to_h4i1
2285 r6a3_to_h4i2
2286 r6a3_to_h4i3
2287 r6a3_to_h4i4
2288 r6a3_to_h4i5
2289 r6a3_to_h4i6
2290 r6a3_to_h4i7
2291 r6a3_to_h4i8
2292 r6a3_to_h4i9
2293 r6a3_to_h5i0
2294 r6a3_to_h5i1
2295 r6a3_to_h5i2
2296 r6a3_to_h5i3
2297 r6a3_to_h5i4
2298 r6a3_to_h5i5
2299 r6a3_to_h5i6
2300 r6a3_to_h5i7
2301 r6a3_to_h5i8
2302 r6a3_to_h5i9
2303 r7a0_to_h0i0
2304 r7a0_to_h0i1
2305 r7a0_to_h0i2
2306 r7a0_to_h0i3
2307 r7a0_to_h0i4
2308 r7a0_to_h0i5
2309 r7a0_to_h0i6
2310 r7a0_to_h0i7
2311 r7a0_to_h0i8
2312 r7a0_to_h0i9
2313 r7a0_to_h1i0
2314 r7a0_to_h1i1
2315 r7a0_to_h1i2
2316 r7a0_to_h1i3
2317 r7a0_to_h1i4
2318 r7a0_to_h1i5
2319 r7a0_to_h1i6
2320 r7a0_to_h1i7
2321 r7a0_to_h1i8
2322 r7a0_to_h1i9
2323 r7a0_to_h2i0
2324 r7a0_to_h2i1
2325 r7a0_to_h2i2
2326 r7a0_to_h2i3
2327 r7a0_to_h2i4
2328 r7a0_to_h2i5
2329 r7a0_to_h2i6
2330 r7a0_to_h2i7
2331 r7a0_to_h2i8
2332 r7a0_to_h2i9
2333 r7a0_to_h3i0
2334 r7a0_to_h3i1
2335 r7a0_to_h3i2
2336 r7a0_to_h3i3
2337 r7a0_to_h3i4
2338 r7a0_to_h3i5
2339 r7a0_to_h3i6
2340 r7a0_to_h3i7
2341 r7a0_to_h3i8
2342 r7a0_to_h3i9
2343 r7a0_to_h4i0
2344 r7a0_to_h4i1
2345 r7a0_to_h4i2
2346 r7a0_to_h4i3
2347 r7a0_to_h4i4
2348 r7a0_to_h4i5
2349 r7a0_to_h4i6
2350 r7a0_to_h4i7
2351 r7a0_to_h4i8
2352 r7a0_to_h4i9
2353 r7a0_to_h5i0
2354 r7a0_to_h5i1
2355 r7a0_to_h5i2
2356 r7a0_to_h5i3
2357 r7a0_to_h5i4
2358 r7a0_to_h5i5
2359 r7a0_to_h5i6
2360 r7a0_to_h5i7
2361 r7a0_to_h5i8
2362 r7a0_to_h5i9
2363 r7a1_to_h0i0
2364 r7a1_to_h0i1
2365 r7a1_to_h0i2
2366 r7a1_to_h0i3
2367 r7a1_to_h0i4
2368 r7a1_to_h0i5
2369 r7a1_to_h0i6
2370 r7a1_to_h0i7
2371 r7a1_to_h0i8
2372 r7a1_to_h0i9
2373 r7a1_to_h1i0
2374 r7a1_to_h1i1
2375 r7a1_to_h1i2
2376 r7a1_to_h1i3
2377 r7a1_to_h1i4
2378 r7a1_to_h1i5
2379 r7a1_to_h1i6
2380 r7a1_to_h1i7
2381 r7a1_to_h1i8
2382 r7a1_to_h1i9
2383 r7a1_to_h2i0
2384 r7a1_to_h2i1
2385 r7a1_to_h2i2
2386 r7a1_to_h2i3
2387 r7a1_to_h2i4
2388 r7a1_to_h2i5
2389 r7a1_to_h2i6
2390 r7a1_to_h2i7
2391 r7a1_to_h2i8
2392 r7a1_to_h2i9
2393 r7a1_to_h3i0
2394 r7a1_to_h3i1
2395 r7a1_to_h3i2
2396 r7a1_to_h3i3
2397 r7a1_to_h3i4
2398 r7a1_to_h3i5
2399 r7a1_to_h3i6
2400 r7a1_to_h3i7
2401 r7a1_to_h3i8
2402 r7a1_to_h3i9
2403 r7a1_to_h4i0
2404 r7a1_to_h4i1
2405 r7a1_to_h4i2
2406 r7a1_to_h4i3
2407 r7a1_to_h4i4
2408 r7a1_to_h4i5
2409 r7a1_to_h4i6
2410 r7a1_to_h4i7
2411 r7a1_to_h4i8
2412 r7a1_to_h4i9
2413 r7a1_to_h5i0
2414 r7a1_to_h5i1
2415 r7a1_to_h5i2
2416 r7a1_to_h5i3
2417 r7a1_to_h5i4
2418 r7a1_to_h5i5
2419 r7a1_to_h5i6
2420 r7a1_to_h5i7
2421 r7a1_to_h5i8
2422 r7a1_to_h5i9
2423 r7a2_to_h0i0
2424 r7a2_to_h0i1
2425 r7a2_to_h0i2
2426 r7a2_to_h0i3
2427 r7a2_to_h0i4
2428 r7a2_to_h0i5
2429 r7a2_to_h0i6
2430 r7a2_to_h0i7
2431 r7a2_to_h0i8
2432 r7a2_to_h0i9
2433 r7a2_to_h1i0
2434 r7a2_to_h1i1
2435 r7a2_to_h1i2
2436 r7a2_to_h1i3
2437 r7a2_to_h1i4
2438 r7a2_to_h1i5
2439 r7a2_to_h1i6
2440 r7a2_to_h1i7
2441 r7a2_to_h1i8
2442 r7a2_to_h1i9
2443 r7a2_to_h2i0
2444 r7a2_to_h2i1
2445 r7a2_to_h2i2
2446 r7a2_to_h2i3
2447 r7a2_to_h2i4
2448 r7a2_to_h2i5
2449 r7a2_to_h2i6
2450 r7a2_to_h2i7
2451 r7a2_to_h2i8
2452 r7a2_to_h2i9
2453 r7a2_to_h3i0
2454 r7a2_to_h3i1
2455 r7a2_to_h3i2
2456 r7a2_to_h3i3
2457 r7a2_to_h3i4
2458 r7a2_to_h3i5
2459 r7a2_to_h3i6
2460 r7a2_to_h3i7
2461 r7a2_to_h3i8
2462 r7a2_to_h3i9
2463 r7a2_to_h4i0
2464 r7a2_to_h4i1
2465 r7a2_to_h4i2
2466 r7a2_to_h4i3
2467 r7a2_to_h4i4
2468 r7a2_to_h4i5
2469 r7a2_to_h4i6
2470 r7a2_to_h4i7
2471 r7a2_to_h4i8
2472 r7a2_to_h4i9
2473 r7a2_to_h5i0
2474 r7a2_to_h5i1
2475 r7a2_to_h5i2
2476 r7a2_to_h5i3
2477 r7a2_to_h5i4
2478 r7a2_to_h5i5
2479 r7a2_to_h5i6
2480 r7a2_to_h5i7
2481 r7a2_to_h5i8
2482 r7a2_to_h5i9
2483End
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.xmi
new file mode 100644
index 00000000..913039b2
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/problem.xmi
@@ -0,0 +1,49 @@
1<?xml version="1.0" encoding="ASCII"?>
2<cps:CyberPhysicalSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:cps="http://www.example.org/cps">
3 <requests>
4 <requirements count="4" type="//@applicationTypes.0"/>
5 <requirements count="3" type="//@applicationTypes.1"/>
6 <requirements count="1" type="//@applicationTypes.2"/>
7 <requirements count="1" type="//@applicationTypes.3"/>
8 </requests>
9 <requests>
10 <requirements count="4" type="//@applicationTypes.0"/>
11 <requirements count="1" type="//@applicationTypes.1"/>
12 <requirements count="4" type="//@applicationTypes.2"/>
13 <requirements count="3" type="//@applicationTypes.3"/>
14 </requests>
15 <applicationTypes>
16 <requirements requiredMemory="4" requiredHdd="29" hostType="//@hostTypes.4"/>
17 <requirements requiredMemory="4" requiredHdd="29" hostType="//@hostTypes.5"/>
18 </applicationTypes>
19 <applicationTypes>
20 <requirements requiredMemory="2" requiredHdd="4" hostType="//@hostTypes.0"/>
21 <requirements requiredMemory="2" requiredHdd="4" hostType="//@hostTypes.1"/>
22 <requirements requiredMemory="2" requiredHdd="4" hostType="//@hostTypes.2"/>
23 <requirements requiredMemory="2" requiredHdd="4" hostType="//@hostTypes.3"/>
24 <requirements requiredMemory="2" requiredHdd="4" hostType="//@hostTypes.4"/>
25 <requirements requiredMemory="2" requiredHdd="4" hostType="//@hostTypes.5"/>
26 </applicationTypes>
27 <applicationTypes>
28 <requirements requiredMemory="3" requiredHdd="5" hostType="//@hostTypes.0"/>
29 <requirements requiredMemory="3" requiredHdd="5" hostType="//@hostTypes.1"/>
30 <requirements requiredMemory="3" requiredHdd="5" hostType="//@hostTypes.2"/>
31 <requirements requiredMemory="3" requiredHdd="5" hostType="//@hostTypes.3"/>
32 <requirements requiredMemory="3" requiredHdd="5" hostType="//@hostTypes.4"/>
33 <requirements requiredMemory="3" requiredHdd="5" hostType="//@hostTypes.5"/>
34 </applicationTypes>
35 <applicationTypes>
36 <requirements requiredMemory="3" requiredHdd="17" hostType="//@hostTypes.0"/>
37 <requirements requiredMemory="3" requiredHdd="17" hostType="//@hostTypes.1"/>
38 <requirements requiredMemory="3" requiredHdd="17" hostType="//@hostTypes.2"/>
39 <requirements requiredMemory="3" requiredHdd="17" hostType="//@hostTypes.3"/>
40 <requirements requiredMemory="3" requiredHdd="17" hostType="//@hostTypes.4"/>
41 <requirements requiredMemory="3" requiredHdd="17" hostType="//@hostTypes.5"/>
42 </applicationTypes>
43 <hostTypes defaultMemory="8" defaultHdd="75" cost="2"/>
44 <hostTypes defaultMemory="16" defaultHdd="150" cost="4"/>
45 <hostTypes defaultMemory="16" defaultHdd="75" cost="3"/>
46 <hostTypes defaultMemory="32" defaultHdd="150" cost="6"/>
47 <hostTypes defaultMemory="4" defaultHdd="50" cost="2"/>
48 <hostTypes defaultMemory="8" defaultHdd="100" cost="4"/>
49</cps:CyberPhysicalSystem>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/solution.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/solution.txt
new file mode 100644
index 00000000..847b84c9
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/solution.txt
@@ -0,0 +1,55 @@
1Optimal - objective value 25.00000000
2 0 h0i0_exists 1 2
3 1 h0i1_exists 1 2
4 2 h0i2_exists 1 2
5 20 h2i0_exists 1 3
6 40 h4i0_exists 1 2
7 41 h4i1_exists 1 2
8 42 h4i2_exists 1 2
9 43 h4i3_exists 1 2
10 44 h4i4_exists 1 2
11 45 h4i5_exists 1 2
12 50 h5i0_exists 1 4
13 64 r0a0_to_h4i4 1 0
14 85 r0a1_to_h4i5 1 0
15 110 r0a2_to_h5i0 1 0
16 122 r0a3_to_h4i2 1 0
17 160 r1a0_to_h2i0 1 0
18 200 r1a1_to_h0i0 1 0
19 262 r1a2_to_h0i2 1 0
20 340 r2a0_to_h2i0 1 0
21 400 r3a0_to_h2i0 1 0
22 450 r4a0_to_h5i0 1 0
23 463 r4a1_to_h4i3 1 0
24 481 r4a2_to_h4i1 1 0
25 500 r4a3_to_h4i0 1 0
26 540 r5a0_to_h2i0 1 0
27 580 r6a0_to_h0i0 1 0
28 660 r6a1_to_h2i0 1 0
29 702 r6a2_to_h0i2 1 0
30 761 r6a3_to_h0i1 1 0
31 821 r7a0_to_h0i1 1 0
32 880 r7a1_to_h0i0 1 0
33 942 r7a2_to_h0i2 1 0
34 1000 h0i0_mem 1 0
35 1001 h0i0_hdd 0.34666667 0
36 1002 h0i1_mem 0.75 0
37 1003 h0i1_hdd 0.29333333 0
38 1004 h0i2_mem 1 0
39 1005 h0i2_hdd 0.34666667 0
40 1040 h2i0_mem 0.8125 0
41 1041 h2i0_hdd 0.46666667 0
42 1080 h4i0_mem 1 0
43 1081 h4i0_hdd 0.58 0
44 1082 h4i1_mem 1 0
45 1083 h4i1_hdd 0.58 0
46 1084 h4i2_mem 1 0
47 1085 h4i2_hdd 0.58 0
48 1086 h4i3_mem 1 0
49 1087 h4i3_hdd 0.58 0
50 1088 h4i4_mem 1 0
51 1089 h4i4_hdd 0.58 0
52 1090 h4i5_mem 1 0
53 1091 h4i5_hdd 0.58 0
54 1100 h5i0_mem 1 0
55 1101 h5i0_hdd 0.58 0
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/.gitignore
index 4e059848..d3114d9d 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/.gitignore
@@ -25,3 +25,20 @@
25/.GuidanceObjective.java._trace 25/.GuidanceObjective.java._trace
26/.RemoveHostInstance.java._trace 26/.RemoveHostInstance.java._trace
27/.UnallocateAppInstance.java._trace 27/.UnallocateAppInstance.java._trace
28/Allocate.java
29/AllocationWithoutResourceRequirement.java
30/AverageFreeHddMetric.java
31/AverageFreeMemoryMetric.java
32/CostMetric.java
33/CpsCost.java
34/CpsQueries.java
35/CreateHostInstance.java
36/GuidanceObjective.java
37/InstanceDoesNotSatisfyRequirement.java
38/NotEnoughAvailableHdd.java
39/NotEnoughAvailableMemory.java
40/RedundantInstancesOnSameHost.java
41/RemoveHostInstance.java
42/RequirementNotSatisfied.java
43/ResourceRequirement.java
44/UnallocateAppInstance.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/internal/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/internal/.gitignore
index c903a5e9..a4f039d9 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/internal/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src-gen/hu/bme/mit/inf/dslreasoner/domains/cps/queries/internal/.gitignore
@@ -18,3 +18,19 @@
18/.RequiredAppInstances.java._trace 18/.RequiredAppInstances.java._trace
19/.UnallocatedAppInstance.java._trace 19/.UnallocatedAppInstance.java._trace
20/.NoHostToAllocateTo.java._trace 20/.NoHostToAllocateTo.java._trace
21/AvailableHdd.java
22/AvailableMemory.java
23/CpsApplications.java
24/CpsHosts.java
25/CpsQueriesAll.java
26/FreeHddPercentage.java
27/FreeMemoryPercentage.java
28/HddRequirement.java
29/HostInstanceCost.java
30/MemoryRequirement.java
31/NoHostToAllocateTo.java
32/RequiredAppInstances.java
33/SatisfyingInstance.java
34/TotalHdd.java
35/TotalMemory.java
36/UnallocatedAppInstance.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.xtend
index 7ec0f84d..0203a6b6 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.xtend
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.xtend
@@ -19,11 +19,11 @@ class CbcCpsMain {
19 new IllegalStateException("This is a static utility class and should not be instantiated directly.") 19 new IllegalStateException("This is a static utility class and should not be instantiated directly.")
20 } 20 }
21 21
22 static def void main(String[] args) { 22 public static def void main(String[] args) {
23 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, 23 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION,
24 new XMIResourceFactoryImpl) 24 new XMIResourceFactoryImpl)
25 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE) 25 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE)
26 val generator = new CpsGenerator(1, 4, 1) 26 val generator = new CpsGenerator(1, 4, 2)
27 val problem = generator.generateCpsProblem 27 val problem = generator.generateCpsProblem
28 val toLp = new CpsToLpTranslator(problem, 10, true) 28 val toLp = new CpsToLpTranslator(problem, 10, true)
29 val lp = toLp.lpProblem 29 val lp = toLp.lpProblem
@@ -49,5 +49,6 @@ class CbcCpsMain {
49 } finally { 49 } finally {
50 reader.close 50 reader.close
51 } 51 }
52 println("Additional cost: " + problem.requests.flatMap[requirements.map[count]].reduce[p1, p2|p1 + p2] * 5)
52 } 53 }
53} 54}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend
new file mode 100644
index 00000000..628d5963
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend
@@ -0,0 +1,31 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage
4import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator
5import org.eclipse.emf.common.util.URI
6import org.eclipse.emf.ecore.EPackage
7import org.eclipse.emf.ecore.resource.Resource
8import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
9import uk.ac.kcl.inf.mdeoptimiser.languages.MoptStandaloneSetup
10
11class CpsMdeOptimiserMain {
12 static val PROJECT_PATH = "."
13 static val PROBLEM_PATH = "model/problem.xmi"
14 static val MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt"
15
16 private new() {
17 new IllegalStateException("This is a static utility class and should not be instantiated directly.")
18 }
19
20 public static def void main(String[] args) {
21 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION,
22 new XMIResourceFactoryImpl)
23 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE)
24 val generator = new CpsGenerator(1, 4, 2)
25 val problem = generator.generateCpsProblem
26 problem.eResource.URI = URI.createFileURI(PROBLEM_PATH)
27 problem.eResource.save(emptyMap)
28 val injector = new MoptStandaloneSetup().createInjectorAndDoEMFRegistration();
29 injector.getInstance(ExcludedRun).run(PROJECT_PATH, MOPT_PATH)
30 }
31}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend
new file mode 100644
index 00000000..1e9c5adf
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend
@@ -0,0 +1,85 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import java.util.Properties
4import org.moeaframework.Executor
5import org.moeaframework.Instrumenter
6import org.moeaframework.algorithm.PeriodicAction
7import org.moeaframework.core.TerminationCondition
8import org.moeaframework.core.spi.AlgorithmFactory
9import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run
10import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.Optimisation
11import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.SolverSpec
12import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.OptimisationInterpreter
13import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.executor.SolutionGenerator
14import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.MoeaOptimisation
15import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.algorithms.MoeaOptimisationAlgorithmProvider
16import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.instrumentation.PopulationCollector
17import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.problem.MoeaOptimisationProblem
18import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.operators.adaptation.MutationStepSizeStrategyFactory
19import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.output.MDEOBatch
20
21class ExcludedMoeaOptimisation extends MoeaOptimisation {
22 SolutionGenerator solutionGenerator
23 Instrumenter algorithmStepSizeInstrumenter
24
25 override execute(SolverSpec solverSpec, SolutionGenerator solutionGenerator) {
26 this.solutionGenerator = solutionGenerator
27 super.execute(solverSpec, solutionGenerator)
28 }
29
30 override Instrumenter runOptimisation(SolverSpec solverSpec, Properties optimisationProperties) {
31 val algorithmFactory = new AlgorithmFactory
32 algorithmFactory.addProvider(new MoeaOptimisationAlgorithmProvider)
33
34 algorithmStepSizeInstrumenter = new Instrumenter().addExcludedPackage("org.eclipse").withProblemClass(
35 MoeaOptimisationProblem, solutionGenerator).attachApproximationSetCollector().attachElapsedTimeCollector().
36 attachPopulationSizeCollector.attach(new PopulationCollector()).withFrequency(1).withFrequencyType(
37 PeriodicAction.FrequencyType.STEPS)
38
39 var stepSizeStrategy = new MutationStepSizeStrategyFactory(solverSpec.algorithm, algorithmStepSizeInstrumenter).
40 strategy
41
42 solutionGenerator.setMutationStepSizeStrategy(stepSizeStrategy)
43
44 // TODO: Place this in a better location.
45 // Exclude JDK packages from Instrumenter
46 this.algorithmStepSizeInstrumenter.addExcludedPackage("jdk")
47
48 new Executor().usingAlgorithmFactory(algorithmFactory).withAlgorithm(solverSpec.algorithm.name) // Initialize problem with our solution generator
49 .withProblemClass(MoeaOptimisationProblem, solutionGenerator).withProperties(optimisationProperties).
50 withInstrumenter(algorithmStepSizeInstrumenter).withTerminationCondition(
51 optimisationProperties.get("terminationCondition") as TerminationCondition).run()
52
53 return algorithmStepSizeInstrumenter
54 }
55}
56
57class ExcludedOptimisationInterpreter extends OptimisationInterpreter {
58 val Optimisation model
59
60 new(String projectPath, Optimisation model) {
61 super(projectPath, model)
62 this.model = model
63 }
64
65 override start() {
66 // This model provider loads the model given by the user in the DSL
67 var solutionGenerator = new SolutionGenerator(model, getBreedingOperators, getMutationOperators,
68 getModelProvider, getMetamodel);
69
70 return new ExcludedMoeaOptimisation().execute(model.solver, solutionGenerator)
71 }
72
73}
74
75class ExcludedRun extends Run {
76 override runBatch(String moptProjectPath, Optimisation optimisationModel, Integer batch, boolean singleBatch) {
77 val optimisationInterpreter = new ExcludedOptimisationInterpreter(moptProjectPath, optimisationModel);
78 val startTime = System.nanoTime();
79 val optimisationOutcome = optimisationInterpreter.start();
80 val endTime = System.nanoTime();
81 val experimentDuration = ((endTime - startTime) / 1000000);
82 val generatedRules = optimisationInterpreter.getRulegenOperators();
83 return new MDEOBatch(batch, experimentDuration, optimisationOutcome, generatedRules, singleBatch);
84 }
85}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.xtend
new file mode 100644
index 00000000..1a9286b3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.xtend
@@ -0,0 +1,29 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6import com.google.common.collect.HashMultiset
7
8class NonRedundantAllocationsConstraint implements IGuidanceFunction {
9 override getName() {
10 "NonRedundantAllocations"
11 }
12
13 override computeFitness(Solution solution) {
14 val cps = solution.model as CyberPhysicalSystem
15 var int cost = 0
16 for (hostType : cps.hostTypes) {
17 for (host : hostType.instances) {
18 val bins = HashMultiset.create
19 for (app : host.applications) {
20 bins.add(app.requirement)
21 }
22 for (entry : bins.entrySet) {
23 cost += entry.count - 1
24 }
25 }
26 }
27 cost
28 }
29}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.xtend
new file mode 100644
index 00000000..663aa26c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.xtend
@@ -0,0 +1,24 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class NotAllocatedAppInstancesConstraint implements IGuidanceFunction {
8 override getName() {
9 "NotAllocatedAppInstances"
10 }
11
12 override computeFitness(Solution solution) {
13 val cps = solution.model as CyberPhysicalSystem
14 var int cost = 0
15 for (appType : cps.applicationTypes) {
16 for (app : appType.instances) {
17 if (app.allocatedTo === null || !appType.requirements.exists[hostType == app.allocatedTo.type]) {
18 cost++
19 }
20 }
21 }
22 cost
23 }
24}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.xtend
new file mode 100644
index 00000000..e44381ec
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.xtend
@@ -0,0 +1,27 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class NotSatisfiedRequirementsConstraint implements IGuidanceFunction {
8 override getName() {
9 "NotSatisfiedRequirements"
10 }
11
12 override computeFitness(Solution solution) {
13 val cps = solution.model as CyberPhysicalSystem
14 var int cost = 0
15 for (request : cps.requests) {
16 for (requirement : request.requirements) {
17 cost += Math.abs(requirement.count - requirement.instances.size)
18 for (app : requirement.instances) {
19 if (app.type != requirement.type) {
20 cost++
21 }
22 }
23 }
24 }
25 cost
26 }
27}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.xtend
new file mode 100644
index 00000000..fc1d666f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.xtend
@@ -0,0 +1,31 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance
4
5class ResourceUtilizationUtil {
6 private new() {
7 new IllegalStateException("This is a static utility class and should not be instantiated directly.")
8 }
9
10 static def getMemoryUtilization(HostInstance host) {
11 var int utilization = 0
12 for (app : host.applications) {
13 val req = app.type.requirements.findFirst[hostType == host.type]
14 if (req !== null) {
15 utilization += req.requiredMemory
16 }
17 }
18 utilization
19 }
20
21 static def getHddUtilization(HostInstance host) {
22 var int utilization = 0
23 for (app : host.applications) {
24 val req = app.type.requirements.findFirst[hostType == host.type]
25 if (req !== null) {
26 utilization += req.requiredHdd
27 }
28 }
29 utilization
30 }
31}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.xtend
new file mode 100644
index 00000000..85cc8115
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.xtend
@@ -0,0 +1,33 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class TooLowAverageHddConstraint implements IGuidanceFunction {
8 static val THRESHOLD = 0.25
9
10 override getName() {
11 "TooLowAverageHdd"
12 }
13
14 override computeFitness(Solution solution) {
15 val cps = solution.model as CyberPhysicalSystem
16 var double sumUtilization
17 var int numHosts
18 for (hostType : cps.hostTypes) {
19 numHosts += hostType.instances.size
20 for (host : hostType.instances) {
21 val utilization = ResourceUtilizationUtil.getHddUtilization(host)
22 sumUtilization += (utilization as double) / hostType.defaultHdd
23 }
24 }
25 val averageUtilization = sumUtilization / numHosts
26 val difference = THRESHOLD - averageUtilization
27 if (difference > 0) {
28 difference
29 } else {
30 0
31 }
32 }
33}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend
new file mode 100644
index 00000000..e9b47d4c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.xtend
@@ -0,0 +1,33 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class TooLowAverageMemoryConstraint implements IGuidanceFunction {
8 static val THRESHOLD = 0.25
9
10 override getName() {
11 "TooLowAverageMemory"
12 }
13
14 override computeFitness(Solution solution) {
15 val cps = solution.model as CyberPhysicalSystem
16 var double sumUtilization
17 var int numHosts
18 for (hostType : cps.hostTypes) {
19 numHosts += hostType.instances.size
20 for (host : hostType.instances) {
21 val utilization = ResourceUtilizationUtil.getMemoryUtilization(host)
22 sumUtilization += (utilization as double) / hostType.defaultMemory
23 }
24 }
25 val averageUtilization = sumUtilization / numHosts
26 val difference = THRESHOLD - averageUtilization
27 if (difference > 0) {
28 difference
29 } else {
30 0
31 }
32 }
33}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.xtend
new file mode 100644
index 00000000..af65e442
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.xtend
@@ -0,0 +1,23 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class TotalCostFitnessFunction implements IGuidanceFunction {
8 override getName() {
9 "TotalCost"
10 }
11
12 override computeFitness(Solution solution) {
13 val cps = solution.model as CyberPhysicalSystem
14 var int cost = 0
15 for (appType : cps.applicationTypes) {
16 cost += 5 * appType.instances.size
17 }
18 for (hostType : cps.hostTypes) {
19 cost += hostType.cost * hostType.instances.size
20 }
21 cost
22 }
23}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.xtend
new file mode 100644
index 00000000..08450f45
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.xtend
@@ -0,0 +1,27 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class UnavailableHddConstraint implements IGuidanceFunction {
8 override getName() {
9 "UnavailableHdd"
10 }
11
12 override computeFitness(Solution solution) {
13 val cps = solution.model as CyberPhysicalSystem
14 var int cost = 0
15 for (hostType : cps.hostTypes) {
16 for (host : hostType.instances) {
17 val utilization = ResourceUtilizationUtil.getHddUtilization(host)
18 val difference = utilization - hostType.defaultHdd
19 if (difference > 0) {
20 cost += difference
21 }
22 }
23 }
24 cost
25 }
26
27}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.xtend
new file mode 100644
index 00000000..e46d59a6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.xtend
@@ -0,0 +1,27 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem
4import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
6
7class UnavailableMemoryConstraint implements IGuidanceFunction {
8 override getName() {
9 "UnavailableMemory"
10 }
11
12 override computeFitness(Solution solution) {
13 val cps = solution.model as CyberPhysicalSystem
14 var int cost = 0
15 for (hostType : cps.hostTypes) {
16 for (host : hostType.instances) {
17 val utilization = ResourceUtilizationUtil.getMemoryUtilization(host)
18 val difference = utilization - hostType.defaultMemory
19 if (difference > 0) {
20 cost += difference
21 }
22 }
23 }
24 cost
25 }
26
27}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt
new file mode 100644
index 00000000..4c05939d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt
@@ -0,0 +1,41 @@
1problem {
2 basepath <model>
3 metamodel <hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage>
4 model <problem.xmi>
5}
6
7goal {
8 objective TotalCost minimise java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.TotalCostFitnessFunction" }
9 constraint NotSatisfiedRequriements java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.NotSatisfiedRequirementsConstraint" }
10 constraint NotAllocatedAppInstances java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.NotAllocatedAppInstancesConstraint" }
11 constraint NonRedundantAllocations java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.NonRedundantAllocationsConstraint" }
12 constraint UnavailableMemory java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.UnavailableMemoryConstraint" }
13 constraint UnavailableHdd java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.UnavailableHddConstraint" }
14 constraint TooLowAverageMemory java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.TooLowAverageMemoryConstraint" }
15 constraint TooLowAverageHdd java { "hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.TooLowAverageHddConstraint" }
16}
17
18search {
19// mutate using <cps.henshin> unit "createAppInstance"
20// mutate using <cps.henshin> unit "createHostInstance"
21// mutate using <cps.henshin> unit "allocate"
22// mutate using <cps.henshin> unit "deleteAppInstance"
23// mutate using <cps.henshin> unit "unallocate"
24 mutate { "ApplicationInstance" }
25 mutate { "HostInstance" }
26}
27
28solver {
29 optimisation provider moea algorithm NSGAII {
30 variation: mutation
31 population: 25
32 mutation.step: 3
33 mutation.strategy: random
34 }
35
36 termination {
37 time: 120
38 }
39
40 batches 1
41}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
index 3f9e895d..1ba73ccf 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
index d8814a3b..b8ff0f95 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore
index 9f908c7a..011600b4 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore
@@ -1,2 +1,6 @@
1/.CpsToLpTranslator.java._trace 1/.CpsToLpTranslator.java._trace
2/.CbcCpsMain.java._trace 2/.CbcCpsMain.java._trace
3/.CbcCpsMain.xtendbin
4/.CpsToLpTranslator.xtendbin
5/CbcCpsMain.java
6/CpsToLpTranslator.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java
index d36cdccd..00a4887b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java
@@ -2,12 +2,15 @@ package hu.bme.mit.inf.dslreasoner.domains.cps.cplex;
2 2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; 3import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage;
4import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; 4import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
5import hu.bme.mit.inf.dslreasoner.domains.cps.Request;
6import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement;
5import hu.bme.mit.inf.dslreasoner.domains.cps.cplex.CpsToLpTranslator; 7import hu.bme.mit.inf.dslreasoner.domains.cps.cplex.CpsToLpTranslator;
6import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; 8import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator;
7import java.io.BufferedReader; 9import java.io.BufferedReader;
8import java.io.BufferedWriter; 10import java.io.BufferedWriter;
9import java.io.FileReader; 11import java.io.FileReader;
10import java.io.FileWriter; 12import java.io.FileWriter;
13import java.util.List;
11import java.util.Map; 14import java.util.Map;
12import java.util.concurrent.TimeUnit; 15import java.util.concurrent.TimeUnit;
13import java.util.function.Consumer; 16import java.util.function.Consumer;
@@ -15,7 +18,11 @@ import org.eclipse.emf.ecore.EPackage;
15import org.eclipse.emf.ecore.resource.Resource; 18import org.eclipse.emf.ecore.resource.Resource;
16import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; 19import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
17import org.eclipse.xtext.xbase.lib.Exceptions; 20import org.eclipse.xtext.xbase.lib.Exceptions;
21import org.eclipse.xtext.xbase.lib.Functions.Function1;
22import org.eclipse.xtext.xbase.lib.Functions.Function2;
18import org.eclipse.xtext.xbase.lib.InputOutput; 23import org.eclipse.xtext.xbase.lib.InputOutput;
24import org.eclipse.xtext.xbase.lib.IterableExtensions;
25import org.eclipse.xtext.xbase.lib.ListExtensions;
19 26
20@SuppressWarnings("all") 27@SuppressWarnings("all")
21public class CbcCpsMain { 28public class CbcCpsMain {
@@ -33,7 +40,7 @@ public class CbcCpsMain {
33 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); 40 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
34 _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); 41 _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl);
35 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); 42 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE);
36 final CpsGenerator generator = new CpsGenerator(1, 4, 1); 43 final CpsGenerator generator = new CpsGenerator(1, 4, 2);
37 final CyberPhysicalSystem problem = generator.generateCpsProblem(); 44 final CyberPhysicalSystem problem = generator.generateCpsProblem();
38 final CpsToLpTranslator toLp = new CpsToLpTranslator(problem, 10, true); 45 final CpsToLpTranslator toLp = new CpsToLpTranslator(problem, 10, true);
39 final CharSequence lp = toLp.getLpProblem(); 46 final CharSequence lp = toLp.getLpProblem();
@@ -70,6 +77,19 @@ public class CbcCpsMain {
70 } finally { 77 } finally {
71 reader.close(); 78 reader.close();
72 } 79 }
80 final Function1<Request, List<Integer>> _function_1 = (Request it) -> {
81 final Function1<Requirement, Integer> _function_2 = (Requirement it_1) -> {
82 return Integer.valueOf(it_1.getCount());
83 };
84 return ListExtensions.<Requirement, Integer>map(it.getRequirements(), _function_2);
85 };
86 final Function2<Integer, Integer, Integer> _function_2 = (Integer p1, Integer p2) -> {
87 return Integer.valueOf(((p1).intValue() + (p2).intValue()));
88 };
89 Integer _reduce = IterableExtensions.<Integer>reduce(IterableExtensions.<Request, Integer>flatMap(problem.getRequests(), _function_1), _function_2);
90 int _multiply = ((_reduce).intValue() * 5);
91 String _plus_1 = ("Additional cost: " + Integer.valueOf(_multiply));
92 InputOutput.<String>println(_plus_1);
73 } catch (Throwable _e) { 93 } catch (Throwable _e) {
74 throw Exceptions.sneakyThrow(_e); 94 throw Exceptions.sneakyThrow(_e);
75 } 95 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
index cdfe3921..a727fe17 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
index 9be64b30..8217bf52 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
index 02fb74ef..1462e776 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore
index e24f10f4..2338336b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore
@@ -1,3 +1,9 @@
1/.RuleBasedCpsSolver.java._trace 1/.RuleBasedCpsSolver.java._trace
2/.RuleBasedCpsMain.java._trace 2/.RuleBasedCpsMain.java._trace
3/.CpsStateCoder.java._trace 3/.CpsStateCoder.java._trace
4/.CpsStateCoder.xtendbin
5/.RuleBasedCpsMain.xtendbin
6/.RuleBasedCpsSolver.xtendbin
7/CpsStateCoder.java
8/RuleBasedCpsMain.java
9/RuleBasedCpsSolver.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
index d975ffab..306f031b 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore
index d5d16f2e..716ffd30 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore
@@ -1 +1,3 @@
1/.CpsGenerator.java._trace 1/.CpsGenerator.java._trace
2/.CpsGenerator.xtendbin
3/CpsGenerator.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
new file mode 100644
index 00000000..9d288343
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
new file mode 100644
index 00000000..46cce8d1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
new file mode 100644
index 00000000..667c165b
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
new file mode 100644
index 00000000..b1b1967a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
new file mode 100644
index 00000000..b4385fa3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
new file mode 100644
index 00000000..a46e86d4
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
new file mode 100644
index 00000000..5a6b7da0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
new file mode 100644
index 00000000..5b1f5002
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
new file mode 100644
index 00000000..fdfd8717
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
new file mode 100644
index 00000000..43ca6549
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
new file mode 100644
index 00000000..aff12eca
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore
new file mode 100644
index 00000000..51a2537b
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore
@@ -0,0 +1,15 @@
1/.TotalCostFitnessFunction.java._trace
2/.CpsMdeOptimiserMain.java._trace
3/.ExcludedOptimisationInterpreter.java._trace
4/.ExcludedMoeaOptimisation.java._trace
5/.ExcludedRun.java._trace
6/.SatisfiedRequirementsConstraint.java._trace
7/.NotSatisfiedRequirementsConstraint.java._trace
8/.NotAllocatedAppInstancesConstraint.java._trace
9/.NonRedundantAllocationsConstraint.java._trace
10/.UnavailableMemoryConstraint.java._trace
11/.ResourceUtilizationUtil.java._trace
12/.UnavailableHddConstraint.java._trace
13/.TooLowAverageMemoryConstraint.java._trace
14/.TooLowAverageHddUtilization.java._trace
15/.TooLowAverageHddConstraint.java._trace
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java
new file mode 100644
index 00000000..288505a1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java
@@ -0,0 +1,46 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import com.google.inject.Injector;
4import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage;
5import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
6import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator;
7import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ExcludedRun;
8import java.util.Map;
9import org.eclipse.emf.common.util.URI;
10import org.eclipse.emf.ecore.EPackage;
11import org.eclipse.emf.ecore.resource.Resource;
12import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
13import org.eclipse.xtext.xbase.lib.CollectionLiterals;
14import org.eclipse.xtext.xbase.lib.Exceptions;
15import uk.ac.kcl.inf.mdeoptimiser.languages.MoptStandaloneSetup;
16
17@SuppressWarnings("all")
18public class CpsMdeOptimiserMain {
19 private static final String PROJECT_PATH = ".";
20
21 private static final String PROBLEM_PATH = "model/problem.xmi";
22
23 private static final String MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt";
24
25 private CpsMdeOptimiserMain() {
26 new IllegalStateException("This is a static utility class and should not be instantiated directly.");
27 }
28
29 public static void main(final String[] args) {
30 try {
31 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap();
32 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
33 _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl);
34 EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE);
35 final CpsGenerator generator = new CpsGenerator(1, 4, 2);
36 final CyberPhysicalSystem problem = generator.generateCpsProblem();
37 Resource _eResource = problem.eResource();
38 _eResource.setURI(URI.createFileURI(CpsMdeOptimiserMain.PROBLEM_PATH));
39 problem.eResource().save(CollectionLiterals.<Object, Object>emptyMap());
40 final Injector injector = new MoptStandaloneSetup().createInjectorAndDoEMFRegistration();
41 injector.<ExcludedRun>getInstance(ExcludedRun.class).run(CpsMdeOptimiserMain.PROJECT_PATH, CpsMdeOptimiserMain.MOPT_PATH);
42 } catch (Throwable _e) {
43 throw Exceptions.sneakyThrow(_e);
44 }
45 }
46}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedMoeaOptimisation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedMoeaOptimisation.java
new file mode 100644
index 00000000..52d3f665
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedMoeaOptimisation.java
@@ -0,0 +1,54 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import java.util.Properties;
4import org.moeaframework.Executor;
5import org.moeaframework.Instrumenter;
6import org.moeaframework.algorithm.PeriodicAction;
7import org.moeaframework.core.TerminationCondition;
8import org.moeaframework.core.spi.AlgorithmFactory;
9import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.AlgorithmSpec;
10import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.SolverSpec;
11import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.executor.SolutionGenerator;
12import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.MoeaOptimisation;
13import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.algorithms.MoeaOptimisationAlgorithmProvider;
14import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.instrumentation.PopulationCollector;
15import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.problem.MoeaOptimisationProblem;
16import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.operators.adaptation.MutationStepSizeStrategy;
17import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.operators.adaptation.MutationStepSizeStrategyFactory;
18
19@SuppressWarnings("all")
20public class ExcludedMoeaOptimisation extends MoeaOptimisation {
21 private SolutionGenerator solutionGenerator;
22
23 private Instrumenter algorithmStepSizeInstrumenter;
24
25 @Override
26 public Instrumenter execute(final SolverSpec solverSpec, final SolutionGenerator solutionGenerator) {
27 Instrumenter _xblockexpression = null;
28 {
29 this.solutionGenerator = solutionGenerator;
30 _xblockexpression = super.execute(solverSpec, solutionGenerator);
31 }
32 return _xblockexpression;
33 }
34
35 @Override
36 public Instrumenter runOptimisation(final SolverSpec solverSpec, final Properties optimisationProperties) {
37 final AlgorithmFactory algorithmFactory = new AlgorithmFactory();
38 MoeaOptimisationAlgorithmProvider _moeaOptimisationAlgorithmProvider = new MoeaOptimisationAlgorithmProvider();
39 algorithmFactory.addProvider(_moeaOptimisationAlgorithmProvider);
40 Instrumenter _attachPopulationSizeCollector = new Instrumenter().addExcludedPackage("org.eclipse").withProblemClass(
41 MoeaOptimisationProblem.class, this.solutionGenerator).attachApproximationSetCollector().attachElapsedTimeCollector().attachPopulationSizeCollector();
42 PopulationCollector _populationCollector = new PopulationCollector();
43 this.algorithmStepSizeInstrumenter = _attachPopulationSizeCollector.attach(_populationCollector).withFrequency(1).withFrequencyType(
44 PeriodicAction.FrequencyType.STEPS);
45 AlgorithmSpec _algorithm = solverSpec.getAlgorithm();
46 MutationStepSizeStrategy stepSizeStrategy = new MutationStepSizeStrategyFactory(_algorithm, this.algorithmStepSizeInstrumenter).getStrategy();
47 this.solutionGenerator.setMutationStepSizeStrategy(stepSizeStrategy);
48 this.algorithmStepSizeInstrumenter.addExcludedPackage("jdk");
49 Object _get = optimisationProperties.get("terminationCondition");
50 new Executor().usingAlgorithmFactory(algorithmFactory).withAlgorithm(solverSpec.getAlgorithm().getName()).withProblemClass(MoeaOptimisationProblem.class, this.solutionGenerator).withProperties(optimisationProperties).withInstrumenter(this.algorithmStepSizeInstrumenter).withTerminationCondition(
51 ((TerminationCondition) _get)).run();
52 return this.algorithmStepSizeInstrumenter;
53 }
54}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.java
new file mode 100644
index 00000000..90641d73
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.java
@@ -0,0 +1,31 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ExcludedMoeaOptimisation;
4import java.util.List;
5import org.eclipse.emf.ecore.EPackage;
6import org.eclipse.emf.henshin.model.Unit;
7import org.moeaframework.Instrumenter;
8import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.Optimisation;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IModelProvider;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.OptimisationInterpreter;
11import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.executor.SolutionGenerator;
12
13@SuppressWarnings("all")
14public class ExcludedOptimisationInterpreter extends OptimisationInterpreter {
15 private final Optimisation model;
16
17 public ExcludedOptimisationInterpreter(final String projectPath, final Optimisation model) {
18 super(projectPath, model);
19 this.model = model;
20 }
21
22 @Override
23 public Instrumenter start() {
24 List<Unit> _breedingOperators = this.getBreedingOperators();
25 List<Unit> _mutationOperators = this.getMutationOperators();
26 IModelProvider _modelProvider = this.getModelProvider();
27 EPackage _metamodel = this.getMetamodel();
28 SolutionGenerator solutionGenerator = new SolutionGenerator(this.model, _breedingOperators, _mutationOperators, _modelProvider, _metamodel);
29 return new ExcludedMoeaOptimisation().execute(this.model.getSolver(), solutionGenerator);
30 }
31}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedRun.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedRun.java
new file mode 100644
index 00000000..76f12e79
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedRun.java
@@ -0,0 +1,24 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ExcludedOptimisationInterpreter;
4import java.util.List;
5import java.util.Map;
6import org.eclipse.emf.ecore.EPackage;
7import org.moeaframework.Instrumenter;
8import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run;
9import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.Optimisation;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.output.MDEOBatch;
11
12@SuppressWarnings("all")
13public class ExcludedRun extends Run {
14 @Override
15 public MDEOBatch runBatch(final String moptProjectPath, final Optimisation optimisationModel, final Integer batch, final boolean singleBatch) {
16 final ExcludedOptimisationInterpreter optimisationInterpreter = new ExcludedOptimisationInterpreter(moptProjectPath, optimisationModel);
17 final long startTime = System.nanoTime();
18 final Instrumenter optimisationOutcome = optimisationInterpreter.start();
19 final long endTime = System.nanoTime();
20 final long experimentDuration = ((endTime - startTime) / 1000000);
21 final Map<EPackage, List<org.eclipse.emf.henshin.model.Module>> generatedRules = optimisationInterpreter.getRulegenOperators();
22 return new MDEOBatch(batch, experimentDuration, optimisationOutcome, generatedRules, singleBatch);
23 }
24}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java
new file mode 100644
index 00000000..6100d821
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java
@@ -0,0 +1,54 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import com.google.common.collect.HashMultiset;
4import com.google.common.collect.Multiset;
5import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance;
6import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
7import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
8import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
9import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement;
10import java.util.Set;
11import org.eclipse.emf.common.util.EList;
12import org.eclipse.emf.ecore.EObject;
13import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
14import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
15
16@SuppressWarnings("all")
17public class NonRedundantAllocationsConstraint implements IGuidanceFunction {
18 @Override
19 public String getName() {
20 return "NonRedundantAllocations";
21 }
22
23 @Override
24 public double computeFitness(final Solution solution) {
25 int _xblockexpression = (int) 0;
26 {
27 EObject _model = solution.getModel();
28 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
29 int cost = 0;
30 EList<HostType> _hostTypes = cps.getHostTypes();
31 for (final HostType hostType : _hostTypes) {
32 EList<HostInstance> _instances = hostType.getInstances();
33 for (final HostInstance host : _instances) {
34 {
35 final HashMultiset<Requirement> bins = HashMultiset.<Requirement>create();
36 EList<ApplicationInstance> _applications = host.getApplications();
37 for (final ApplicationInstance app : _applications) {
38 bins.add(app.getRequirement());
39 }
40 Set<Multiset.Entry<Requirement>> _entrySet = bins.entrySet();
41 for (final Multiset.Entry<Requirement> entry : _entrySet) {
42 int _cost = cost;
43 int _count = entry.getCount();
44 int _minus = (_count - 1);
45 cost = (_cost + _minus);
46 }
47 }
48 }
49 }
50 _xblockexpression = cost;
51 }
52 return _xblockexpression;
53 }
54}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java
new file mode 100644
index 00000000..e9ade5de
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java
@@ -0,0 +1,47 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import com.google.common.base.Objects;
4import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
7import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
8import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement;
9import org.eclipse.emf.common.util.EList;
10import org.eclipse.emf.ecore.EObject;
11import org.eclipse.xtext.xbase.lib.Functions.Function1;
12import org.eclipse.xtext.xbase.lib.IterableExtensions;
13import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
14import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
15
16@SuppressWarnings("all")
17public class NotAllocatedAppInstancesConstraint implements IGuidanceFunction {
18 @Override
19 public String getName() {
20 return "NotAllocatedAppInstances";
21 }
22
23 @Override
24 public double computeFitness(final Solution solution) {
25 int _xblockexpression = (int) 0;
26 {
27 EObject _model = solution.getModel();
28 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
29 int cost = 0;
30 EList<ApplicationType> _applicationTypes = cps.getApplicationTypes();
31 for (final ApplicationType appType : _applicationTypes) {
32 EList<ApplicationInstance> _instances = appType.getInstances();
33 for (final ApplicationInstance app : _instances) {
34 if (((app.getAllocatedTo() == null) || (!IterableExtensions.<ResourceRequirement>exists(appType.getRequirements(), ((Function1<ResourceRequirement, Boolean>) (ResourceRequirement it) -> {
35 HostType _hostType = it.getHostType();
36 HostType _type = app.getAllocatedTo().getType();
37 return Boolean.valueOf(Objects.equal(_hostType, _type));
38 }))))) {
39 cost++;
40 }
41 }
42 }
43 _xblockexpression = cost;
44 }
45 return _xblockexpression;
46 }
47}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java
new file mode 100644
index 00000000..34f73952
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java
@@ -0,0 +1,55 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import com.google.common.base.Objects;
4import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
7import hu.bme.mit.inf.dslreasoner.domains.cps.Request;
8import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement;
9import org.eclipse.emf.common.util.EList;
10import org.eclipse.emf.ecore.EObject;
11import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
12import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
13
14@SuppressWarnings("all")
15public class NotSatisfiedRequirementsConstraint implements IGuidanceFunction {
16 @Override
17 public String getName() {
18 return "NotSatisfiedRequirements";
19 }
20
21 @Override
22 public double computeFitness(final Solution solution) {
23 int _xblockexpression = (int) 0;
24 {
25 EObject _model = solution.getModel();
26 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
27 int cost = 0;
28 EList<Request> _requests = cps.getRequests();
29 for (final Request request : _requests) {
30 EList<Requirement> _requirements = request.getRequirements();
31 for (final Requirement requirement : _requirements) {
32 {
33 int _cost = cost;
34 int _count = requirement.getCount();
35 int _size = requirement.getInstances().size();
36 int _minus = (_count - _size);
37 int _abs = Math.abs(_minus);
38 cost = (_cost + _abs);
39 EList<ApplicationInstance> _instances = requirement.getInstances();
40 for (final ApplicationInstance app : _instances) {
41 ApplicationType _type = app.getType();
42 ApplicationType _type_1 = requirement.getType();
43 boolean _notEquals = (!Objects.equal(_type, _type_1));
44 if (_notEquals) {
45 cost++;
46 }
47 }
48 }
49 }
50 }
51 _xblockexpression = cost;
52 }
53 return _xblockexpression;
54 }
55}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java
new file mode 100644
index 00000000..a03213e3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java
@@ -0,0 +1,67 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import com.google.common.base.Objects;
4import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
6import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
7import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement;
8import org.eclipse.emf.common.util.EList;
9import org.eclipse.xtext.xbase.lib.Functions.Function1;
10import org.eclipse.xtext.xbase.lib.IterableExtensions;
11
12@SuppressWarnings("all")
13public class ResourceUtilizationUtil {
14 private ResourceUtilizationUtil() {
15 new IllegalStateException("This is a static utility class and should not be instantiated directly.");
16 }
17
18 public static int getMemoryUtilization(final HostInstance host) {
19 int _xblockexpression = (int) 0;
20 {
21 int utilization = 0;
22 EList<ApplicationInstance> _applications = host.getApplications();
23 for (final ApplicationInstance app : _applications) {
24 {
25 final Function1<ResourceRequirement, Boolean> _function = (ResourceRequirement it) -> {
26 HostType _hostType = it.getHostType();
27 HostType _type = host.getType();
28 return Boolean.valueOf(Objects.equal(_hostType, _type));
29 };
30 final ResourceRequirement req = IterableExtensions.<ResourceRequirement>findFirst(app.getType().getRequirements(), _function);
31 if ((req != null)) {
32 int _utilization = utilization;
33 int _requiredMemory = req.getRequiredMemory();
34 utilization = (_utilization + _requiredMemory);
35 }
36 }
37 }
38 _xblockexpression = utilization;
39 }
40 return _xblockexpression;
41 }
42
43 public static int getHddUtilization(final HostInstance host) {
44 int _xblockexpression = (int) 0;
45 {
46 int utilization = 0;
47 EList<ApplicationInstance> _applications = host.getApplications();
48 for (final ApplicationInstance app : _applications) {
49 {
50 final Function1<ResourceRequirement, Boolean> _function = (ResourceRequirement it) -> {
51 HostType _hostType = it.getHostType();
52 HostType _type = host.getType();
53 return Boolean.valueOf(Objects.equal(_hostType, _type));
54 };
55 final ResourceRequirement req = IterableExtensions.<ResourceRequirement>findFirst(app.getType().getRequirements(), _function);
56 if ((req != null)) {
57 int _utilization = utilization;
58 int _requiredHdd = req.getRequiredHdd();
59 utilization = (_utilization + _requiredHdd);
60 }
61 }
62 }
63 _xblockexpression = utilization;
64 }
65 return _xblockexpression;
66 }
67}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java
new file mode 100644
index 00000000..0ff3c795
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java
@@ -0,0 +1,59 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
4import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil;
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.ecore.EObject;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
11
12@SuppressWarnings("all")
13public class TooLowAverageHddConstraint implements IGuidanceFunction {
14 private static final double THRESHOLD = 0.25;
15
16 @Override
17 public String getName() {
18 return "TooLowAverageHdd";
19 }
20
21 @Override
22 public double computeFitness(final Solution solution) {
23 double _xblockexpression = (double) 0;
24 {
25 EObject _model = solution.getModel();
26 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
27 double sumUtilization = 0;
28 int numHosts = 0;
29 EList<HostType> _hostTypes = cps.getHostTypes();
30 for (final HostType hostType : _hostTypes) {
31 {
32 int _numHosts = numHosts;
33 int _size = hostType.getInstances().size();
34 numHosts = (_numHosts + _size);
35 EList<HostInstance> _instances = hostType.getInstances();
36 for (final HostInstance host : _instances) {
37 {
38 final int utilization = ResourceUtilizationUtil.getHddUtilization(host);
39 double _sumUtilization = sumUtilization;
40 int _defaultHdd = hostType.getDefaultHdd();
41 double _divide = (((double) utilization) / _defaultHdd);
42 sumUtilization = (_sumUtilization + _divide);
43 }
44 }
45 }
46 }
47 final double averageUtilization = (sumUtilization / numHosts);
48 final double difference = (TooLowAverageHddConstraint.THRESHOLD - averageUtilization);
49 double _xifexpression = (double) 0;
50 if ((difference > 0)) {
51 _xifexpression = difference;
52 } else {
53 _xifexpression = 0;
54 }
55 _xblockexpression = _xifexpression;
56 }
57 return _xblockexpression;
58 }
59}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java
new file mode 100644
index 00000000..341925bc
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java
@@ -0,0 +1,59 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
4import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil;
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.ecore.EObject;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
11
12@SuppressWarnings("all")
13public class TooLowAverageMemoryConstraint implements IGuidanceFunction {
14 private static final double THRESHOLD = 0.25;
15
16 @Override
17 public String getName() {
18 return "TooLowAverageMemory";
19 }
20
21 @Override
22 public double computeFitness(final Solution solution) {
23 double _xblockexpression = (double) 0;
24 {
25 EObject _model = solution.getModel();
26 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
27 double sumUtilization = 0;
28 int numHosts = 0;
29 EList<HostType> _hostTypes = cps.getHostTypes();
30 for (final HostType hostType : _hostTypes) {
31 {
32 int _numHosts = numHosts;
33 int _size = hostType.getInstances().size();
34 numHosts = (_numHosts + _size);
35 EList<HostInstance> _instances = hostType.getInstances();
36 for (final HostInstance host : _instances) {
37 {
38 final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host);
39 double _sumUtilization = sumUtilization;
40 int _defaultMemory = hostType.getDefaultMemory();
41 double _divide = (((double) utilization) / _defaultMemory);
42 sumUtilization = (_sumUtilization + _divide);
43 }
44 }
45 }
46 }
47 final double averageUtilization = (sumUtilization / numHosts);
48 final double difference = (TooLowAverageMemoryConstraint.THRESHOLD - averageUtilization);
49 double _xifexpression = (double) 0;
50 if ((difference > 0)) {
51 _xifexpression = difference;
52 } else {
53 _xifexpression = 0;
54 }
55 _xblockexpression = _xifexpression;
56 }
57 return _xblockexpression;
58 }
59}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java
new file mode 100644
index 00000000..7bb80ca8
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java
@@ -0,0 +1,44 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType;
4import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
6import org.eclipse.emf.common.util.EList;
7import org.eclipse.emf.ecore.EObject;
8import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
10
11@SuppressWarnings("all")
12public class TotalCostFitnessFunction implements IGuidanceFunction {
13 @Override
14 public String getName() {
15 return "TotalCost";
16 }
17
18 @Override
19 public double computeFitness(final Solution solution) {
20 int _xblockexpression = (int) 0;
21 {
22 EObject _model = solution.getModel();
23 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
24 int cost = 0;
25 EList<ApplicationType> _applicationTypes = cps.getApplicationTypes();
26 for (final ApplicationType appType : _applicationTypes) {
27 int _cost = cost;
28 int _size = appType.getInstances().size();
29 int _multiply = (5 * _size);
30 cost = (_cost + _multiply);
31 }
32 EList<HostType> _hostTypes = cps.getHostTypes();
33 for (final HostType hostType : _hostTypes) {
34 int _cost_1 = cost;
35 int _cost_2 = hostType.getCost();
36 int _size_1 = hostType.getInstances().size();
37 int _multiply_1 = (_cost_2 * _size_1);
38 cost = (_cost_1 + _multiply_1);
39 }
40 _xblockexpression = cost;
41 }
42 return _xblockexpression;
43 }
44}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java
new file mode 100644
index 00000000..00d1c4e6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java
@@ -0,0 +1,45 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
4import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil;
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.ecore.EObject;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
11
12@SuppressWarnings("all")
13public class UnavailableHddConstraint implements IGuidanceFunction {
14 @Override
15 public String getName() {
16 return "UnavailableHdd";
17 }
18
19 @Override
20 public double computeFitness(final Solution solution) {
21 int _xblockexpression = (int) 0;
22 {
23 EObject _model = solution.getModel();
24 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
25 int cost = 0;
26 EList<HostType> _hostTypes = cps.getHostTypes();
27 for (final HostType hostType : _hostTypes) {
28 EList<HostInstance> _instances = hostType.getInstances();
29 for (final HostInstance host : _instances) {
30 {
31 final int utilization = ResourceUtilizationUtil.getHddUtilization(host);
32 int _defaultHdd = hostType.getDefaultHdd();
33 final int difference = (utilization - _defaultHdd);
34 if ((difference > 0)) {
35 int _cost = cost;
36 cost = (_cost + difference);
37 }
38 }
39 }
40 }
41 _xblockexpression = cost;
42 }
43 return _xblockexpression;
44 }
45}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java
new file mode 100644
index 00000000..a9be9f1f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java
@@ -0,0 +1,45 @@
1package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo;
2
3import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem;
4import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance;
5import hu.bme.mit.inf.dslreasoner.domains.cps.HostType;
6import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil;
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.ecore.EObject;
9import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction;
10import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution;
11
12@SuppressWarnings("all")
13public class UnavailableMemoryConstraint implements IGuidanceFunction {
14 @Override
15 public String getName() {
16 return "UnavailableMemory";
17 }
18
19 @Override
20 public double computeFitness(final Solution solution) {
21 int _xblockexpression = (int) 0;
22 {
23 EObject _model = solution.getModel();
24 final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model);
25 int cost = 0;
26 EList<HostType> _hostTypes = cps.getHostTypes();
27 for (final HostType hostType : _hostTypes) {
28 EList<HostInstance> _instances = hostType.getInstances();
29 for (final HostInstance host : _instances) {
30 {
31 final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host);
32 int _defaultMemory = hostType.getDefaultMemory();
33 final int difference = (utilization - _defaultMemory);
34 if ((difference > 0)) {
35 int _cost = cost;
36 cost = (_cost + difference);
37 }
38 }
39 }
40 }
41 _xblockexpression = cost;
42 }
43 return _xblockexpression;
44 }
45}