<?xml version="1.0" standalone="no"?>
<!DOCTYPE grammar SYSTEM "grammar.dtd"[]>
<grammar name="C++" version="5" ext="hpp" type="">
  <!--List of all the mathematical functions supported by GeneXproTools 5.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="">gepMod(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="">gepLog2(x0,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="">gep3Rt(x0)</function>
    <function idx="81" symbol="4Rt" terminals="1" uniontype="">pow(x0,(1.0/4.0))</function>
    <function idx="82" symbol="5Rt" terminals="1" uniontype="">gep5Rt(x0)</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="{tempvarname} = gepMin2({tempvarname},{member})">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="{tempvarname} = gepMa{CHARX}2({tempvarname},{member})">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="{tempvarname} = ({tempvarname} + {member}) / 2.0">((x0+x1)/2.0)</function>
    <function idx="99" symbol="Avg3" terminals="3" uniontype="">((x0+x1+x2)/3.0)</function>
    <function idx="100" symbol="Avg4" terminals="4" uniontype="">((x0+x1+x2+x3)/4.0)</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="">(1/sinh(x0))</function>
    <function idx="34" symbol="Sech" terminals="1" uniontype="">(1/cosh(x0))</function>
    <function idx="35" symbol="Coth" terminals="1" uniontype="">(1/tanh(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="">gepOR1(x0,x1)</function>
    <function idx="43" symbol="OR2" terminals="2" uniontype="">gepOR2(x0,x1)</function>
    <function idx="109" symbol="OR3" terminals="2" uniontype="">gepOR3(x0,x1)</function>
    <function idx="110" symbol="OR4" terminals="2" uniontype="">gepOR4(x0,x1)</function>
    <function idx="111" symbol="OR5" terminals="2" uniontype="">gepOR5(x0,x1)</function>
    <function idx="112" symbol="OR6" terminals="2" uniontype="">gepOR6(x0,x1)</function>
    <function idx="44" symbol="AND1" terminals="2" uniontype="">gepAND1(x0,x1)</function>
    <function idx="45" symbol="AND2" terminals="2" uniontype="">gepAND2(x0,x1)</function>
    <function idx="113" symbol="AND3" terminals="2" uniontype="">gepAND3(x0,x1)</function>
    <function idx="114" symbol="AND4" terminals="2" uniontype="">gepAND4(x0,x1)</function>
    <function idx="115" symbol="AND5" terminals="2" uniontype="">gepAND5(x0,x1)</function>
    <function idx="116" symbol="AND6" terminals="2" uniontype="">gepAND6(x0,x1)</function>
    <function idx="46" symbol="LT2A" terminals="2" uniontype="">gepLT2A(x0,x1)</function>
    <function idx="47" symbol="GT2A" terminals="2" uniontype="">gepGT2A(x0,x1)</function>
    <function idx="48" symbol="LOE2A" terminals="2" uniontype="">gepLOE2A(x0,x1)</function>
    <function idx="49" symbol="GOE2A" terminals="2" uniontype="">gepGOE2A(x0,x1)</function>
    <function idx="50" symbol="ET2A" terminals="2" uniontype="">gepET2A(x0,x1)</function>
    <function idx="51" symbol="NET2A" terminals="2" uniontype="">gepNET2A(x0,x1)</function>
    <function idx="52" symbol="LT2B" terminals="2" uniontype="">gepLT2B(x0,x1)</function>
    <function idx="53" symbol="GT2B" terminals="2" uniontype="">gepGT2B(x0,x1)</function>
    <function idx="54" symbol="LOE2B" terminals="2" uniontype="">gepLOE2B(x0,x1)</function>
    <function idx="55" symbol="GOE2B" terminals="2" uniontype="">gepGOE2B(x0,x1)</function>
    <function idx="56" symbol="ET2B" terminals="2" uniontype="">gepET2B(x0,x1)</function>
    <function idx="57" symbol="NET2B" terminals="2" uniontype="">gepNET2B(x0,x1)</function>
    <function idx="117" symbol="LT2C" terminals="2" uniontype="">gepLT2C(x0,x1)</function>
    <function idx="118" symbol="GT2C" terminals="2" uniontype="">gepGT2C(x0,x1)</function>
    <function idx="119" symbol="LOE2C" terminals="2" uniontype="">gepLOE2C(x0,x1)</function>
    <function idx="120" symbol="GOE2C" terminals="2" uniontype="">gepGOE2C(x0,x1)</function>
    <function idx="121" symbol="ET2C" terminals="2" uniontype="">gepET2C(x0,x1)</function>
    <function idx="122" symbol="NET2C" terminals="2" uniontype="">gepNET2C(x0,x1)</function>
    <function idx="123" symbol="LT2D" terminals="2" uniontype="">gepLT2D(x0,x1)</function>
    <function idx="124" symbol="GT2D" terminals="2" uniontype="">gepGT2D(x0,x1)</function>
    <function idx="125" symbol="LOE2D" terminals="2" uniontype="">gepLOE2D(x0,x1)</function>
    <function idx="126" symbol="GOE2D" terminals="2" uniontype="">gepGOE2D(x0,x1)</function>
    <function idx="127" symbol="ET2D" terminals="2" uniontype="">gepET2D(x0,x1)</function>
    <function idx="128" symbol="NET2D" terminals="2" uniontype="">gepNET2D(x0,x1)</function>
    <function idx="129" symbol="LT2E" terminals="2" uniontype="">gepLT2E(x0,x1)</function>
    <function idx="130" symbol="GT2E" terminals="2" uniontype="">gepGT2E(x0,x1)</function>
    <function idx="131" symbol="LOE2E" terminals="2" uniontype="">gepLOE2E(x0,x1)</function>
    <function idx="132" symbol="GOE2E" terminals="2" uniontype="">gepGOE2E(x0,x1)</function>
    <function idx="133" symbol="ET2E" terminals="2" uniontype="">gepET2E(x0,x1)</function>
    <function idx="134" symbol="NET2E" terminals="2" uniontype="">gepNET2E(x0,x1)</function>
    <function idx="135" symbol="LT2F" terminals="2" uniontype="">gepLT2F(x0,x1)</function>
    <function idx="136" symbol="GT2F" terminals="2" uniontype="">gepGT2F(x0,x1)</function>
    <function idx="137" symbol="LOE2F" terminals="2" uniontype="">gepLOE2F(x0,x1)</function>
    <function idx="138" symbol="GOE2F" terminals="2" uniontype="">gepGOE2F(x0,x1)</function>
    <function idx="139" symbol="ET2F" terminals="2" uniontype="">gepET2F(x0,x1)</function>
    <function idx="140" symbol="NET2F" terminals="2" uniontype="">gepNET2F(x0,x1)</function>
    <function idx="141" symbol="LT2G" terminals="2" uniontype="">gepLT2G(x0,x1)</function>
    <function idx="142" symbol="GT2G" terminals="2" uniontype="">gepGT2G(x0,x1)</function>
    <function idx="143" symbol="LOE2G" terminals="2" uniontype="">gepLOE2G(x0,x1)</function>
    <function idx="144" symbol="GOE2G" terminals="2" uniontype="">gepGOE2G(x0,x1)</function>
    <function idx="145" symbol="ET2G" terminals="2" uniontype="">gepET2G(x0,x1)</function>
    <function idx="146" symbol="NET2G" terminals="2" uniontype="">gepNET2G(x0,x1)</function>
    <function idx="58" symbol="LT3A" terminals="3" uniontype="">gepLT3A(x0,x1,x2)</function>
    <function idx="59" symbol="GT3A" terminals="3" uniontype="">gepGT3A(x0,x1,x2)</function>
    <function idx="60" symbol="LOE3A" terminals="3" uniontype="">gepLOE3A(x0,x1,x2)</function>
    <function idx="61" symbol="GOE3A" terminals="3" uniontype="">gepGOE3A(x0,x1,x2)</function>
    <function idx="62" symbol="ET3A" terminals="3" uniontype="">gepET3A(x0,x1,x2)</function>
    <function idx="63" symbol="NET3A" terminals="3" uniontype="">gepNET3A(x0,x1,x2)</function>
    <function idx="147" symbol="LT3B" terminals="3" uniontype="">gepLT3B(x0,x1,x2)</function>
    <function idx="148" symbol="GT3B" terminals="3" uniontype="">gepGT3B(x0,x1,x2)</function>
    <function idx="149" symbol="LOE3B" terminals="3" uniontype="">gepLOE3B(x0,x1,x2)</function>
    <function idx="150" symbol="GOE3B" terminals="3" uniontype="">gepGOE3B(x0,x1,x2)</function>
    <function idx="151" symbol="ET3B" terminals="3" uniontype="">gepET3B(x0,x1,x2)</function>
    <function idx="152" symbol="NET3B" terminals="3" uniontype="">gepNET3B(x0,x1,x2)</function>
    <function idx="153" symbol="LT3C" terminals="3" uniontype="">gepLT3C(x0,x1,x2)</function>
    <function idx="154" symbol="GT3C" terminals="3" uniontype="">gepGT3C(x0,x1,x2)</function>
    <function idx="155" symbol="LOE3C" terminals="3" uniontype="">gepLOE3C(x0,x1,x2)</function>
    <function idx="156" symbol="GOE3C" terminals="3" uniontype="">gepGOE3C(x0,x1,x2)</function>
    <function idx="157" symbol="ET3C" terminals="3" uniontype="">gepET3C(x0,x1,x2)</function>
    <function idx="158" symbol="NET3C" terminals="3" uniontype="">gepNET3C(x0,x1,x2)</function>
    <function idx="159" symbol="LT3D" terminals="3" uniontype="">gepLT3D(x0,x1,x2)</function>
    <function idx="160" symbol="GT3D" terminals="3" uniontype="">gepGT3D(x0,x1,x2)</function>
    <function idx="161" symbol="LOE3D" terminals="3" uniontype="">gepLOE3D(x0,x1,x2)</function>
    <function idx="162" symbol="GOE3D" terminals="3" uniontype="">gepGOE3D(x0,x1,x2)</function>
    <function idx="163" symbol="ET3D" terminals="3" uniontype="">gepET3D(x0,x1,x2)</function>
    <function idx="164" symbol="NET3D" terminals="3" uniontype="">gepNET3D(x0,x1,x2)</function>
    <function idx="165" symbol="LT3E" terminals="3" uniontype="">gepLT3E(x0,x1,x2)</function>
    <function idx="166" symbol="GT3E" terminals="3" uniontype="">gepGT3E(x0,x1,x2)</function>
    <function idx="167" symbol="LOE3E" terminals="3" uniontype="">gepLOE3E(x0,x1,x2)</function>
    <function idx="168" symbol="GOE3E" terminals="3" uniontype="">gepGOE3E(x0,x1,x2)</function>
    <function idx="169" symbol="ET3E" terminals="3" uniontype="">gepET3E(x0,x1,x2)</function>
    <function idx="170" symbol="NET3E" terminals="3" uniontype="">gepNET3E(x0,x1,x2)</function>
    <function idx="171" symbol="LT3F" terminals="3" uniontype="">gepLT3F(x0,x1,x2)</function>
    <function idx="172" symbol="GT3F" terminals="3" uniontype="">gepGT3F(x0,x1,x2)</function>
    <function idx="173" symbol="LOE3F" terminals="3" uniontype="">gepLOE3F(x0,x1,x2)</function>
    <function idx="174" symbol="GOE3F" terminals="3" uniontype="">gepGOE3F(x0,x1,x2)</function>
    <function idx="175" symbol="ET3F" terminals="3" uniontype="">gepET3F(x0,x1,x2)</function>
    <function idx="176" symbol="NET3F" terminals="3" uniontype="">gepNET3F(x0,x1,x2)</function>
    <function idx="177" symbol="LT3G" terminals="3" uniontype="">gepLT3G(x0,x1,x2)</function>
    <function idx="178" symbol="GT3G" terminals="3" uniontype="">gepGT3G(x0,x1,x2)</function>
    <function idx="179" symbol="LOE3G" terminals="3" uniontype="">gepLOE3G(x0,x1,x2)</function>
    <function idx="180" symbol="GOE3G" terminals="3" uniontype="">gepGOE3G(x0,x1,x2)</function>
    <function idx="181" symbol="ET3G" terminals="3" uniontype="">gepET3G(x0,x1,x2)</function>
    <function idx="182" symbol="NET3G" terminals="3" uniontype="">gepNET3G(x0,x1,x2)</function>
    <function idx="183" symbol="LT3H" terminals="3" uniontype="">gepLT3H(x0,x1,x2)</function>
    <function idx="184" symbol="GT3H" terminals="3" uniontype="">gepGT3H(x0,x1,x2)</function>
    <function idx="185" symbol="LOE3H" terminals="3" uniontype="">gepLOE3H(x0,x1,x2)</function>
    <function idx="186" symbol="GOE3H" terminals="3" uniontype="">gepGOE3H(x0,x1,x2)</function>
    <function idx="187" symbol="ET3H" terminals="3" uniontype="">gepET3H(x0,x1,x2)</function>
    <function idx="188" symbol="NET3H" terminals="3" uniontype="">gepNET3H(x0,x1,x2)</function>
    <function idx="189" symbol="LT3I" terminals="3" uniontype="">gepLT3I(x0,x1,x2)</function>
    <function idx="190" symbol="GT3I" terminals="3" uniontype="">gepGT3I(x0,x1,x2)</function>
    <function idx="191" symbol="LOE3I" terminals="3" uniontype="">gepLOE3I(x0,x1,x2)</function>
    <function idx="192" symbol="GOE3I" terminals="3" uniontype="">gepGOE3I(x0,x1,x2)</function>
    <function idx="193" symbol="ET3I" terminals="3" uniontype="">gepET3I(x0,x1,x2)</function>
    <function idx="194" symbol="NET3I" terminals="3" uniontype="">gepNET3I(x0,x1,x2)</function>
    <function idx="195" symbol="LT3J" terminals="3" uniontype="">gepLT3J(x0,x1,x2)</function>
    <function idx="196" symbol="GT3J" terminals="3" uniontype="">gepGT3J(x0,x1,x2)</function>
    <function idx="197" symbol="LOE3J" terminals="3" uniontype="">gepLOE3J(x0,x1,x2)</function>
    <function idx="198" symbol="GOE3J" terminals="3" uniontype="">gepGOE3J(x0,x1,x2)</function>
    <function idx="199" symbol="ET3J" terminals="3" uniontype="">gepET3J(x0,x1,x2)</function>
    <function idx="200" symbol="NET3J" terminals="3" uniontype="">gepNET3J(x0,x1,x2)</function>
    <function idx="201" symbol="LT3K" terminals="3" uniontype="">gepLT3K(x0,x1,x2)</function>
    <function idx="202" symbol="GT3K" terminals="3" uniontype="">gepGT3K(x0,x1,x2)</function>
    <function idx="203" symbol="LOE3K" terminals="3" uniontype="">gepLOE3K(x0,x1,x2)</function>
    <function idx="204" symbol="GOE3K" terminals="3" uniontype="">gepGOE3K(x0,x1,x2)</function>
    <function idx="205" symbol="ET3K" terminals="3" uniontype="">gepET3K(x0,x1,x2)</function>
    <function idx="206" symbol="NET3K" terminals="3" uniontype="">gepNET3K(x0,x1,x2)</function>
    <function idx="207" symbol="LT3L" terminals="3" uniontype="">gepLT3L(x0,x1,x2)</function>
    <function idx="208" symbol="GT3L" terminals="3" uniontype="">gepGT3L(x0,x1,x2)</function>
    <function idx="209" symbol="LOE3L" terminals="3" uniontype="">gepLOE3L(x0,x1,x2)</function>
    <function idx="210" symbol="GOE3L" terminals="3" uniontype="">gepGOE3L(x0,x1,x2)</function>
    <function idx="211" symbol="ET3L" terminals="3" uniontype="">gepET3L(x0,x1,x2)</function>
    <function idx="212" symbol="NET3L" terminals="3" uniontype="">gepNET3L(x0,x1,x2)</function>
    <function idx="64" symbol="LT4A" terminals="4" uniontype="">gepLT4A(x0,x1,x2,x3)</function>
    <function idx="65" symbol="GT4A" terminals="4" uniontype="">gepGT4A(x0,x1,x2,x3)</function>
    <function idx="66" symbol="LOE4A" terminals="4" uniontype="">gepLOE4A(x0,x1,x2,x3)</function>
    <function idx="67" symbol="GOE4A" terminals="4" uniontype="">gepGOE4A(x0,x1,x2,x3)</function>
    <function idx="68" symbol="ET4A" terminals="4" uniontype="">gepET4A(x0,x1,x2,x3)</function>
    <function idx="69" symbol="NET4A" terminals="4" uniontype="">gepNET4A(x0,x1,x2,x3)</function>
    <function idx="213" symbol="LT4B" terminals="4" uniontype="">gepLT4B(x0,x1,x2,x3)</function>
    <function idx="214" symbol="GT4B" terminals="4" uniontype="">gepGT4B(x0,x1,x2,x3)</function>
    <function idx="215" symbol="LOE4B" terminals="4" uniontype="">gepLOE4B(x0,x1,x2,x3)</function>
    <function idx="216" symbol="GOE4B" terminals="4" uniontype="">gepGOE4B(x0,x1,x2,x3)</function>
    <function idx="217" symbol="ET4B" terminals="4" uniontype="">gepET4B(x0,x1,x2,x3)</function>
    <function idx="218" symbol="NET4B" terminals="4" uniontype="">gepNET4B(x0,x1,x2,x3)</function>
    <function idx="219" symbol="LT4C" terminals="4" uniontype="">gepLT4C(x0,x1,x2,x3)</function>
    <function idx="220" symbol="GT4C" terminals="4" uniontype="">gepGT4C(x0,x1,x2,x3)</function>
    <function idx="221" symbol="LOE4C" terminals="4" uniontype="">gepLOE4C(x0,x1,x2,x3)</function>
    <function idx="222" symbol="GOE4C" terminals="4" uniontype="">gepGOE4C(x0,x1,x2,x3)</function>
    <function idx="223" symbol="ET4C" terminals="4" uniontype="">gepET4C(x0,x1,x2,x3)</function>
    <function idx="224" symbol="NET4C" terminals="4" uniontype="">gepNET4C(x0,x1,x2,x3)</function>
    <function idx="225" symbol="LT4D" terminals="4" uniontype="">gepLT4D(x0,x1,x2,x3)</function>
    <function idx="226" symbol="GT4D" terminals="4" uniontype="">gepGT4D(x0,x1,x2,x3)</function>
    <function idx="227" symbol="LOE4D" terminals="4" uniontype="">gepLOE4D(x0,x1,x2,x3)</function>
    <function idx="228" symbol="GOE4D" terminals="4" uniontype="">gepGOE4D(x0,x1,x2,x3)</function>
    <function idx="229" symbol="ET4D" terminals="4" uniontype="">gepET4D(x0,x1,x2,x3)</function>
    <function idx="230" symbol="NET4D" terminals="4" uniontype="">gepNET4D(x0,x1,x2,x3)</function>
    <function idx="231" symbol="LT4E" terminals="4" uniontype="">gepLT4E(x0,x1,x2,x3)</function>
    <function idx="232" symbol="GT4E" terminals="4" uniontype="">gepGT4E(x0,x1,x2,x3)</function>
    <function idx="233" symbol="LOE4E" terminals="4" uniontype="">gepLOE4E(x0,x1,x2,x3)</function>
    <function idx="234" symbol="GOE4E" terminals="4" uniontype="">gepGOE4E(x0,x1,x2,x3)</function>
    <function idx="235" symbol="ET4E" terminals="4" uniontype="">gepET4E(x0,x1,x2,x3)</function>
    <function idx="236" symbol="NET4E" terminals="4" uniontype="">gepNET4E(x0,x1,x2,x3)</function>
    <function idx="237" symbol="LT4F" terminals="4" uniontype="">gepLT4F(x0,x1,x2,x3)</function>
    <function idx="238" symbol="GT4F" terminals="4" uniontype="">gepGT4F(x0,x1,x2,x3)</function>
    <function idx="239" symbol="LOE4F" terminals="4" uniontype="">gepLOE4F(x0,x1,x2,x3)</function>
    <function idx="240" symbol="GOE4F" terminals="4" uniontype="">gepGOE4F(x0,x1,x2,x3)</function>
    <function idx="241" symbol="ET4F" terminals="4" uniontype="">gepET4F(x0,x1,x2,x3)</function>
    <function idx="242" symbol="NET4F" terminals="4" uniontype="">gepNET4F(x0,x1,x2,x3)</function>
    <function idx="243" symbol="LT4G" terminals="4" uniontype="">gepLT4G(x0,x1,x2,x3)</function>
    <function idx="244" symbol="GT4G" terminals="4" uniontype="">gepGT4G(x0,x1,x2,x3)</function>
    <function idx="245" symbol="LOE4G" terminals="4" uniontype="">gepLOE4G(x0,x1,x2,x3)</function>
    <function idx="246" symbol="GOE4G" terminals="4" uniontype="">gepGOE4G(x0,x1,x2,x3)</function>
    <function idx="247" symbol="ET4G" terminals="4" uniontype="">gepET4G(x0,x1,x2,x3)</function>
    <function idx="248" symbol="NET4G" terminals="4" uniontype="">gepNET4G(x0,x1,x2,x3)</function>
    <function idx="249" symbol="LT4H" terminals="4" uniontype="">gepLT4H(x0,x1,x2,x3)</function>
    <function idx="250" symbol="GT4H" terminals="4" uniontype="">gepGT4H(x0,x1,x2,x3)</function>
    <function idx="251" symbol="LOE4H" terminals="4" uniontype="">gepLOE4H(x0,x1,x2,x3)</function>
    <function idx="252" symbol="GOE4H" terminals="4" uniontype="">gepGOE4H(x0,x1,x2,x3)</function>
    <function idx="253" symbol="ET4H" terminals="4" uniontype="">gepET4H(x0,x1,x2,x3)</function>
    <function idx="254" symbol="NET4H" terminals="4" uniontype="">gepNET4H(x0,x1,x2,x3)</function>
    <function idx="255" symbol="LT4I" terminals="4" uniontype="">gepLT4I(x0,x1,x2,x3)</function>
    <function idx="256" symbol="GT4I" terminals="4" uniontype="">gepGT4I(x0,x1,x2,x3)</function>
    <function idx="257" symbol="LOE4I" terminals="4" uniontype="">gepLOE4I(x0,x1,x2,x3)</function>
    <function idx="258" symbol="GOE4I" terminals="4" uniontype="">gepGOE4I(x0,x1,x2,x3)</function>
    <function idx="259" symbol="ET4I" terminals="4" uniontype="">gepET4I(x0,x1,x2,x3)</function>
    <function idx="260" symbol="NET4I" terminals="4" uniontype="">gepNET4I(x0,x1,x2,x3)</function>
    <function idx="261" symbol="LT4J" terminals="4" uniontype="">gepLT4J(x0,x1,x2,x3)</function>
    <function idx="262" symbol="GT4J" terminals="4" uniontype="">gepGT4J(x0,x1,x2,x3)</function>
    <function idx="263" symbol="LOE4J" terminals="4" uniontype="">gepLOE4J(x0,x1,x2,x3)</function>
    <function idx="264" symbol="GOE4J" terminals="4" uniontype="">gepGOE4J(x0,x1,x2,x3)</function>
    <function idx="265" symbol="ET4J" terminals="4" uniontype="">gepET4J(x0,x1,x2,x3)</function>
    <function idx="266" symbol="NET4J" terminals="4" uniontype="">gepNET4J(x0,x1,x2,x3)</function>
    <function idx="267" symbol="LT4K" terminals="4" uniontype="">gepLT4K(x0,x1,x2,x3)</function>
    <function idx="268" symbol="GT4K" terminals="4" uniontype="">gepGT4K(x0,x1,x2,x3)</function>
    <function idx="269" symbol="LOE4K" terminals="4" uniontype="">gepLOE4K(x0,x1,x2,x3)</function>
    <function idx="270" symbol="GOE4K" terminals="4" uniontype="">gepGOE4K(x0,x1,x2,x3)</function>
    <function idx="271" symbol="ET4K" terminals="4" uniontype="">gepET4K(x0,x1,x2,x3)</function>
    <function idx="272" symbol="NET4K" terminals="4" uniontype="">gepNET4K(x0,x1,x2,x3)</function>
    <function idx="273" symbol="LT4L" terminals="4" uniontype="">gepLT4L(x0,x1,x2,x3)</function>
    <function idx="274" symbol="GT4L" terminals="4" uniontype="">gepGT4L(x0,x1,x2,x3)</function>
    <function idx="275" symbol="LOE4L" terminals="4" uniontype="">gepLOE4L(x0,x1,x2,x3)</function>
    <function idx="276" symbol="GOE4L" terminals="4" uniontype="">gepGOE4L(x0,x1,x2,x3)</function>
    <function idx="277" symbol="ET4L" terminals="4" uniontype="">gepET4L(x0,x1,x2,x3)</function>
    <function idx="278" symbol="NET4L" terminals="4" uniontype="">gepNET4L(x0,x1,x2,x3)</function>
  </functions>
  <!-- Code Structure -->
  <order>
    <item name="ModelComments" />
    <item name="Open" />
    <item name="HelpersDeclaration" />
    <item name="Subheader" />
    <item name="Prototypes" />
    <item name="Header" />
    <item name="RandomConstants" />
    <item name="Constants" />
    <item name="CallTransform" />
    <item name="DataTransformationCall" />
    <item name="HelpersAssignment" />
    <item name="TemporaryVariable" />
    <item name="Body" />
    <item name="DataReverseTransformationCall" />
    <item name="Footer" />
    <item name="Helpers" />
    <item name="LinkingHelpers"/>
    <item name="DDF" />
    <item name="UDF" />
    <item name="TransformHelper" />
    <item name="DataTransformationHelper" />
    <item name="DataReverseTransformationHelper" />
    <item name="Close" />
  </order>
  <!-- Opening and Closing Statements -->
  <open>
  </open>
  <close> </close>
  <!-- The default header is applied to all non specified cases. {SUPPRESS_CRLF}-->
  <headers>
    <header type="default" replace="no">{CRLF}{CRLF}double gepModel(double d[]){CRLF}{</header>
    <header type="CL_ProbabilityOne" replace="yes">{CRLF}{CRLF}double gepModel(double d[]){CRLF}{{CRLF}{TAB}const double MODEL_AVERAGE = {MODEL_AVERAGE};{CRLF}{TAB}const double MODEL_STDEV = {MODEL_STDEV};{CRLF}{TAB}const double ROUNDING_THRESHOLD = ({set_ff#Threshold} - MODEL_AVERAGE) / MODEL_STDEV;{CRLF}</header>
    <header type="CL_MostLikelyClass" replace="yes">{CRLF}{CRLF}int gepModel(double d[]){CRLF}{{CRLF}{TAB}const double ROUNDING_THRESHOLD = {set_ff#Threshold};{CRLF}</header>
    <header type="LR_MostLikelyClass" replace="yes">{CRLF}{CRLF}int gepModel(double d[]){CRLF}{{CRLF}{TAB}const double ROUNDING_THRESHOLD = {set_ff#Threshold};{CRLF}</header>
    <header type="nominal" replace="no">{CRLF}{CRLF}double gepModel(char* d_string[]){CRLF}{</header>
    <header type="CL_nominal_RawOutput" replace="yes">{CRLF}{CRLF}double gepModel(char* d_string[]){CRLF}{</header>
    <header type="CL_nominal_ProbabilityOne" replace="yes">{CRLF}{CRLF}double gepModel(char* d_string[]){CRLF}{{CRLF}{TAB}const double MODEL_AVERAGE = {MODEL_AVERAGE};{CRLF}{TAB}const double MODEL_STDEV = {MODEL_STDEV};{CRLF}{TAB}const double ROUNDING_THRESHOLD = ({set_ff#Threshold} - MODEL_AVERAGE) / MODEL_STDEV;{CRLF}</header>
    <header type="CL_nominal_MostLikelyClass" replace="yes">{CRLF}{CRLF}int gepModel(char* d_string[]){CRLF}{{CRLF}{TAB}const double ROUNDING_THRESHOLD = {set_ff#Threshold};{CRLF}</header>
    <header type="LR_nominal_RawOutput" replace="yes">{CRLF}{CRLF}double gepModel(char* d_string[]){CRLF}{</header>
    <header type="LR_nominal_ProbabilityOne" replace="yes">{CRLF}{CRLF}double gepModel(char* d_string[]){CRLF}{</header>
    <header type="LR_nominal_MostLikelyClass" replace="yes">{CRLF}{CRLF}int gepModel(char* d_string[]){CRLF}{{CRLF}{TAB}const double ROUNDING_THRESHOLD = {set_ff#Threshold};{CRLF}</header>
  </headers>
  <subheaders>
    <subheader type="default" replace="yes">#include "math.h"{CRLF}{CRLF}double gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="CL_ProbabilityOne" replace="yes">#include "math.h"{CRLF}{CRLF}double gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="CL_MostLikelyClass" replace="yes">#include "math.h"{CRLF}{CRLF}int gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="LR_MostLikelyClass" replace="yes">#include "math.h"{CRLF}{CRLF}int gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="nominal" replace="yes">#include "math.h"{CRLF}#include "string.h"{CRLF}{CRLF}double gepModel(char* d_string[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="CL_nominal_RawOutput" replace="yes">#include "math.h"{CRLF}#include "string.h"{CRLF}{CRLF}double gepModel(char* d_string[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="CL_nominal_ProbabilityOne" replace="yes">#include "math.h"{CRLF}#include "string.h"{CRLF}{CRLF}double gepModel(char* d_string[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="CL_nominal_MostLikelyClass" replace="yes">#include "math.h"{CRLF}{CRLF}int gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="LR_nominal_RawOutput" replace="yes">#include "math.h"{CRLF}#include "string.h"{CRLF}{CRLF}double gepModel(char* d_string[]);{SUPPRESS_CRLF}</subheader>
    <subheader type="LR_nominal_MostLikelyClass" replace="yes">#include "math.h"{CRLF}{CRLF}int gepModel(double d[]);{SUPPRESS_CRLF}</subheader>
  </subheaders>
  <randomconstants>
    <randomconst type="default" replace="no">{TAB}const double {labelname} = {labelindex};{CRLF}</randomconst>
  </randomconstants>
  <categories>
    <functioncall call="{TAB}double d[{VARIABLE_COUNT}];{CRLF}{TAB}TransformCategoricalInputs(d_string, d);{CRLF}" />
    <transformfunction header="{CRLF}void TransformCategoricalInputs(char* input[], double output[]){CRLF}{{CRLF}" footer="{CRLF}}" prototype="void TransformCategoricalInputs(char* input[], double output[]);" />
    <switch special="ADD_1_TAB_TO_METHOD_BODY" top="" bottom="" categoricaldefault="output[{index}] = 0.0;{CRLF}{CRLF}" numericaldefault="output[{index}] = atof(input[{index}]);{CRLF}{CRLF}" />
    <case format="if(strcmp(&quot;{nominal}&quot;, input[{index}]) == 0){CRLF}{TAB}output[{index}] = {numerical};{CRLF}else{SPACE}" />
    <equality format="{CRLF}output[{index}] = atof(input[{index}]);{CRLF}{CRLF}" />
  </categories>
  <transformations>
    <transformation name="standardization" call="{TAB}Standardize(d);{CRLF}" itemformat="{TAB}const double AVERAGE_{index} = {AVERAGE};{CRLF}{TAB}const double STDEV_{index} = {STDEV};{CRLF}{TAB}input[{index}] = (input[{index}] - AVERAGE_{index}) / STDEV_{index};{CRLF}{CRLF}" prototype="void Standardize(double input[]);" declarations="">{CRLF}void Standardize(double input[]){CRLF}{{CRLF}{BODY}{CRLF}}{CRLF}</transformation>
    <transformation name="normalization" call="{TAB}Normalize_01(d);{CRLF}" itemformat="{TAB}const double MIN_{index} = {MIN};{CRLF}{TAB}const double MAX_{index} = {MAX};{CRLF}{TAB}input[{index}] = (input[{index}] - MIN_{index}) / (MAX_{index} - MIN_{index});{CRLF}{CRLF}" prototype="void Normalize_01(double input[]);" declarations="">{CRLF}void Normalize_01(double input[]){CRLF}{{CRLF}{BODY}{CRLF}}{CRLF}</transformation>
    <transformation name="minMaxNormalization" call="{TAB}MinMaxNormalize(d);{CRLF}" itemformat="{TAB}const double MIN_{index} = {MIN};{CRLF}{TAB}const double MAX_{index} = {MAX};{CRLF}{TAB}input[{index}] = (input[{index}] - MIN_{index}) / (MAX_{index} - MIN_{index}) * (NEW_MAX - NEW_MIN) + NEW_MIN;{CRLF}{CRLF}" prototype="void MinMaxNormalize(double input[]);" declarations="">{CRLF}void MinMaxNormalize(double input[]){CRLF}{{CRLF}{TAB}const double NEW_MIN = {NEW_MIN};{CRLF}{TAB}const double NEW_MAX = {NEW_MAX};{CRLF}{CRLF}{BODY}{CRLF}}{CRLF}</transformation>
  </transformations>
  <reversetransformations>
    <transformation name="standardization" call="{TAB}{tempvarname} = Reverse_Standardization({tempvarname});{CRLF}" itemformat="{TAB}{TAB}// Model standardization{CRLF}{TAB}const double MODEL_AVERAGE = {MODEL_AVERAGE};{CRLF}{TAB}const double MODEL_STDEV = {MODEL_STDEV};{CRLF}{TAB}modelOutput = (modelOutput - MODEL_AVERAGE) / MODEL_STDEV;{CRLF}{CRLF}{TAB}{TAB}// Reverse standardization{TAB}{TAB}{CRLF}{TAB}const double TARGET_AVERAGE = {TARGET_AVERAGE};{CRLF}{TAB}const double TARGET_STDEV = {TARGET_STDEV};{CRLF}{CRLF}{TAB}return modelOutput * TARGET_STDEV + TARGET_AVERAGE;" prototype="double Reverse_Standardization(double modelOutput);">{CRLF}double Reverse_Standardization(double modelOutput){CRLF}{{CRLF}{BODY}{CRLF}}{CRLF}</transformation>
    <transformation name="normalization" call="{TAB}{tempvarname} = Reverse_Normalization_01({tempvarname});{CRLF}" itemformat="{TAB}{TAB}// Model normalization{CRLF}{TAB}const double MODEL_MIN = {MODEL_MIN};{CRLF}{TAB}const double MODEL_MAX = {MODEL_MAX};{CRLF}{TAB}modelOutput = (modelOutput - MODEL_MIN)/(MODEL_MAX - MODEL_MIN);{CRLF}{CRLF}{TAB}{TAB}// Reverse normalization{CRLF}{TAB}const double TARGET_MIN = {TARGET_MIN};{CRLF}{TAB}const double TARGET_MAX = {TARGET_MAX};{CRLF}{CRLF}{TAB}return modelOutput * (TARGET_MAX - TARGET_MIN) + TARGET_MIN;" prototype="double Reverse_Normalization_01(double modelOutput);">{CRLF}double Reverse_Normalization_01(double modelOutput){CRLF}{{CRLF}{BODY}{CRLF}}{CRLF}</transformation>
    <transformation name="minMaxNormalization" call="{TAB}{tempvarname} = Reverse_MinMaxNormalization({tempvarname});{CRLF}" itemformat="{TAB}const double TARGET_MIN = {TARGET_MIN};{CRLF}{TAB}const double TARGET_MAX = {TARGET_MAX};{CRLF}{CRLF}{TAB}{TAB}// Model normalization{CRLF}{TAB}const double MODEL_MIN = {MODEL_MIN};{CRLF}{TAB}const double MODEL_MAX = {MODEL_MAX};{CRLF}{TAB}modelOutput = ((modelOutput - MODEL_MIN)/(MODEL_MAX - MODEL_MIN)) * (NEW_MAX - NEW_MIN) + NEW_MIN;{CRLF}{CRLF}{TAB}{TAB}// Reverse normalization{CRLF}{TAB}return ((modelOutput - NEW_MIN) / (NEW_MAX - NEW_MIN)) * (TARGET_MAX - TARGET_MIN) + TARGET_MIN;" prototype="double Reverse_MinMaxNormalization(double modelOutput);">{CRLF}double Reverse_MinMaxNormalization(double modelOutput){CRLF}{{CRLF}{TAB}const double NEW_MIN = {NEW_MIN};{CRLF}{TAB}const double NEW_MAX = {NEW_MAX};{CRLF}{CRLF}{BODY}{CRLF}}{CRLF}</transformation>
  </reversetransformations>
  <!-- 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_RawOutput" replace="no">return {tempvarname};{CRLF}}</footer>
    <footer type="CL_ProbabilityOne" replace="no">// Model standardization and shift{CRLF}{TAB}{tempvarname} = ({tempvarname} - MODEL_AVERAGE) / MODEL_STDEV - ROUNDING_THRESHOLD;{CRLF}{CRLF}{TAB}// Probability[1] evaluation{CRLF}{TAB}{tempvarname} = 1.0 / (1.0 + exp(-{tempvarname}));{CRLF}{CRLF}{TAB}return {tempvarname};{CRLF}}</footer>
    <footer type="CL_MostLikelyClass" replace="no">return ({tempvarname} &gt;= ROUNDING_THRESHOLD ? 1 : 0);{CRLF}}</footer>
    <footer type="LR_RawOutput" replace="no">return {tempvarname};{CRLF}}</footer>
    <footer type="LR_ProbabilityOne" replace="no">const double SLOPE = {SLOPE};{CRLF}{TAB}const double INTERCEPT = {INTERCEPT};{CRLF}{CRLF}{TAB}double probabilityOne = 1.0 / (1.0 + exp(-(SLOPE * {tempvarname} + INTERCEPT)));{CRLF}{TAB}return probabilityOne;{CRLF}}</footer>
    <footer type="LR_MostLikelyClass" replace="no">return ({tempvarname} &gt;= ROUNDING_THRESHOLD ? 1 : 0);{CRLF}}</footer>
  </footers>
  <helpers count="27" declaration="" assignment="">
    <helper replaces="3Rt" prototype="double gep3Rt(double x);">double gep3Rt(double x){CRLF}{{CRLF}{TAB}return x &lt; 0.0 ? -pow(-x,(1.0/3.0)) : pow(x,(1.0/3.0));{CRLF}}{CRLF}</helper>
    <helper replaces="5Rt" prototype="double gep5Rt(double x);">double gep5Rt(double x){CRLF}{{CRLF}{TAB}return x &lt; 0.0 ? -pow(-x,(1.0/5.0)) : pow(x,(1.0/5.0));{CRLF}}{CRLF}</helper>
    <helper replaces="Log2" prototype="double gepLog2(double x, double y);">double gepLog2(double x, double y){CRLF}{{CRLF}{TAB}if (y == 0.0){CRLF}{TAB}{TAB}return 0.0;{CRLF}{TAB}return log(x)/log(y);{CRLF}}{CRLF}</helper>
    <helper replaces="Mod" prototype="double gepMod(double x, double y);">double gepMod(double x, double y){CRLF}{{CRLF}{TAB}{TAB}// The built-in function is incorrect for cases such as -1.0 and 0.2.{CRLF}{TAB}return ((x/y) - (int)(x/y))*y;{CRLF}}{CRLF}</helper>
    <helper replaces="Logi" prototype="double gepLogi(double x);">double gepLogi(double x){CRLF}{{CRLF}{TAB}if (fabs(x) &gt; 709){CRLF}{TAB}{TAB}return 1 / (1 + exp(fabs(x) / x * 709));{CRLF}{TAB}else{CRLF}{TAB}{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}if (fabs(x+y) &gt; 709){CRLF}{TAB}{TAB}return 1 / (1 + exp(fabs(x+y) / (x+y) * 709));{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 1 / (1 + exp(-(x+y)));{TAB}{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}if (fabs(x+y+z) &gt; 709){CRLF}{TAB}{TAB}return 1 / (1 + exp(fabs(x+y+z) / (x+y+z) * 709));{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 1 / (1 + exp(-(x+y+z)));{TAB}{TAB}{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}if (fabs(a+b+c+d) &gt; 709){CRLF}{TAB}{TAB}return 1 / (1 + exp(fabs(a+b+c+d) / (a+b+c+d) * 709));{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 1 / (1 + exp(-(a+b+c+d)));{TAB}{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 &gt; 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 &gt; 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.0);{CRLF}{TAB}{TAB}else{CRLF}{TAB}{TAB}{TAB}return 0;{CRLF}{TAB}}{CRLF}{TAB}else{CRLF}{TAB}{{CRLF}{TAB}{TAB}return 2*atan(1.0)-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="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 &gt; 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 &gt; 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 &gt; y){CRLF}{TAB}{TAB}varTemp = y;{CRLF}{TAB}if (varTemp &gt; 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 &gt; b){CRLF}{TAB}{TAB}varTemp = b;{CRLF}{TAB}if (varTemp &gt; c){CRLF}{TAB}{TAB}varTemp = c;{CRLF}{TAB}if (varTemp &gt; 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>

    <helper replaces="OR1" prototype="double gepOR1(double x, double y);">double gepOR1(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt; 0.0) || (y &lt; 0.0))  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="OR2" prototype="double gepOR2(double x, double y);">double gepOR2(double x, double y){CRLF}{{CRLF}{TAB}if ((x >= 0.0) || (y >= 0.0))  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="OR3" prototype="double gepOR3(double x, double y);">double gepOR3(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt;= 0.0) || (y &lt;= 0.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="OR4" prototype="double gepOR4(double x, double y);">double gepOR4(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt; 1.0) || (y &lt; 1.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="OR5" prototype="double gepOR5(double x, double y);">double gepOR5(double x, double y){CRLF}{{CRLF}{TAB}if ((x >= 1.0) || (y >= 1.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="OR6" prototype="double gepOR6(double x, double y);">double gepOR6(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt;= 1.0) || (y &lt;= 1.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>

    <helper replaces="AND1" prototype="double gepAND1(double x, double y);">double gepAND1(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt; 0.0) &amp;&amp; (y &lt; 0.0))  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="AND2" prototype="double gepAND2(double x, double y);">double gepAND2(double x, double y){CRLF}{{CRLF}{TAB}if ((x >= 0.0) &amp;&amp; (y >= 0.0))  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="AND3" prototype="double gepAND3(double x, double y);">double gepAND3(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt;= 0.0) &amp;&amp; (y &lt;= 0.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="AND4" prototype="double gepAND4(double x, double y);">double gepAND4(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt; 1.0) &amp;&amp; (y &lt; 1.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="AND5" prototype="double gepAND5(double x, double y);">double gepAND5(double x, double y){CRLF}{{CRLF}{TAB}if ((x >= 1.0) &amp;&amp; (y >= 1.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="AND6" prototype="double gepAND6(double x, double y);">double gepAND6(double x, double y){CRLF}{{CRLF}{TAB}if ((x &lt;= 1.0) &amp;&amp; (y &lt;= 1.0)) {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>

    <helper replaces="LT2A" prototype="double gepLT2A(double x, double y);">double gepLT2A(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y)  {CRLF}{TAB}{TAB}return x;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return y;{CRLF}}{CRLF}</helper>
    <helper replaces="GT2A" prototype="double gepGT2A(double x, double y);">double gepGT2A(double x, double y){CRLF}{{CRLF}{TAB}if (x > y)  {CRLF}{TAB}{TAB}return x;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return y;{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2A" prototype="double gepLOE2A(double x, double y);">double gepLOE2A(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y)  {CRLF}{TAB}{TAB}return x;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return y;{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2A" prototype="double gepGOE2A(double x, double y);">double gepGOE2A(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y)  {CRLF}{TAB}{TAB}return x;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return y;{CRLF}}{CRLF}</helper>
    <helper replaces="ET2A" prototype="double gepET2A(double x, double y);">double gepET2A(double x, double y){CRLF}{{CRLF}{TAB}if (x == y)  {CRLF}{TAB}{TAB}return x;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return y;{CRLF}}{CRLF}</helper>
    <helper replaces="NET2A" prototype="double gepNET2A(double x, double y);">double gepNET2A(double x, double y){CRLF}{{CRLF}{TAB}if (x != y)  {CRLF}{TAB}{TAB}return x;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return y;{CRLF}}{CRLF}</helper>

    <helper replaces="LT2B" prototype="double gepLT2B(double x, double y);">double gepLT2B(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y)  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="GT2B" prototype="double gepGT2B(double x, double y);">double gepGT2B(double x, double y){CRLF}{{CRLF}{TAB}if (x > y)  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2B" prototype="double gepLOE2B(double x, double y);">double gepLOE2B(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y)  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2B" prototype="double gepGOE2B(double x, double y);">double gepGOE2B(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y)  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="ET2B" prototype="double gepET2B(double x, double y);">double gepET2B(double x, double y){CRLF}{{CRLF}{TAB}if (x == y)  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>
    <helper replaces="NET2B" prototype="double gepNET2B(double x, double y);">double gepNET2B(double x, double y){CRLF}{{CRLF}{TAB}if (x != y)  {CRLF}{TAB}{TAB}return 1.0;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return 0.0;{CRLF}}{CRLF}</helper>

    <helper replaces="LT2C" prototype="double gepLT2C(double x, double y);">double gepLT2C(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-y);{CRLF}}{CRLF}</helper>
    <helper replaces="GT2C" prototype="double gepGT2C(double x, double y);">double gepGT2C(double x, double y){CRLF}{{CRLF}{TAB}if (x > y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-y);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2C" prototype="double gepLOE2C(double x, double y);">double gepLOE2C(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-y);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2C" prototype="double gepGOE2C(double x, double y);">double gepGOE2C(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-y);{CRLF}}{CRLF}</helper>
    <helper replaces="ET2C" prototype="double gepET2C(double x, double y);">double gepET2C(double x, double y){CRLF}{{CRLF}{TAB}if (x == y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-y);{CRLF}}{CRLF}</helper>
    <helper replaces="NET2C" prototype="double gepNET2C(double x, double y);">double gepNET2C(double x, double y){CRLF}{{CRLF}{TAB}if (x != y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-y);{CRLF}}{CRLF}</helper>

    <helper replaces="LT2D" prototype="double gepLT2D(double x, double y);">double gepLT2D(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/y);{CRLF}}{CRLF}</helper>
    <helper replaces="GT2D" prototype="double gepGT2D(double x, double y);">double gepGT2D(double x, double y){CRLF}{{CRLF}{TAB}if (x > y) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/y);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2D" prototype="double gepLOE2D(double x, double y);">double gepLOE2D(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/y);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2D" prototype="double gepGOE2D(double x, double y);">double gepGOE2D(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/y);{CRLF}}{CRLF}</helper>
    <helper replaces="ET2D" prototype="double gepET2D(double x, double y);">double gepET2D(double x, double y){CRLF}{{CRLF}{TAB}if (x == y) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/y);{CRLF}}{CRLF}</helper>
    <helper replaces="NET2D" prototype="double gepNET2D(double x, double y);">double gepNET2D(double x, double y){CRLF}{{CRLF}{TAB}if (x != y) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/y);{CRLF}}{CRLF}</helper>

    <helper replaces="LT2E" prototype="double gepLT2E(double x, double y);">double gepLT2E(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="GT2E" prototype="double gepGT2E(double x, double y);">double gepGT2E(double x, double y){CRLF}{{CRLF}{TAB}if (x > y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2E" prototype="double gepLOE2E(double x, double y);">double gepLOE2E(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2E" prototype="double gepGOE2E(double x, double y);">double gepGOE2E(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="ET2E" prototype="double gepET2E(double x, double y);">double gepET2E(double x, double y){CRLF}{{CRLF}{TAB}if (x == y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="NET2E" prototype="double gepNET2E(double x, double y);">double gepNET2E(double x, double y){CRLF}{{CRLF}{TAB}if (x != y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*y);{CRLF}}{CRLF}</helper>

    <helper replaces="LT2F" prototype="double gepLT2F(double x, double y);">double gepLT2F(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="GT2F" prototype="double gepGT2F(double x, double y);">double gepGT2F(double x, double y){CRLF}{{CRLF}{TAB}if (x > y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2F" prototype="double gepLOE2F(double x, double y);">double gepLOE2F(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2F" prototype="double gepGOE2F(double x, double y);">double gepGOE2F(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="ET2F" prototype="double gepET2F(double x, double y);">double gepET2F(double x, double y){CRLF}{{CRLF}{TAB}if (x == y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="NET2F" prototype="double gepNET2F(double x, double y);">double gepNET2F(double x, double y){CRLF}{{CRLF}{TAB}if (x != y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y);{CRLF}}{CRLF}</helper>

    <helper replaces="LT2G" prototype="double gepLT2G(double x, double y);">double gepLT2G(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt; y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="GT2G" prototype="double gepGT2G(double x, double y);">double gepGT2G(double x, double y){CRLF}{{CRLF}{TAB}if (x > y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE2G" prototype="double gepLOE2G(double x, double y);">double gepLOE2G(double x, double y){CRLF}{{CRLF}{TAB}if (x &lt;= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE2G" prototype="double gepGOE2G(double x, double y);">double gepGOE2G(double x, double y){CRLF}{{CRLF}{TAB}if (x >= y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="ET2G" prototype="double gepET2G(double x, double y);">double gepET2G(double x, double y){CRLF}{{CRLF}{TAB}if (x == y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y);{CRLF}}{CRLF}</helper>
    <helper replaces="NET2G" prototype="double gepNET2G(double x, double y);">double gepNET2G(double x, double y){CRLF}{{CRLF}{TAB}if (x != y) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3A" prototype="double gepLT3A(double x, double y, double z);">double gepLT3A(double x, double y, double z){CRLF}{{CRLF}{TAB}if (x &lt; 0.0)  {CRLF}{TAB}{TAB}return y;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="GT3A" prototype="double gepGT3A(double x, double y, double z);">double gepGT3A(double x, double y, double z){CRLF}{{CRLF}{TAB}if (x > 0.0)  {CRLF}{TAB}{TAB}return y;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3A" prototype="double gepLOE3A(double x, double y, double z);">double gepLOE3A(double x, double y, double z){CRLF}{{CRLF}{TAB}if (x &lt;= 0.0)  {CRLF}{TAB}{TAB}return y;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3A" prototype="double gepGOE3A(double x, double y, double z);">double gepGOE3A(double x, double y, double z){CRLF}{{CRLF}{TAB}if (x >= 0.0)  {CRLF}{TAB}{TAB}return y;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="ET3A" prototype="double gepET3A(double x, double y, double z);">double gepET3A(double x, double y, double z){CRLF}{{CRLF}{TAB}if (x == 0.0)  {CRLF}{TAB}{TAB}return y;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="NET3A" prototype="double gepNET3A(double x, double y, double z);">double gepNET3A(double x, double y, double z){CRLF}{{CRLF}{TAB}if (x != 0.0)  {CRLF}{TAB}{TAB}return y;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>

    <helper replaces="LT3B" prototype="double gepLT3B(double x, double y, double z);">double gepLT3B(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="GT3B" prototype="double gepGT3B(double x, double y, double z);">double gepGT3B(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3B" prototype="double gepLOE3B(double x, double y, double z);">double gepLOE3B(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3B" prototype="double gepGOE3B(double x, double y, double z);">double gepGOE3B(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="ET3B" prototype="double gepET3B(double x, double y, double z);">double gepET3B(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>
    <helper replaces="NET3B" prototype="double gepNET3B(double x, double y, double z);">double gepNET3B(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return z;{CRLF}}{CRLF}</helper>

    <helper replaces="LT3C" prototype="double gepLT3C(double x, double y, double z);">double gepLT3C(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3C" prototype="double gepGT3C(double x, double y, double z);">double gepGT3C(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3C" prototype="double gepLOE3C(double x, double y, double z);">double gepLOE3C(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3C" prototype="double gepGOE3C(double x, double y, double z);">double gepGOE3C(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3C" prototype="double gepET3C(double x, double y, double z);">double gepET3C(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3C" prototype="double gepNET3C(double x, double y, double z);">double gepNET3C(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3D" prototype="double gepLT3D(double x, double y, double z);">double gepLT3D(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3D" prototype="double gepGT3D(double x, double y, double z);">double gepGT3D(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3D" prototype="double gepLOE3D(double x, double y, double z);">double gepLOE3D(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3D" prototype="double gepGOE3D(double x, double y, double z);">double gepGOE3D(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3D" prototype="double gepET3D(double x, double y, double z);">double gepET3D(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3D" prototype="double gepNET3D(double x, double y, double z);">double gepNET3D(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3E" prototype="double gepLT3E(double x, double y, double z);">double gepLT3E(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3E" prototype="double gepGT3E(double x, double y, double z);">double gepGT3E(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3E" prototype="double gepLOE3E(double x, double y, double z);">double gepLOE3E(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3E" prototype="double gepGOE3E(double x, double y, double z);">double gepGOE3E(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3E" prototype="double gepET3E(double x, double y, double z);">double gepET3E(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3E" prototype="double gepNET3E(double x, double y, double z);">double gepNET3E(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3F" prototype="double gepLT3F(double x, double y, double z);">double gepLT3F(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3F" prototype="double gepGT3F(double x, double y, double z);">double gepGT3F(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3F" prototype="double gepLOE3F(double x, double y, double z);">double gepLOE3F(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3F" prototype="double gepGOE3F(double x, double y, double z);">double gepGOE3F(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3F" prototype="double gepET3F(double x, double y, double z);">double gepET3F(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3F" prototype="double gepNET3F(double x, double y, double z);">double gepNET3F(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3G" prototype="double gepLT3G(double x, double y, double z);">double gepLT3G(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3G" prototype="double gepGT3G(double x, double y, double z);">double gepGT3G(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3G" prototype="double gepLOE3G(double x, double y, double z);">double gepLOE3G(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3G" prototype="double gepGOE3G(double x, double y, double z);">double gepGOE3G(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3G" prototype="double gepET3G(double x, double y, double z);">double gepET3G(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3G" prototype="double gepNET3G(double x, double y, double z);">double gepNET3G(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x+z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3H" prototype="double gepLT3H(double x, double y, double z);">double gepLT3H(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3H" prototype="double gepGT3H(double x, double y, double z);">double gepGT3H(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3H" prototype="double gepLOE3H(double x, double y, double z);">double gepLOE3H(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3H" prototype="double gepGOE3H(double x, double y, double z);">double gepGOE3H(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3H" prototype="double gepET3H(double x, double y, double z);">double gepET3H(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3H" prototype="double gepNET3H(double x, double y, double z);">double gepNET3H(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x-z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3I" prototype="double gepLT3I(double x, double y, double z);">double gepLT3I(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3I" prototype="double gepGT3I(double x, double y, double z);">double gepGT3I(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3I" prototype="double gepLOE3I(double x, double y, double z);">double gepLOE3I(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3I" prototype="double gepGOE3I(double x, double y, double z);">double gepGOE3I(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3I" prototype="double gepET3I(double x, double y, double z);">double gepET3I(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3I" prototype="double gepNET3I(double x, double y, double z);">double gepNET3I(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x*z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3J" prototype="double gepLT3J(double x, double y, double z);">double gepLT3J(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3J" prototype="double gepGT3J(double x, double y, double z);">double gepGT3J(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3J" prototype="double gepLOE3J(double x, double y, double z);">double gepLOE3J(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3J" prototype="double gepGOE3J(double x, double y, double z);">double gepGOE3J(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3J" prototype="double gepET3J(double x, double y, double z);">double gepET3J(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3J" prototype="double gepNET3J(double x, double y, double z);">double gepNET3J(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x*y);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (x/z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3K" prototype="double gepLT3K(double x, double y, double z);">double gepLT3K(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3K" prototype="double gepGT3K(double x, double y, double z);">double gepGT3K(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3K" prototype="double gepLOE3K(double x, double y, double z);">double gepLOE3K(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3K" prototype="double gepGOE3K(double x, double y, double z);">double gepGOE3K(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3K" prototype="double gepET3K(double x, double y, double z);">double gepET3K(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3K" prototype="double gepNET3K(double x, double y, double z);">double gepNET3K(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(x*y*z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT3L" prototype="double gepLT3L(double x, double y, double z);">double gepLT3L(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt; z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GT3L" prototype="double gepGT3L(double x, double y, double z);">double gepGT3L(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) > z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE3L" prototype="double gepLOE3L(double x, double y, double z);">double gepLOE3L(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) &lt;= z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE3L" prototype="double gepGOE3L(double x, double y, double z);">double gepGOE3L(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) >= z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="ET3L" prototype="double gepET3L(double x, double y, double z);">double gepET3L(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) == z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y*z);{CRLF}}{CRLF}</helper>
    <helper replaces="NET3L" prototype="double gepNET3L(double x, double y, double z);">double gepNET3L(double x, double y, double z){CRLF}{{CRLF}{TAB}if ((x+y) != z) {CRLF}{TAB}{TAB}return (x+y+z);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(x*y*z);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4A" prototype="double gepLT4A(double a, double b, double c, double d);">double gepLT4A(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if (a &lt; b)  {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="GT4A" prototype="double gepGT4A(double a, double b, double c, double d);">double gepGT4A(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if (a > b)  {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4A" prototype="double gepLOE4A(double a, double b, double c, double d);">double gepLOE4A(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if (a &lt;= b)  {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4A" prototype="double gepGOE4A(double a, double b, double c, double d);">double gepGOE4A(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if (a >= b)  {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="ET4A" prototype="double gepET4A(double a, double b, double c, double d);">double gepET4A(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if (a == b)  {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="NET4A" prototype="double gepNET4A(double a, double b, double c, double d);">double gepNET4A(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if (a != b)  {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>

    <helper replaces="LT4B" prototype="double gepLT4B(double a, double b, double c, double d);">double gepLT4B(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="GT4B" prototype="double gepGT4B(double a, double b, double c, double d);">double gepGT4B(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4B" prototype="double gepLOE4B(double a, double b, double c, double d);">double gepLOE4B(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4B" prototype="double gepGOE4B(double a, double b, double c, double d);">double gepGOE4B(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="ET4B" prototype="double gepET4B(double a, double b, double c, double d);">double gepET4B(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>
    <helper replaces="NET4B" prototype="double gepNET4B(double a, double b, double c, double d);">double gepNET4B(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return c;{CRLF}{TAB}else{CRLF}{TAB}{TAB}return d;{CRLF}}{CRLF}</helper>

    <helper replaces="LT4C" prototype="double gepLT4C(double a, double b, double c, double d);">double gepLT4C(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4C" prototype="double gepGT4C(double a, double b, double c, double d);">double gepGT4C(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4C" prototype="double gepLOE4C(double a, double b, double c, double d);">double gepLOE4C(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4C" prototype="double gepGOE4C(double a, double b, double c, double d);">double gepGOE4C(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4C" prototype="double gepET4C(double a, double b, double c, double d);">double gepET4C(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4C" prototype="double gepNET4C(double a, double b, double c, double d);">double gepNET4C(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4D" prototype="double gepLT4D(double a, double b, double c, double d);">double gepLT4D(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4D" prototype="double gepGT4D(double a, double b, double c, double d);">double gepGT4D(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4D" prototype="double gepLOE4D(double a, double b, double c, double d);">double gepLOE4D(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4D" prototype="double gepGOE4D(double a, double b, double c, double d);">double gepGOE4D(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4D" prototype="double gepET4D(double a, double b, double c, double d);">double gepET4D(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4D" prototype="double gepNET4D(double a, double b, double c, double d);">double gepNET4D(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4E" prototype="double gepLT4E(double a, double b, double c, double d);">double gepLT4E(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4E" prototype="double gepGT4E(double a, double b, double c, double d);">double gepGT4E(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4E" prototype="double gepLOE4E(double a, double b, double c, double d);">double gepLOE4E(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4E" prototype="double gepGOE4E(double a, double b, double c, double d);">double gepGOE4E(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4E" prototype="double gepET4E(double a, double b, double c, double d);">double gepET4E(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4E" prototype="double gepNET4E(double a, double b, double c, double d);">double gepNET4E(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4F" prototype="double gepLT4F(double a, double b, double c, double d);">double gepLT4F(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4F" prototype="double gepGT4F(double a, double b, double c, double d);">double gepGT4F(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4F" prototype="double gepLOE4F(double a, double b, double c, double d);">double gepLOE4F(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4F" prototype="double gepGOE4F(double a, double b, double c, double d);">double gepGOE4F(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4F" prototype="double gepET4F(double a, double b, double c, double d);">double gepET4F(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4F" prototype="double gepNET4F(double a, double b, double c, double d);">double gepNET4F(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a+b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4G" prototype="double gepLT4G(double a, double b, double c, double d);">double gepLT4G(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4G" prototype="double gepGT4G(double a, double b, double c, double d);">double gepGT4G(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4G" prototype="double gepLOE4G(double a, double b, double c, double d);">double gepLOE4G(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4G" prototype="double gepGOE4G(double a, double b, double c, double d);">double gepGOE4G(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4G" prototype="double gepET4G(double a, double b, double c, double d);">double gepET4G(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4G" prototype="double gepNET4G(double a, double b, double c, double d);">double gepNET4G(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c+d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4H" prototype="double gepLT4H(double a, double b, double c, double d);">double gepLT4H(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4H" prototype="double gepGT4H(double a, double b, double c, double d);">double gepGT4H(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4H" prototype="double gepLOE4H(double a, double b, double c, double d);">double gepLOE4H(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4H" prototype="double gepGOE4H(double a, double b, double c, double d);">double gepGOE4H(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4H" prototype="double gepET4H(double a, double b, double c, double d);">double gepET4H(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4H" prototype="double gepNET4H(double a, double b, double c, double d);">double gepNET4H(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c-d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4I" prototype="double gepLT4I(double a, double b, double c, double d);">double gepLT4I(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4I" prototype="double gepGT4I(double a, double b, double c, double d);">double gepGT4I(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4I" prototype="double gepLOE4I(double a, double b, double c, double d);">double gepLOE4I(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4I" prototype="double gepGOE4I(double a, double b, double c, double d);">double gepGOE4I(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4I" prototype="double gepET4I(double a, double b, double c, double d);">double gepET4I(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4I" prototype="double gepNET4I(double a, double b, double c, double d);">double gepNET4I(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c*d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4J" prototype="double gepLT4J(double a, double b, double c, double d);">double gepLT4J(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4J" prototype="double gepGT4J(double a, double b, double c, double d);">double gepGT4J(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4J" prototype="double gepLOE4J(double a, double b, double c, double d);">double gepLOE4J(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4J" prototype="double gepGOE4J(double a, double b, double c, double d);">double gepGOE4J(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4J" prototype="double gepET4J(double a, double b, double c, double d);">double gepET4J(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4J" prototype="double gepNET4J(double a, double b, double c, double d);">double gepNET4J(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return (a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return (c/d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4K" prototype="double gepLT4K(double a, double b, double c, double d);">double gepLT4K(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return sin(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4K" prototype="double gepGT4K(double a, double b, double c, double d);">double gepGT4K(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return sin(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4K" prototype="double gepLOE4K(double a, double b, double c, double d);">double gepLOE4K(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return sin(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4K" prototype="double gepGOE4K(double a, double b, double c, double d);">double gepGOE4K(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return sin(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4K" prototype="double gepET4K(double a, double b, double c, double d);">double gepET4K(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return sin(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4K" prototype="double gepNET4K(double a, double b, double c, double d);">double gepNET4K(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return sin(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return sin(c*d);{CRLF}}{CRLF}</helper>

    <helper replaces="LT4L" prototype="double gepLT4L(double a, double b, double c, double d);">double gepLT4L(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt; (c+d)) {CRLF}{TAB}{TAB}return atan(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GT4L" prototype="double gepGT4L(double a, double b, double c, double d);">double gepGT4L(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) > (c+d)) {CRLF}{TAB}{TAB}return atan(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="LOE4L" prototype="double gepLOE4L(double a, double b, double c, double d);">double gepLOE4L(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) &lt;= (c+d)) {CRLF}{TAB}{TAB}return atan(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="GOE4L" prototype="double gepGOE4L(double a, double b, double c, double d);">double gepGOE4L(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) >= (c+d)) {CRLF}{TAB}{TAB}return atan(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="ET4L" prototype="double gepET4L(double a, double b, double c, double d);">double gepET4L(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) == (c+d)) {CRLF}{TAB}{TAB}return atan(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(c*d);{CRLF}}{CRLF}</helper>
    <helper replaces="NET4L" prototype="double gepNET4L(double a, double b, double c, double d);">double gepNET4L(double a, double b, double c, double d){CRLF}{{CRLF}{TAB}if ((a+b) != (c+d)) {CRLF}{TAB}{TAB}return atan(a*b);{CRLF}{TAB}else{CRLF}{TAB}{TAB}return atan(c*d);{CRLF}}{CRLF}</helper>
  </helpers>
  <keywords>
    <keyword>double</keyword>
    <keyword>int</keyword>
    <keyword>if</keyword>
    <keyword>else</keyword>
    <keyword>return</keyword>
    <keyword>const</keyword>
    <keyword>#include</keyword>
    <keyword>switch</keyword>
    <keyword>case</keyword>
    <keyword>default</keyword>
    <keyword>break</keyword>
    <keyword>void</keyword>
    <keyword>char</keyword>
  </keywords>
  <commentmark>//</commentmark>
  <linkingFunctions count="2">
    <linkingFunction 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 &gt; y){CRLF}{TAB}{TAB}varTemp = y;{CRLF}{TAB}return varTemp;{CRLF}}{CRLF}</linkingFunction>
    <linkingFunction 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}</linkingFunction>
  </linkingFunctions>
  <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>
  <testing>
    <prototype paramsformat="double x{INDEX}">double {name}({params}){CRLF}{{CRLF}{TAB}return {body};{CRLF}}{CRLF}{CRLF}</prototype>
    <method callformat="printf(&quot;%f\n&quot;, {method}({params})); {CRLF}" listformat="{data}">#include "math.h"{CRLF}{CRLF}{HELPERS}{CRLF}{CRLF}{FUNCTIONS}{CRLF}{CRLF}int main(int argc, char* argv[]){CRLF}{{CRLF}{CALLS}{CRLF}}{CRLF}</method>
  </testing>
</grammar>