<?xml version="1.0" standalone="no"?>
<grammar name="C++" version="4" ext="hpp" type="">
   <!--List of all the mathematical functions supported by GeneXproTools 4.0. All functions must be completely defined.-->
   <!--To generate Carriage Return Line Feeds (CrLf) use the token {CRLF} (curly braces included).-->
   <!--To generate Tabs use the token {TAB} (curly braces included).-->
   <!--Use {CHARX} as an escape for the x in the definition of the functions.-->
   <functions count="279">
      <function idx="0" symbol="+" terminals="2" uniontype="{tempvarname} {symbol}= {member}">(x0+x1)</function>
      <function idx="1" symbol="-" terminals="2" uniontype="{tempvarname} {symbol}= {member}">(x0-x1)</function>
      <function idx="2" symbol="*" terminals="2" uniontype="{tempvarname} {symbol}= {member}">(x0*x1)</function>
      <function idx="3" symbol="/" terminals="2" uniontype="{tempvarname} {symbol}= {member}">(x0/x1)</function>
      <function idx="4" symbol="Mod" terminals="2" uniontype="">fmod(x0,x1)</function>
      <function idx="5" symbol="Pow" terminals="2" uniontype="">pow(x0,x1)</function>

      <function idx="6" symbol="Sqrt" terminals="1" uniontype="">sqrt(x0)</function>
      <function idx="7" symbol="Exp" terminals="1" uniontype="">e{CHARX}p(x0)</function>
      <function idx="8" symbol="Pow10" terminals="1" uniontype="">pow(10,x0)</function>

      <function idx="9" symbol="Ln" terminals="1" uniontype="">log(x0)</function>
      <function idx="10" symbol="Log" terminals="1" uniontype="">log10(x0)</function>
      <function idx="83" symbol="Log2" terminals="2" uniontype="">(log(x0)/log(x1))</function>

      <function idx="12" symbol="Floor" terminals="1" uniontype="">floor(x0)</function>
      <function idx="13" symbol="Ceil" terminals="1" uniontype="">ceil(x0)</function>
      <function idx="14" symbol="Abs" terminals="1" uniontype="">fabs(x0)</function>
      <function idx="15" symbol="Inv" terminals="1" uniontype="">(1/(x0))</function>
      <function idx="17" symbol="Neg" terminals="1" uniontype="">(-(x0))</function>
      <function idx="16" symbol="Nop" terminals="1" uniontype="">(x0)</function>

      <function idx="76" symbol="X2" terminals="1" uniontype="">pow(x0,2)</function>
      <function idx="77" symbol="X3" terminals="1" uniontype="">pow(x0,3)</function>
      <function idx="78" symbol="X4" terminals="1" uniontype="">pow(x0,4)</function>
      <function idx="79" symbol="X5" terminals="1" uniontype="">pow(x0,5)</function>

      <function idx="80" symbol="3Rt" terminals="1" uniontype="">pow(x0,(1.0/3.0))</function>
      <function idx="81" symbol="4Rt" terminals="1" uniontype="">pow(x0,(1.0/4.0))</function>
      <function idx="82" symbol="5Rt" terminals="1" uniontype="">pow(x0,(1.0/5.0))</function>

      <function idx="84" symbol="Add3" terminals="3" uniontype="">(x0+x1+x2)</function>
      <function idx="86" symbol="Sub3" terminals="3" uniontype="">(x0-x1-x2)</function>
      <function idx="88" symbol="Mul3" terminals="3" uniontype="">(x0*x1*x2)</function>
      <function idx="90" symbol="Div3" terminals="3" uniontype="">(x0/x1/x2)</function>

      <function idx="85" symbol="Add4" terminals="4" uniontype="">(x0+x1+x2+x3)</function>
      <function idx="87" symbol="Sub4" terminals="4" uniontype="">(x0-x1-x2-x3)</function>
      <function idx="89" symbol="Mul4" terminals="4" uniontype="">(x0*x1*x2*x3)</function>
      <function idx="91" symbol="Div4" terminals="4" uniontype="">(x0/x1/x2/x3)</function>

      <function idx="92" symbol="Min2" terminals="2" uniontype="">gepMin2(x0,x1)</function>
      <function idx="93" symbol="Min3" terminals="3" uniontype="">gepMin3(x0,x1,x2)</function>
      <function idx="94" symbol="Min4" terminals="4" uniontype="">gepMin4(x0,x1,x2,x3)</function>

      <function idx="95" symbol="Max2" terminals="2" uniontype="">gepMa{CHARX}2(x0,x1)</function>
      <function idx="96" symbol="Max3" terminals="3" uniontype="">gepMa{CHARX}3(x0,x1,x2)</function>
      <function idx="97" symbol="Max4" terminals="4" uniontype="">gepMa{CHARX}4(x0,x1,x2,x3)</function>

      <function idx="98" symbol="Avg2" terminals="2" uniontype="">((x0+x1)/2)</function>
      <function idx="99" symbol="Avg3" terminals="3" uniontype="">((x0+x1+x2)/3)</function>
      <function idx="100" symbol="Avg4" terminals="4" uniontype="">((x0+x1+x2+x3)/4)</function>

      <function idx="11" symbol="Logi" terminals="1" uniontype="">gepLogi(x0)</function>
      <function idx="101" symbol="Logi2" terminals="2" uniontype="">gepLogi2(x0,x1)</function>
      <function idx="102" symbol="Logi3" terminals="3" uniontype="">gepLogi3(x0,x1,x2)</function>
      <function idx="103" symbol="Logi4" terminals="4" uniontype="">gepLogi4(x0,x1,x2,x3)</function>

      <function idx="104" symbol="Gau" terminals="1" uniontype="">gepGau(x0)</function>
      <function idx="105" symbol="Gau2" terminals="2" uniontype="">gepGau2(x0,x1)</function>
      <function idx="106" symbol="Gau3" terminals="3" uniontype="">gepGau3(x0,x1,x2)</function>
      <function idx="107" symbol="Gau4" terminals="4" uniontype="">gepGau4(x0,x1,x2,x3)</function>

      <function idx="70" symbol="Zero" terminals="1" uniontype="">(0.0)</function>
      <function idx="71" symbol="One" terminals="1" uniontype="">(1.0)</function>
      <function idx="72" symbol="Zero2" terminals="2" uniontype="">(0.0)</function>
      <function idx="73" symbol="One2" terminals="2" uniontype="">(1.0)</function>
      <function idx="74" symbol="Pi" terminals="1" uniontype="">(3.141592653589793)</function>
      <function idx="75" symbol="E" terminals="1" uniontype="">(2.718281828459045)</function>

      <function idx="18" symbol="Sin" terminals="1" uniontype="">sin(x0)</function>
      <function idx="19" symbol="Cos" terminals="1" uniontype="">cos(x0)</function>
      <function idx="20" symbol="Tan" terminals="1" uniontype="">tan(x0)</function>
      <function idx="21" symbol="Csc" terminals="1" uniontype="">(1/sin(x0))</function>
      <function idx="22" symbol="Sec" terminals="1" uniontype="">(1/cos(x0))</function>
      <function idx="23" symbol="Cot" terminals="1" uniontype="">(1/tan(x0))</function>

      <function idx="24" symbol="Asin" terminals="1" uniontype="">asin(x0)</function>
      <function idx="25" symbol="Acos" terminals="1" uniontype="">acos(x0)</function>
      <function idx="26" symbol="Atan" terminals="1" uniontype="">atan(x0)</function>
      <function idx="27" symbol="Acsc" terminals="1" uniontype="">gepAcsc(x0)</function>
      <function idx="28" symbol="Asec" terminals="1" uniontype="">gepAsec(x0)</function>
      <function idx="29" symbol="Acot" terminals="1" uniontype="">gepAcot(x0)</function>

      <function idx="30" symbol="Sinh" terminals="1" uniontype="">sinh(x0)</function>
      <function idx="31" symbol="Cosh" terminals="1" uniontype="">cosh(x0)</function>
      <function idx="32" symbol="Tanh" terminals="1" uniontype="">tanh(x0)</function>
      <function idx="33" symbol="Csch" terminals="1" uniontype="">gepCsch(x0)</function>
      <function idx="34" symbol="Sech" terminals="1" uniontype="">gepSech(x0)</function>
      <function idx="35" symbol="Coth" terminals="1" uniontype="">gepCoth(x0)</function>

      <function idx="36" symbol="Asinh" terminals="1" uniontype="">gepAsinh(x0)</function>
      <function idx="37" symbol="Acosh" terminals="1" uniontype="">gepAcosh(x0)</function>
      <function idx="38" symbol="Atanh" terminals="1" uniontype="">gepAtanh(x0)</function>
      <function idx="39" symbol="Acsch" terminals="1" uniontype="">gepAcsch(x0)</function>
      <function idx="40" symbol="Asech" terminals="1" uniontype="">gepAsech(x0)</function>
      <function idx="41" symbol="Acoth" terminals="1" uniontype="">gepAcoth(x0)</function>

      <function idx="108" symbol="NOT" terminals="1" uniontype="">(1-x0)</function>

      <function idx="42" symbol="OR1" terminals="2" uniontype="">(((x0 &lt; 0) || (x1 &lt; 0)) ? 1 : 0)</function>
      <function idx="43" symbol="OR2" terminals="2" uniontype="">(((x0 >= 0) || (x1 >= 0)) ? 1 : 0)</function>
      <function idx="109" symbol="OR3" terminals="2" uniontype="">(((x0 &lt;= 0) || (x1 &lt;= 0)) ? 1 : 0)</function>
      <function idx="110" symbol="OR4" terminals="2" uniontype="">(((x0 &lt; 1) || (x1 &lt; 1)) ? 1 : 0)</function>
      <function idx="111" symbol="OR5" terminals="2" uniontype="">(((x0 >= 1) || (x1 >= 1)) ? 1 : 0)</function>
      <function idx="112" symbol="OR6" terminals="2" uniontype="">(((x0 &lt;= 1) || (x1 &lt;= 1)) ? 1 : 0)</function>

      <function idx="44" symbol="AND1" terminals="2" uniontype="">(((x0 &lt; 0) &amp;&amp; (x1 &lt; 0)) ? 1 : 0)</function>
      <function idx="45" symbol="AND2" terminals="2" uniontype="">(((x0 >= 0) &amp;&amp; (x1 >= 0)) ? 1 : 0)</function>
      <function idx="113" symbol="AND3" terminals="2" uniontype="">(((x0 &lt;= 0) &amp;&amp; (x1 &lt;= 0)) ? 1 : 0)</function>
      <function idx="114" symbol="AND4" terminals="2" uniontype="">(((x0 &lt; 1) &amp;&amp; (x1 &lt; 1)) ? 1 : 0)</function>
      <function idx="115" symbol="AND5" terminals="2" uniontype="">(((x0 >= 1) &amp;&amp; (x1 >= 1)) ? 1 : 0)</function>
      <function idx="116" symbol="AND6" terminals="2" uniontype="">(((x0 &lt;= 1) &amp;&amp; (x1 &lt;= 1)) ? 1 : 0)</function>

      <function idx="46" symbol="LT2A" terminals="2" uniontype="">(x0 &lt; x1 ? x0 : x1)</function>
      <function idx="47" symbol="GT2A" terminals="2" uniontype="">(x0 > x1 ? x0 : x1)</function>
      <function idx="48" symbol="LOE2A" terminals="2" uniontype="">(x0 &lt;= x1 ? x0 : x1)</function>
      <function idx="49" symbol="GOE2A" terminals="2" uniontype="">(x0 >= x1 ? x0 : x1)</function>
      <function idx="50" symbol="ET2A" terminals="2" uniontype="">(x0 == x1 ? x0 : x1)</function>
      <function idx="51" symbol="NET2A" terminals="2" uniontype="">(x0 != x1 ? x0 : x1)</function>

      <function idx="52" symbol="LT2B" terminals="2" uniontype="">(x0 &lt; x1 ? 1 : 0)</function>
      <function idx="53" symbol="GT2B" terminals="2" uniontype="">(x0 > x1 ? 1 : 0)</function>
      <function idx="54" symbol="LOE2B" terminals="2" uniontype="">(x0 &lt;= x1 ? 1 : 0)</function>
      <function idx="55" symbol="GOE2B" terminals="2" uniontype="">(x0 >= x1 ? 1 : 0)</function>
      <function idx="56" symbol="ET2B" terminals="2" uniontype="">(x0 == x1 ? 1 : 0)</function>
      <function idx="57" symbol="NET2B" terminals="2" uniontype="">(x0 != x1 ? 1 : 0)</function>

      <function idx="117" symbol="LT2C" terminals="2" uniontype="">(x0 &lt; x1 ? (x0+x1) : (x0-x1))</function>
      <function idx="118" symbol="GT2C" terminals="2" uniontype="">(x0 > x1 ? (x0+x1) : (x0-x1))</function>
      <function idx="119" symbol="LOE2C" terminals="2" uniontype="">(x0 &lt;= x1 ? (x0+x1) : (x0-x1))</function>
      <function idx="120" symbol="GOE2C" terminals="2" uniontype="">(x0 >= x1 ? (x0+x1) : (x0-x1))</function>
      <function idx="121" symbol="ET2C" terminals="2" uniontype="">(x0 == x1 ? (x0+x1) : (x0-x1))</function>
      <function idx="122" symbol="NET2C" terminals="2" uniontype="">(x0 != x1 ? (x0+x1) : (x0-x1))</function>

      <function idx="123" symbol="LT2D" terminals="2" uniontype="">(x0 &lt; x1 ? (x0*x1) : (x0/x1))</function>
      <function idx="124" symbol="GT2D" terminals="2" uniontype="">(x0 > x1 ? (x0*x1) : (x0/x1))</function>
      <function idx="125" symbol="LOE2D" terminals="2" uniontype="">(x0 &lt;= x1 ? (x0*x1) : (x0/x1))</function>
      <function idx="126" symbol="GOE2D" terminals="2" uniontype="">(x0 >= x1 ? (x0*x1) : (x0/x1))</function>
      <function idx="127" symbol="ET2D" terminals="2" uniontype="">(x0 == x1 ? (x0*x1) : (x0/x1))</function>
      <function idx="128" symbol="NET2D" terminals="2" uniontype="">(x0 != x1 ? (x0*x1) : (x0/x1))</function>

      <function idx="129" symbol="LT2E" terminals="2" uniontype="">(x0 &lt; x1 ? (x0+x1) : (x0*x1))</function>
      <function idx="130" symbol="GT2E" terminals="2" uniontype="">(x0 > x1 ? (x0+x1) : (x0*x1))</function>
      <function idx="131" symbol="LOE2E" terminals="2" uniontype="">(x0 &lt;= x1 ? (x0+x1) : (x0*x1))</function>
      <function idx="132" symbol="GOE2E" terminals="2" uniontype="">(x0 >= x1 ? (x0+x1) : (x0*x1))</function>
      <function idx="133" symbol="ET2E" terminals="2" uniontype="">(x0 == x1 ? (x0+x1) : (x0*x1))</function>
      <function idx="134" symbol="NET2E" terminals="2" uniontype="">(x0 != x1 ? (x0+x1) : (x0*x1))</function>

      <function idx="135" symbol="LT2F" terminals="2" uniontype="">(x0 &lt; x1 ? (x0+x1) : sin(x0*x1))</function>
      <function idx="136" symbol="GT2F" terminals="2" uniontype="">(x0 > x1 ? (x0+x1) : sin(x0*x1))</function>
      <function idx="137" symbol="LOE2F" terminals="2" uniontype="">(x0 &lt;= x1 ? (x0+x1) : sin(x0*x1))</function>
      <function idx="138" symbol="GOE2F" terminals="2" uniontype="">(x0 >= x1 ? (x0+x1) : sin(x0*x1))</function>
      <function idx="139" symbol="ET2F" terminals="2" uniontype="">(x0 == x1 ? (x0+x1) : sin(x0*x1))</function>
      <function idx="140" symbol="NET2F" terminals="2" uniontype="">(x0 != x1 ? (x0+x1) : sin(x0*x1))</function>

      <function idx="141" symbol="LT2G" terminals="2" uniontype="">(x0 &lt; x1 ? (x0+x1) : atan(x0*x1))</function>
      <function idx="142" symbol="GT2G" terminals="2" uniontype="">(x0 > x1 ? (x0+x1) : atan(x0*x1))</function>
      <function idx="143" symbol="LOE2G" terminals="2" uniontype="">(x0 &lt;= x1 ? (x0+x1) : atan(x0*x1))</function>
      <function idx="144" symbol="GOE2G" terminals="2" uniontype="">(x0 >= x1 ? (x0+x1) : atan(x0*x1))</function>
      <function idx="145" symbol="ET2G" terminals="2" uniontype="">(x0 == x1 ? (x0+x1) : atan(x0*x1))</function>
      <function idx="146" symbol="NET2G" terminals="2" uniontype="">(x0 != x1 ? (x0+x1) : atan(x0*x1))</function>

      <function idx="58" symbol="LT3A" terminals="3" uniontype="">(x0 &lt; 0 ? x1 : x2)</function>
      <function idx="59" symbol="GT3A" terminals="3" uniontype="">(x0 > 0 ? x1 : x2)</function>
      <function idx="60" symbol="LOE3A" terminals="3" uniontype="">(x0 &lt;= 0 ? x1 : x2)</function>
      <function idx="61" symbol="GOE3A" terminals="3" uniontype="">(x0 >= 0 ? x1 : x2)</function>
      <function idx="62" symbol="ET3A" terminals="3" uniontype="">(x0 == 0 ? x1 : x2)</function>
      <function idx="63" symbol="NET3A" terminals="3" uniontype="">(x0 != 0 ? x1 : x2)</function>

      <function idx="147" symbol="LT3B" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1) : x2)</function>
      <function idx="148" symbol="GT3B" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1) : x2)</function>
      <function idx="149" symbol="LOE3B" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1) : x2)</function>
      <function idx="150" symbol="GOE3B" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1) : x2)</function>
      <function idx="151" symbol="ET3B" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1) : x2)</function>
      <function idx="152" symbol="NET3B" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1) : x2)</function>

      <function idx="153" symbol="LT3C" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1) : (x0+x2))</function>
      <function idx="154" symbol="GT3C" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1) : (x0+x2))</function>
      <function idx="155" symbol="LOE3C" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1) : (x0+x2))</function>
      <function idx="156" symbol="GOE3C" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1) : (x0+x2))</function>
      <function idx="157" symbol="ET3C" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1) : (x0+x2))</function>
      <function idx="158" symbol="NET3C" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1) : (x0+x2))</function>

      <function idx="159" symbol="LT3D" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1) : (x0-x2))</function>
      <function idx="160" symbol="GT3D" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1) : (x0-x2))</function>
      <function idx="161" symbol="LOE3D" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1) : (x0-x2))</function>
      <function idx="162" symbol="GOE3D" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1) : (x0-x2))</function>
      <function idx="163" symbol="ET3D" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1) : (x0-x2))</function>
      <function idx="164" symbol="NET3D" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1) : (x0-x2))</function>

      <function idx="165" symbol="LT3E" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1) : (x0*x2))</function>
      <function idx="166" symbol="GT3E" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1) : (x0*x2))</function>
      <function idx="167" symbol="LOE3E" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1) : (x0*x2))</function>
      <function idx="168" symbol="GOE3E" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1) : (x0*x2))</function>
      <function idx="169" symbol="ET3E" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1) : (x0*x2))</function>
      <function idx="170" symbol="NET3E" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1) : (x0*x2))</function>

      <function idx="171" symbol="LT3F" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1) : (x0/x2))</function>
      <function idx="172" symbol="GT3F" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1) : (x0/x2))</function>
      <function idx="173" symbol="LOE3F" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1) : (x0/x2))</function>
      <function idx="174" symbol="GOE3F" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1) : (x0/x2))</function>
      <function idx="175" symbol="ET3F" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1) : (x0/x2))</function>
      <function idx="176" symbol="NET3F" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1) : (x0/x2))</function>

      <function idx="177" symbol="LT3G" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0*x1) : (x0+x2))</function>
      <function idx="178" symbol="GT3G" terminals="3" uniontype="">((x0+x1) > x2 ? (x0*x1) : (x0+x2))</function>
      <function idx="179" symbol="LOE3G" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0*x1) : (x0+x2))</function>
      <function idx="180" symbol="GOE3G" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0*x1) : (x0+x2))</function>
      <function idx="181" symbol="ET3G" terminals="3" uniontype="">((x0+x1) == x2 ? (x0*x1) : (x0+x2))</function>
      <function idx="182" symbol="NET3G" terminals="3" uniontype="">((x0+x1) != x2 ? (x0*x1) : (x0+x2))</function>

      <function idx="183" symbol="LT3H" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0*x1) : (x0-x2))</function>
      <function idx="184" symbol="GT3H" terminals="3" uniontype="">((x0+x1) > x2 ? (x0*x1) : (x0-x2))</function>
      <function idx="185" symbol="LOE3H" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0*x1) : (x0-x2))</function>
      <function idx="186" symbol="GOE3H" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0*x1) : (x0-x2))</function>
      <function idx="187" symbol="ET3H" terminals="3" uniontype="">((x0+x1) == x2 ? (x0*x1) : (x0-x2))</function>
      <function idx="188" symbol="NET3H" terminals="3" uniontype="">((x0+x1) != x2 ? (x0*x1) : (x0-x2))</function>

      <function idx="189" symbol="LT3I" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0*x1) : (x0*x2))</function>
      <function idx="190" symbol="GT3I" terminals="3" uniontype="">((x0+x1) > x2 ? (x0*x1) : (x0*x2))</function>
      <function idx="191" symbol="LOE3I" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0*x1) : (x0*x2))</function>
      <function idx="192" symbol="GOE3I" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0*x1) : (x0*x2))</function>
      <function idx="193" symbol="ET3I" terminals="3" uniontype="">((x0+x1) == x2 ? (x0*x1) : (x0*x2))</function>
      <function idx="194" symbol="NET3I" terminals="3" uniontype="">((x0+x1) != x2 ? (x0*x1) : (x0*x2))</function>

      <function idx="195" symbol="LT3J" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0*x1) : (x0/x2))</function>
      <function idx="196" symbol="GT3J" terminals="3" uniontype="">((x0+x1) > x2 ? (x0*x1) : (x0/x2))</function>
      <function idx="197" symbol="LOE3J" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0*x1) : (x0/x2))</function>
      <function idx="198" symbol="GOE3J" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0*x1) : (x0/x2))</function>
      <function idx="199" symbol="ET3J" terminals="3" uniontype="">((x0+x1) == x2 ? (x0*x1) : (x0/x2))</function>
      <function idx="200" symbol="NET3J" terminals="3" uniontype="">((x0+x1) != x2 ? (x0*x1) : (x0/x2))</function>

      <function idx="201" symbol="LT3K" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1+x2) : sin(x0*x1*x2))</function>
      <function idx="202" symbol="GT3K" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1+x2) : sin(x0*x1*x2))</function>
      <function idx="203" symbol="LOE3K" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1+x2) : sin(x0*x1*x2))</function>
      <function idx="204" symbol="GOE3K" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1+x2) : sin(x0*x1*x2))</function>
      <function idx="205" symbol="ET3K" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1+x2) : sin(x0*x1*x2))</function>
      <function idx="206" symbol="NET3K" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1+x2) : sin(x0*x1*x2))</function>

      <function idx="207" symbol="LT3L" terminals="3" uniontype="">((x0+x1) &lt; x2 ? (x0+x1+x2) : atan(x0*x1*x2))</function>
      <function idx="208" symbol="GT3L" terminals="3" uniontype="">((x0+x1) > x2 ? (x0+x1+x2) : atan(x0*x1*x2))</function>
      <function idx="209" symbol="LOE3L" terminals="3" uniontype="">((x0+x1) &lt;= x2 ? (x0+x1+x2) : atan(x0*x1*x2))</function>
      <function idx="210" symbol="GOE3L" terminals="3" uniontype="">((x0+x1) >= x2 ? (x0+x1+x2) : atan(x0*x1*x2))</function>
      <function idx="211" symbol="ET3L" terminals="3" uniontype="">((x0+x1) == x2 ? (x0+x1+x2) : atan(x0*x1*x2))</function>
      <function idx="212" symbol="NET3L" terminals="3" uniontype="">((x0+x1) != x2 ? (x0+x1+x2) : atan(x0*x1*x2))</function>

      <function idx="64" symbol="LT4A" terminals="4" uniontype="">(x0 &lt; x1 ? x2 : x3)</function>
      <function idx="65" symbol="GT4A" terminals="4" uniontype="">(x0 > x1 ? x2 : x3)</function>
      <function idx="66" symbol="LOE4A" terminals="4" uniontype="">(x0 &lt;= x1 ? x2 : x3)</function>
      <function idx="67" symbol="GOE4A" terminals="4" uniontype="">(x0 >= x1 ? x2 : x3)</function>
      <function idx="68" symbol="ET4A" terminals="4" uniontype="">(x0 == x1 ? x2 : x3)</function>
      <function idx="69" symbol="NET4A" terminals="4" uniontype="">(x0 != x1 ? x2 : x3)</function>

      <function idx="213" symbol="LT4B" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? x2 : x3)</function>
      <function idx="214" symbol="GT4B" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? x2 : x3)</function>
      <function idx="215" symbol="LOE4B" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? x2 : x3)</function>
      <function idx="216" symbol="GOE4B" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? x2 : x3)</function>
      <function idx="217" symbol="ET4B" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? x2 : x3)</function>
      <function idx="218" symbol="NET4B" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? x2 : x3)</function>

      <function idx="219" symbol="LT4C" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0+x1) : (x2+x3))</function>
      <function idx="220" symbol="GT4C" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0+x1) : (x2+x3))</function>
      <function idx="221" symbol="LOE4C" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0+x1) : (x2+x3))</function>
      <function idx="222" symbol="GOE4C" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0+x1) : (x2+x3))</function>
      <function idx="223" symbol="ET4C" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0+x1) : (x2+x3))</function>
      <function idx="224" symbol="NET4C" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0+x1) : (x2+x3))</function>

      <function idx="225" symbol="LT4D" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0+x1) : (x2-x3))</function>
      <function idx="226" symbol="GT4D" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0+x1) : (x2-x3))</function>
      <function idx="227" symbol="LOE4D" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0+x1) : (x2-x3))</function>
      <function idx="228" symbol="GOE4D" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0+x1) : (x2-x3))</function>
      <function idx="229" symbol="ET4D" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0+x1) : (x2-x3))</function>
      <function idx="230" symbol="NET4D" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0+x1) : (x2-x3))</function>

      <function idx="231" symbol="LT4E" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0+x1) : (x2*x3))</function>
      <function idx="232" symbol="GT4E" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0+x1) : (x2*x3))</function>
      <function idx="233" symbol="LOE4E" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0+x1) : (x2*x3))</function>
      <function idx="234" symbol="GOE4E" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0+x1) : (x2*x3))</function>
      <function idx="235" symbol="ET4E" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0+x1) : (x2*x3))</function>
      <function idx="236" symbol="NET4E" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0+x1) : (x2*x3))</function>

      <function idx="237" symbol="LT4F" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0+x1) : (x2/x3))</function>
      <function idx="238" symbol="GT4F" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0+x1) : (x2/x3))</function>
      <function idx="239" symbol="LOE4F" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0+x1) : (x2/x3))</function>
      <function idx="240" symbol="GOE4F" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0+x1) : (x2/x3))</function>
      <function idx="241" symbol="ET4F" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0+x1) : (x2/x3))</function>
      <function idx="242" symbol="NET4F" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0+x1) : (x2/x3))</function>

      <function idx="243" symbol="LT4G" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0*x1) : (x2+x3))</function>
      <function idx="244" symbol="GT4G" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0*x1) : (x2+x3))</function>
      <function idx="245" symbol="LOE4G" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0*x1) : (x2+x3))</function>
      <function idx="246" symbol="GOE4G" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0*x1) : (x2+x3))</function>
      <function idx="247" symbol="ET4G" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0*x1) : (x2+x3))</function>
      <function idx="248" symbol="NET4G" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0*x1) : (x2+x3))</function>

      <function idx="249" symbol="LT4H" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0*x1) : (x2-x3))</function>
      <function idx="250" symbol="GT4H" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0*x1) : (x2-x3))</function>
      <function idx="251" symbol="LOE4H" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0*x1) : (x2-x3))</function>
      <function idx="252" symbol="GOE4H" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0*x1) : (x2-x3))</function>
      <function idx="253" symbol="ET4H" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0*x1) : (x2-x3))</function>
      <function idx="254" symbol="NET4H" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0*x1) : (x2-x3))</function>

      <function idx="255" symbol="LT4I" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0*x1) : (x2*x3))</function>
      <function idx="256" symbol="GT4I" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0*x1) : (x2*x3))</function>
      <function idx="257" symbol="LOE4I" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0*x1) : (x2*x3))</function>
      <function idx="258" symbol="GOE4I" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0*x1) : (x2*x3))</function>
      <function idx="259" symbol="ET4I" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0*x1) : (x2*x3))</function>
      <function idx="260" symbol="NET4I" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0*x1) : (x2*x3))</function>

      <function idx="261" symbol="LT4J" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? (x0*x1) : (x2/x3))</function>
      <function idx="262" symbol="GT4J" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? (x0*x1) : (x2/x3))</function>
      <function idx="263" symbol="LOE4J" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? (x0*x1) : (x2/x3))</function>
      <function idx="264" symbol="GOE4J" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? (x0*x1) : (x2/x3))</function>
      <function idx="265" symbol="ET4J" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? (x0*x1) : (x2/x3))</function>
      <function idx="266" symbol="NET4J" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? (x0*x1) : (x2/x3))</function>

      <function idx="267" symbol="LT4K" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? sin(x0*x1) : sin(x2*x3))</function>
      <function idx="268" symbol="GT4K" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? sin(x0*x1) : sin(x2*x3))</function>
      <function idx="269" symbol="LOE4K" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? sin(x0*x1) : sin(x2*x3))</function>
      <function idx="270" symbol="GOE4K" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? sin(x0*x1) : sin(x2*x3))</function>
      <function idx="271" symbol="ET4K" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? sin(x0*x1) : sin(x2*x3))</function>
      <function idx="272" symbol="NET4K" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? sin(x0*x1) : sin(x2*x3))</function>

      <function idx="273" symbol="LT4L" terminals="4" uniontype="">((x0+x1) &lt; (x2+x3) ? atan(x0*x1) : atan(x2*x3))</function>
      <function idx="274" symbol="GT4L" terminals="4" uniontype="">((x0+x1) > (x2+x3) ? atan(x0*x1) : atan(x2*x3))</function>
      <function idx="275" symbol="LOE4L" terminals="4" uniontype="">((x0+x1) &lt;= (x2+x3) ? atan(x0*x1) : atan(x2*x3))</function>
      <function idx="276" symbol="GOE4L" terminals="4" uniontype="">((x0+x1) >= (x2+x3) ? atan(x0*x1) : atan(x2*x3))</function>
      <function idx="277" symbol="ET4L" terminals="4" uniontype="">((x0+x1) == (x2+x3) ? atan(x0*x1) : atan(x2*x3))</function>
      <function idx="278" symbol="NET4L" terminals="4" uniontype="">((x0+x1) != (x2+x3) ? atan(x0*x1) : atan(x2*x3))</function>
   </functions>
   
   <!-- Code Structure -->
    <order>
        <item name="Open"></item>
        <item name="Subheader"></item>
        <item name="Prototypes"></item>
        <item name="Header"></item>
        <item name="RandomConstants"></item>
        <item name="Constants"></item>
        <item name="TemporaryVariable"></item>
        <item name="Body"></item>
        <item name="Footer"></item>
        <item name="Helpers"></item>
        <item name="DDF"></item>
        <item name="UDF"></item>
        <item name="Close"></item>
    </order>
    
   <!-- Opening and Closing Statements -->
   <open>#include &lt;math.h></open>
   <close></close>
   
   <!-- The default header is applied to all non specified cases. -->
   <headers>
      <header type="default" replace="no">{CRLF}{CRLF}double gepModel(double d[]){CRLF}{</header>
      <header type="CL" replace="yes">{CRLF}{CRLF}int gepModel(double d[]){CRLF}{{CRLF}{TAB}const double ROUNDING_THRESHOLD = {set_ff#Threshold};{CRLF}</header>
   </headers>
   
   <subheaders>
      <subheader type="default" replace="yes">{CRLF}double gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
      <subheader type="CL" replace="yes">{CRLF}int gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
   </subheaders>

   <randomconstants>
       <randomconst type="default" replace="no">{TAB}const double {labelname} = {labelindex};{CRLF}</randomconst>
   </randomconstants>

   <!-- Label constants -->
   <constants>
      <constant type="default" replace="no" labelindex="0">{TAB}const int {labelname} = {labelindex};{CRLF}</constant>
   </constants>
    
   <!-- The default temporary variable name is applied to all non specified cases. -->
   <tempvars>
      <tempvar type="default" typename="double" varname="dblTemp">double dblTemp = 0.0;</tempvar>
   </tempvars>
   <endline>;{CRLF}</endline>
   <!-- Number of TABs to add to each line in the code block -->
   <indent>1</indent>
   <!-- parenstype can be either 0->() or 1->[]. Defines the parentheses used in arrays-->
   <parenstype>1</parenstype>
   <footers>
      <footer type="default" replace="no">return {tempvarname};{CRLF}}</footer>
      <footer type="CL" replace="no">return ({tempvarname} >= ROUNDING_THRESHOLD ? 1 : 0);{CRLF}}</footer>
   </footers>
   <helpers count="26">
      <helper replaces="Logi" prototype="double gepLogi(double x);">double gepLogi(double x){CRLF}{{CRLF}{TAB}return 1/(1+exp(-x));{CRLF}}{CRLF}</helper>
      <helper replaces="Logi2" prototype="double gepLogi2(double x, double y);">double gepLogi2(double x, double y){CRLF}{{CRLF}{TAB}return 1/(1+exp(-(x+y)));{CRLF}}{CRLF}</helper>
      <helper replaces="Logi3" prototype="double gepLogi3(double x, double y, double z);">double gepLogi3(double x, double y, double z){CRLF}{{CRLF}{TAB}return 1/(1+exp(-(x+y+z)));{CRLF}}{CRLF}</helper>
      <helper replaces="Logi4" prototype="double gepLogi4(double a, double b, double c, double d);">double gepLogi4(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}return 1/(1+exp(-(a+b+c+d)));{CRLF}}{CRLF}</helper>

      <helper replaces="Gau" prototype="double gepGau(double x);">double gepGau(double x){CRLF}{{CRLF}{TAB}return exp(-pow(x,2));{CRLF}}{CRLF}</helper>
      <helper replaces="Gau2" prototype="double gepGau2(double x, double y);">double gepGau2(double x, double y){CRLF}{{CRLF}{TAB}return exp(-pow((x+y),2));{CRLF}}{CRLF}</helper>
      <helper replaces="Gau3" prototype="double gepGau3(double x, double y, double z);">double gepGau3(double x, double y, double z){CRLF}{{CRLF}{TAB}return exp(-pow((x+y+z),2));{CRLF}}{CRLF}</helper>
      <helper replaces="Gau4" prototype="double gepGau4(double a, double b, double c, double d);">double gepGau4(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}return exp(-pow((a+b+c+d),2));{CRLF}}{CRLF}</helper>

      <helper replaces="Acsc" prototype="double gepAcsc(double x);">double gepAcsc(double x){CRLF}{{CRLF}{TAB}double varSign = 0;{CRLF}{TAB}if (x &lt; 0) {CRLF}{TAB}{TAB}varSign = -1;{CRLF}{TAB}else{CRLF}{TAB}{{CRLF}{TAB}{TAB}if (x > 0){CRLF}{TAB}{TAB}{TAB}varSign = 1;{CRLF}{TAB}{TAB}else{CRLF}{TAB}{TAB}{TAB}varSign = 0;{CRLF}{TAB}}{CRLF}{TAB}return atan(varSign/sqrt(x*x-1));{CRLF}}{CRLF}</helper>
      <helper replaces="Asec" prototype="double gepAsec(double x);">double gepAsec(double x){CRLF}{{CRLF}{TAB}double varSign = 0;{CRLF}{TAB}if (x &lt; 0){CRLF}{TAB}{TAB}varSign = -1;{CRLF}{TAB}else{CRLF}{TAB}{{CRLF}{TAB}{TAB}if (x > 0){CRLF}{TAB}{TAB}{TAB}varSign = 1;{CRLF}{TAB}{TAB}else{CRLF}{TAB}{TAB}{TAB}varSign = 0;{CRLF}{TAB}}{CRLF}{CRLF}{TAB}if (fabs(x) == 1){CRLF}{TAB}{{CRLF}{TAB}{TAB}if (x == -1){CRLF}{TAB}{TAB}{TAB}return 4*atan(1);{CRLF}{TAB}{TAB}else{CRLF}{TAB}{TAB}{TAB}return 0;{CRLF}{TAB}}{CRLF}{TAB}else{CRLF}{TAB}{{CRLF}{TAB}{TAB}return 2*atan(1)-atan(varSign/sqrt(x*x-1));{CRLF}{TAB}}{CRLF}}{CRLF}</helper>
      <helper replaces="Acot" prototype="double gepAcot(double x);">double gepAcot(double x){CRLF}{{CRLF}{TAB}return atan(1/x);{CRLF}}{CRLF}</helper>

      <helper replaces="Csch" prototype="double gepCsch(double x);">double gepCsch(double x){CRLF}{{CRLF}{TAB}return 2/(exp(x)-exp(-x));{CRLF}}{CRLF}</helper>
      <helper replaces="Sech" prototype="double gepSech(double x);">double gepSech(double x){CRLF}{{CRLF}{TAB}return 2/(exp(x)+exp(-x));{CRLF}}{CRLF}</helper>
      <helper replaces="Coth" prototype="double gepCoth(double x);">double gepCoth(double x){CRLF}{{CRLF}{TAB}return (exp(x)+exp(-x))/(exp(x)-exp(-x));{CRLF}}{CRLF}</helper>

      <helper replaces="Asinh" prototype="double gepAsinh(double x);">double gepAsinh(double x){CRLF}{{CRLF}{TAB}return log(x+sqrt(x*x+1));{CRLF}}{CRLF}</helper>
      <helper replaces="Acosh" prototype="double gepAcosh(double x);">double gepAcosh(double x){CRLF}{{CRLF}{TAB}return log(x+sqrt(x*x-1));{CRLF}}{CRLF}</helper>
      <helper replaces="Atanh" prototype="double gepAtanh(double x);">double gepAtanh(double x){CRLF}{{CRLF}{TAB}return log((1+x)/(1-x))/2;{CRLF}}{CRLF}</helper>
      <helper replaces="Acsch" prototype="double gepAcsch(double x);">double gepAcsch(double x){CRLF}{{CRLF}{TAB}double varSign = 0;{CRLF}{TAB}if (x &lt; 0) {CRLF}{TAB}{TAB}varSign = -1;{CRLF}{TAB}else{CRLF}{TAB}{{CRLF}{TAB}{TAB}if (x > 0){CRLF}{TAB}{TAB}{TAB}varSign = 1;{CRLF}{TAB}{TAB}else{CRLF}{TAB}{TAB}{TAB}varSign = 0;{CRLF}{TAB}}{CRLF}{TAB}return log((varSign*sqrt(x*x+1)+1)/x);{CRLF}}{CRLF}</helper>
      <helper replaces="Asech" prototype="double gepAsech(double x);">double gepAsech(double x){CRLF}{{CRLF}{TAB}return log((sqrt(-x*x+1)+1)/x);{CRLF}}{CRLF}</helper>
      <helper replaces="Acoth" prototype="double gepAcoth(double x);">double gepAcoth(double x){CRLF}{{CRLF}{TAB}return log((x+1)/(x-1))/2;{CRLF}}{CRLF}</helper>

      <helper replaces="Min2" prototype="double gepMin2(double x, double y);">double gepMin2(double x, double y){CRLF}{{CRLF}{TAB}double varTemp = x;{CRLF}{TAB}if (varTemp > y){CRLF}{TAB}{TAB}varTemp = y;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</helper>
      <helper replaces="Min3" prototype="double gepMin3(double x, double y, double z);">double gepMin3(double x, double y, double z){CRLF}{{CRLF}{TAB}double varTemp = x;{CRLF}{TAB}if (varTemp > y){CRLF}{TAB}{TAB}varTemp = y;{CRLF}{TAB}if (varTemp > z){CRLF}{TAB}{TAB}varTemp = z;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</helper>
      <helper replaces="Min4" prototype="double gepMin4(double a, double b, double c, double d);">double gepMin4(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}double varTemp = a;{CRLF}{TAB}if (varTemp > b){CRLF}{TAB}{TAB}varTemp = b;{CRLF}{TAB}if (varTemp > c){CRLF}{TAB}{TAB}varTemp = c;{CRLF}{TAB}if (varTemp > d){CRLF}{TAB}{TAB}varTemp = d;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</helper>

      <helper replaces="Max2" prototype="double gepMax2(double x, double y);">double gepMax2(double x, double y){CRLF}{{CRLF}{TAB}double varTemp = x;{CRLF}{TAB}if (varTemp &lt; y){CRLF}{TAB}{TAB}varTemp = y;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</helper>
      <helper replaces="Max3" prototype="double gepMax3(double x, double y, double z);">double gepMax3(double x, double y, double z){CRLF}{{CRLF}{TAB}double varTemp = x;{CRLF}{TAB}if (varTemp &lt; y){CRLF}{TAB}{TAB}varTemp = y;{CRLF}{TAB}if (varTemp &lt; z){CRLF}{TAB}{TAB}varTemp = z;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</helper>
      <helper replaces="Max4" prototype="double gepMax4(double a, double b, double c, double d);">double gepMax4(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}double varTemp = a;{CRLF}{TAB}if (varTemp &lt; b){CRLF}{TAB}{TAB}varTemp = b;{CRLF}{TAB}if (varTemp &lt; c){CRLF}{TAB}{TAB}varTemp = c;{CRLF}{TAB}if (varTemp &lt; d){CRLF}{TAB}{TAB}varTemp = d;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</helper>
   </helpers>

   <keywords>
      <keyword>double</keyword>
      <keyword>int</keyword>
      <keyword>if</keyword>
      <keyword>else</keyword>
      <keyword>const</keyword>
      <keyword>return</keyword>
      <keyword>#include</keyword>
   </keywords>
   <commentmark>//</commentmark>
   <ddfcomment>// Add a DDF with the name {FUNCTION_SYMBOL} in {LANGUAGE}{CRLF}// and a parameter list equivalent to {PARAMETER_LIST}{CRLF}</ddfcomment>
   <udfcomment>// Add a UDF with the name {FUNCTION_SYMBOL} in {LANGUAGE}{CRLF}</udfcomment>
</grammar>
