<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:with-param name="base" select="0"/>
<xsl:with-param name="exp" select="1"/>
<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:with-param name="base" select="0"/>
<xsl:with-param name="exp" select="1"/>
<m:apply helm:xref="{@id}">
<m:minus definitionURL="{*[1]/@uri}" helm:xref="{*[1]/@id}"/>
<xsl:apply-templates select="*[2]" mode="Zpositive">
<m:apply helm:xref="{@id}">
<m:minus definitionURL="{*[1]/@uri}" helm:xref="{*[1]/@id}"/>
<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:apply-templates select="." mode="Zpositive">
<xsl:with-param name="base" select="0"/>
<xsl:with-param name="exp" select="1"/>
<xsl:apply-templates select="." mode="Zpositive">
<xsl:with-param name="base" select="0"/>
<xsl:with-param name="exp" select="1"/>
<xsl:param name="iden" select="''"/>
<xsl:choose>
<xsl:when test="name()='APPLY' and *[position()=1 and name()='MUTCONSTRUCT'
<xsl:param name="iden" select="''"/>
<xsl:choose>
<xsl:when test="name()='APPLY' and *[position()=1 and name()='MUTCONSTRUCT'
<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:with-param name="base" select="$base + $exp"/>
<xsl:with-param name="exp" select="2 * $exp"/>
<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:with-param name="base" select="$base + $exp"/>
<xsl:with-param name="exp" select="2 * $exp"/>
<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:with-param name="base" select="$base"/>
<xsl:with-param name="exp" select="2 * $exp"/>
<xsl:with-param name="iden" select="$iden"/>
</xsl:apply-templates>
</xsl:when>
<xsl:apply-templates select="*[2]" mode="Zpositive">
<xsl:with-param name="base" select="$base"/>
<xsl:with-param name="exp" select="2 * $exp"/>
<xsl:with-param name="iden" select="$iden"/>
</xsl:apply-templates>
</xsl:when>