+static const node tree1(unsigned cuts=0)
+{
+ return (Gamma()
+ + child(Gamma(),
+ bool(cuts & 1)));
+}
+
+/* Gamma
+ * / | \
+ * Vacuum Gamma Vacuum
+ * / | \
+ * Sigma Sigma Sigma0
+ */
+static const node tree2(unsigned cuts=0)
+{
+ return (Gamma()
+ + child(Vacuum()
+ + child(Sigma(), bool(cuts & 1))
+ + child(Sigma(), bool(cuts & 2))
+ + child(Sigma_flipped(), bool(cuts & 4)),
+ bool(cuts & 8))
+ + child(Gamma(), bool(cuts & 16))
+ + child(Gamma(), bool(cuts & 32)));
+}
+
+/* Gamma
+ * |
+ * Gamma
+ * |
+ * Gamma
+ * / \
+ * Vacuum Gamma
+ * / \ \
+ * Sigma Sigma Sigma
+ */
+static const node tree3(unsigned cuts=0)
+{
+ return (Gamma()
+ + child(Gamma()
+ + child(Gamma()
+ + child(Gamma()
+ + child(Sigma(), bool(cuts & 1)),
+ bool(cuts & 2))
+ + child(Vacuum()
+ + child(Sigma(), bool(cuts & 4))
+ + child(Sigma(), bool(cuts & 8)),
+ bool(cuts & 16)),
+ bool(cuts & 32)),
+ bool(cuts & 64)));
+}
+
+/* Gamma
+ * / \
+ * Sigma Vacuum
+ * / \ / \
+ * Sigma Sigma Sigma0 Sigma
+ */
+static const node tree4(unsigned cuts=0)