-
Simon Barner authored
Issue-Ref: 3676 Issue-Url: https://af3-developer.fortiss.org/issues/3676 Signed-off-by:
Simon Barner <barner@fortiss.org>
Simon Barner authoredIssue-Ref: 3676 Issue-Url: https://af3-developer.fortiss.org/issues/3676 Signed-off-by:
Simon Barner <barner@fortiss.org>
ArithApproximation.af3_23 101.99 KiB
<?xml version="1.0" encoding="UTF-8"?>
<org-fortiss-af3-project:FileProject xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org-fortiss-af3-expression="http://www.fortiss.org/af3/expression" xmlns:org-fortiss-af3-expression-terms="http://www.fortiss.org/af3/expression/terms" xmlns:org-fortiss-af3-expression-terms-imperative="http://www.fortiss.org/af3/expression/terms/imperative" xmlns:org-fortiss-af3-expression-types="http://www.fortiss.org/af3/expression/types" xmlns:org-fortiss-af3-project="http://www.fortiss.org/af3/project" xmlns:org-fortiss-af3-project-configuration="http://www.fortiss.org/af3/project/configuration" xmlns:org-fortiss-af3-project-development="http://www.fortiss.org/af3/project/development" xmi:id="0" name="ArithApproximation">
<rootElements xsi:type="org-fortiss-af3-project:ProjectConfiguration" xmi:id="1" id="1" name="" comment="">
<configurationElements xsi:type="org-fortiss-af3-project-configuration:TypeSystemConfiguration" xmi:id="2" id="2" name="" comment="">
<typesystem xsi:type="org-fortiss-af3-expression:MicroTypeSystem"/>
</configurationElements>
<configurationElements xsi:type="org-fortiss-af3-project-configuration:DevelopmentProcessConfiguration" xmi:id="3" id="3" name="" comment="">
<development xsi:type="org-fortiss-af3-project-development:DummyDevelopmentProcess"/>
</configurationElements>
</rootElements>
<rootElements xsi:type="org-fortiss-af3-expression:DataDictionary" xmi:id="6" id="6" name="" comment="">
<functions xmi:id="10" id="10">
<function xmi:id="11" id="11" name="abs" comment="Absolute value"/>
<parameters>
<variable identifier="_D"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_D"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_D"/>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_D"/>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="23" id="23">
<function xmi:id="24" id="24" name="PI" comment="Predefined constant pi"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="3.14159265358979"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="25" id="25">
<function xmi:id="26" id="26" name="PI_2" comment="Predefined constant pi/2"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.5707963267949"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="27" id="27">
<function xmi:id="28" id="28" name="PI_3" comment="Predefined constant pi/3"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0471975511966"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="29" id="29">
<function xmi:id="30" id="30" name="PI_4" comment="Predefined constant pi/4"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.78539816339745"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="31" id="31">
<function xmi:id="32" id="32" name="PI_6" comment="Predefined constant pi/6"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.5235987755983"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="33" id="33">
<function xmi:id="34" id="34" name="PI_12" comment="Predefined constant pi/12"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.26179938779915"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="4" id="4">
<function xmi:id="5" id="5" name="powerAux" comment="Auxiliary function for power. _n must be positive integer"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_n"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Equal"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="197" id="197" name="powerAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="194" id="194">
<function xmi:id="195" id="195" name="power" comment="Integer power _n of _x"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_n"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="202" id="202" name="powerAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Equal"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="203" id="203" name="powerAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
</value>
</statements>
</elseBlock>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="204" id="204">
<function xmi:id="205" id="205" name="frac" comment="Fractional part of a double"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Modulo"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="208" id="208">
<function xmi:id="209" id="209" name="floor" comment="Integer closest to the number and less or equal"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Equal"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="218" id="218" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="219" id="219" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="220" id="220" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="221" id="221" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</value>
</statements>
</elseBlock>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="211" id="211">
<function xmi:id="212" id="212" name="ceil" comment="Integer closest to the number and greater or equal"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Equal"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="222" id="222" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="223" id="223" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="224" id="224" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="225" id="225" name="frac" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="256" id="256">
<function xmi:id="257" id="257" name="sign" comment="Sign of the number"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:IntConst" value="-1"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Equal"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</statements>
</elseBlock>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TInt"/>
</functions>
<functions xmi:id="258" id="258">
<function xmi:id="259" id="259" name="m1power" comment="Minus one to the given power"/>
<parameters>
<variable identifier="_n"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Equal"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Modulo"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_n"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:IntConst" value="-1"/>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TInt"/>
</functions>
<functions xmi:id="260" id="260">
<function xmi:id="261" id="261" name="sin90SeriesRecAux" comment="Auxiliary function for sin: Taylor series computation of sine"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_res_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_x_nom"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_x_denom"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_depth_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<parameters>
<variable identifier="_depth_max"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_x_nom"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_nom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_x_denom"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_denom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_res_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="323" id="323" name="m1power" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_nom"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_denom"/>
</arguments>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="324" id="324" name="sin90SeriesRecAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_nom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_denom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="267" id="267">
<function xmi:id="268" id="268" name="sin90SeriesAux" comment="Auxiliary function for sin: Taylor series computation of sine"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="327" id="327" name="sin90SeriesRecAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="5"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="276" id="276">
<function xmi:id="277" id="277" name="sin180Aux" comment="Auxiliary function for sin"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="278" id="278" name="PI_2" comment=""/>
</arguments>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="279" id="279" name="sin90SeriesAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="280" id="280" name="sin90SeriesAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="281" id="281" name="PI" comment=""/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="282" id="282">
<function xmi:id="283" id="283" name="sinAux" comment="Auxiliary function for sin: takes for computing sin(x) the absolute value of x as _x, and its sign as _sign "/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_sign"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_x"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Modulo"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="348" id="348" name="PI" comment=""/>
</arguments>
</arguments>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="349" id="349" name="PI" comment=""/>
</arguments>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_sign"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="350" id="350" name="sin180Aux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_sign"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="351" id="351" name="sin180Aux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="352" id="352" name="PI" comment=""/>
</arguments>
</arguments>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="298" id="298">
<function xmi:id="299" id="299" name="sin" comment="Sine"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="340" id="340" name="sinAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="341" id="341" name="abs" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="342" id="342" name="sign" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="355" id="355">
<function xmi:id="356" id="356" name="cos" comment="Cosine"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="360" id="360" name="sin" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="361" id="361" name="PI_2" comment=""/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="362" id="362">
<function xmi:id="363" id="363" name="tan" comment="Tangent"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="366" id="366" name="sin" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="367" id="367" name="cos" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="368" id="368">
<function xmi:id="369" id="369" name="atanSeriesRecAux" comment="Auxiliary function for atan: Taylor series computation of arctangent"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_res_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_x_nom"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_x_denom"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_depth_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<parameters>
<variable identifier="_depth_max"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_x_nom"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_nom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_x_denom"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_denom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_res_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="375" id="375" name="m1power" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_nom"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_denom"/>
</arguments>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="376" id="376" name="atanSeriesRecAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_nom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x_denom"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="372" id="372">
<function xmi:id="373" id="373" name="atanSeriesAux" comment="Auxiliary function for atan: Taylor series computation of arctangent"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="382" id="382" name="atanSeriesRecAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="5"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="380" id="380">
<function xmi:id="381" id="381" name="atanOneAux" comment="Auxiliary function for atan: suitable for 0 <= _x <= 1"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.42"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="389" id="389" name="atanOneAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="390" id="390" name="sqrt" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</arguments>
</arguments>
</arguments>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="391" id="391" name="atanSeriesAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="387" id="387">
<function xmi:id="388" id="388" name="atanPosAux" comment="Auxiliary function for atan: suitable for 0 <= _x "/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="400" id="400" name="atanOneAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="401" id="401" name="PI_2" comment=""/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="402" id="402" name="atanOneAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="403" id="403">
<function xmi:id="404" id="404" name="atan" comment="Arctangent"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="408" id="408" name="atanPosAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="409" id="409" name="atanPosAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="410" id="410">
<function xmi:id="411" id="411" name="asin" comment="Arcsine"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="417" id="417" name="atanPosAux" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="418" id="418" name="sqrt" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</arguments>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="419" id="419" name="asin" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="420" id="420">
<function xmi:id="421" id="421" name="acos" comment="Arccosine"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="425" id="425" name="PI_2" comment=""/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="426" id="426" name="asin" comment=""/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="441" id="441">
<function xmi:id="442" id="442" name="expSeriesAuxRecAux" comment="Auxiliary function for exp: Taylor series computation"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_res_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_xpower_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_fct_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_depth_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<parameters>
<variable identifier="_depth_max"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_xpower_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_xpower_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_fct_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_fct_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_res_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_xpower_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_fct_curr"/>
</arguments>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="445" id="445" name="expSeriesAuxRecAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_xpower_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_fct_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="446" id="446">
<function xmi:id="447" id="447" name="expSeriesAux" comment="Auxiliary function for exp: Taylor series computation"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="449" id="449" name="expSeriesAuxRecAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="16"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="450" id="450">
<function xmi:id="451" id="451" name="expPosAux" comment="Auxiliary function for exp: for positive _x"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="456" id="456" name="sqr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="457" id="457" name="expPosAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
</arguments>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="458" id="458" name="expSeriesAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="464" id="464">
<function xmi:id="465" id="465" name="exp" comment="Exponential function"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="466" id="466" name="expPosAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="467" id="467" name="expPosAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Negate"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="468" id="468">
<function xmi:id="469" id="469" name="lnSeriesAuxRecAux" comment="Auxiliary function for ln: Taylor series computation"/>
<parameters>
<variable identifier="_xMinusPlus1"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_frac_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_res_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_depth_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<parameters>
<variable identifier="_depth_max"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_frac_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_xMinusPlus1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_xMinusPlus1"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_frac_curr"/>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Assignment">
<variable identifier="_res_curr"/>
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_frac_curr"/>
</arguments>
</value>
</statements>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="504" id="504" name="lnSeriesAuxRecAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_xMinusPlus1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_frac_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_res_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth_max"/>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="474" id="474">
<function xmi:id="475" id="475" name="lnSeriesAux" comment="Auxiliary function for ln: Taylor series computation"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="503" id="503" name="lnSeriesAuxRecAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="5"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="478" id="478">
<function xmi:id="479" id="479" name="SQRT2" comment="Predefined constant square root of 2"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.4142135623731"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="480" id="480">
<function xmi:id="481" id="481" name="LNSQRT2" comment="Predefined constant ln of square root of 2"/>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.346573590279973"/>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="482" id="482">
<function xmi:id="483" id="483" name="ln" comment="Natural logarithm"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="GreaterThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="495" id="495" name="SQRT2"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.02"/>
</arguments>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="496" id="496" name="LNSQRT2"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="497" id="497" name="ln"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
</arguments>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerThan"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="1.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="498" id="498" name="SQRT2"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="0.02"/>
</arguments>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="-2.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="499" id="499" name="LNSQRT2"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="500" id="500" name="ln"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
</arguments>
</value>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="501" id="501" name="lnSeriesAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</elseBlock>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="228" id="228">
<function xmi:id="229" id="229" name="sqrtRec" comment="Square root: for values over 1.0E7 less precise than sqrt that uses exp and ln"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="509" id="509" name="sqrtRecAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="16"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="226" id="226">
<function xmi:id="227" id="227" name="sqrtRecAux" comment="Auxiliary function for sqrt: recursive approximation of square root."/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_curr"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_depth"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_curr"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="508" id="508" name="sqrtRecAux"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_curr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_curr"/>
</arguments>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:DoubleConst" value="2.0"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_depth"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="427" id="427">
<function xmi:id="428" id="428" name="sqr" comment="Square of a number"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Multiply"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="429" id="429">
<function xmi:id="430" id="430" name="sqrMulti" comment="Multiple successive squaring of a number "/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<parameters>
<variable identifier="_num"/>
<type xsi:type="org-fortiss-af3-expression-types:TInt"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:IfThenElse">
<guard xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="LowerEqual"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_num"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst"/>
</guard>
<thenBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</statements>
</thenBlock>
<elseBlock>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="439" id="439" name="sqr"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="440" id="440" name="sqrMulti"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Subtract"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_num"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="1"/>
</arguments>
</arguments>
</value>
</statements>
</elseBlock>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
<functions xmi:id="505" id="505">
<function xmi:id="506" id="506" name="sqrt" comment="Square root"/>
<parameters>
<variable identifier="_x"/>
<type xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</parameters>
<definition>
<statements xsi:type="org-fortiss-af3-expression-terms-imperative:Return">
<value xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="510" id="510" name="exp"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:PredefinedFunction" operator="Divide"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:FunctionCall">
<function xsi:type="org-fortiss-af3-expression-terms:UserdefinedFunction" xmi:id="511" id="511" name="ln"/>
<arguments xsi:type="org-fortiss-af3-expression-terms:Var" identifier="_x"/>
</arguments>
<arguments xsi:type="org-fortiss-af3-expression-terms:IntConst" value="2"/>
</arguments>
</value>
</statements>
</definition>
<returnType xsi:type="org-fortiss-af3-expression-types:TDouble"/>
</functions>
</rootElements>
</org-fortiss-af3-project:FileProject>