<?xml version="1.0"?>
<QALCULATE version="5.2.0">
  <category>
    <_title>Matrices &amp; Vectors</_title>
    <builtin_function name="vector">
      <_title>Construct Vector</_title>
      <_names>r:vector</_names>
      <_description>Returns a vector with listed elements.</_description>
      <argument index="1">
        <!-- Vector/matrix elements -->
        <_title>Elements</_title>
      </argument>
    </builtin_function>
    <builtin_function name="genvector">
      <_title>Generate Vector</_title>
      <_names>r:genvector</_names>
      <example>$name(x^2, 1, 5) = [1  4  9  16  25]</example>
      <_description>Returns a vector generated from a function with a variable (default x) running from min to max. The 4th argument is either the step between each value of the variable, if the 6th argument is 1 or if the value is 1 (default), negative, or not an integer and the 6th argument is -1 (default), or the number of elements.</_description>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Min</_title>
      </argument>
      <argument index="3">
        <_title>Max</_title>
      </argument>
      <argument index="4">
        <_title>Dimension / Step size</_title>
      </argument>
      <argument index="5">
        <_title>Variable</_title>
      </argument>
      <argument index="6">
        <_title>Use step size</_title>
      </argument>
    </builtin_function>
    <builtin_function name="colon">
      <_title>Colon Function (number sequence vector)</_title>
      <_names>r:colon</_names>
      <example>$name(1, 0.5, 3) = [1  1.5  2  2.5  3]</example>
      <_description>Returns a sequence of numbers as a vector.</_description>
      <argument index="1">
        <_title>Starting value</_title>
      </argument>
      <argument index="2">
        <_title>Increment or Ending value</_title>
      </argument>
      <argument index="3">
        <_title>Ending value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="sort">
      <_title>Sort</_title>
      <_names>r:sort</_names>
      <_description>Returns a sorted vector.</_description>
      <example>$name([6  1  4]) = [1  4  6]</example>
      <argument index="1">
        <_title>Vector</_title>
      </argument>
      <argument index="2">
        <_title>Ascending</_title>
      </argument>
    </builtin_function>
    <builtin_function name="rank">
      <_title>Rank</_title>
      <_names>r:rank</_names>
      <_description>Returns a vector with values of elements replaced with their mutual ranks.</_description>
      <example>$name([6  1  4]) = [3  1  2]</example>
      <argument index="1">
        <_title>Vector</_title>
      </argument>
      <argument index="2">
        <_title>Ascending</_title>
      </argument>
    </builtin_function>
    <builtin_function name="flip">
      <_title>Flip</_title>
      <_names>r:flip</_names>
      <_description>Reverses the order of elements in a matrix or vector. If dimension is 1, the order of rows is reversed, if 2 column order is changed, and if 0 (default) both are changed.</_description>
      <example>$name([1  2  3]) = [3  2  1]</example>
      <argument index="1">
        <_title>Matrix/vector</_title>
      </argument>
      <argument index="2">
        <_title>Dimension</_title>
      </argument>
    </builtin_function>
    <builtin_function name="limits">
      <_title>Vector Limits</_title>
      <_names>r:limits</_names>
      <_description>Returns a part of a vector between two positions.</_description>
      <argument index="1">
        <_title>Vector</_title>
      </argument>
      <argument index="2">
        <_title>Lower limit</_title>
      </argument>
      <argument index="3">
        <_title>Upper limit</_title>
      </argument>
    </builtin_function>
    <builtin_function name="dimension">
      <_title>Dimension</_title>
      <_names>r:dimension</_names>
      <_description>Returns the number of elements in a vector.</_description>
      <argument index="1">
        <_title>Vector</_title>
      </argument>
    </builtin_function>
    <builtin_function name="mergevectors">
      <_title>Merge Vectors</_title>
      <_names>r:mergevectors</_names>
      <_description>Returns a vector with the elements from two vectors.</_description>
      <argument index="1">
        <_title>Vector 1</_title>
      </argument>
      <argument index="2">
        <_title>Vector 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="matrix">
      <_title>Construct Matrix</_title>
      <_names>r:matrix</_names>
      <_description>Returns a matrix with specified dimensions and listed elements. Omitted elements are set to zero.</_description>
      <argument index="1">
        <_title>Rows</_title>
      </argument>
      <argument index="2">
        <_title>Columns</_title>
      </argument>
      <argument index="3">
        <_title>Elements</_title>
      </argument>
    </builtin_function>
    <builtin_function name="matrix2vector">
      <_title>Convert Matrix to Vector</_title>
      <_names>r:matrix2vector</_names>
      <_description>Puts each element of a matrix in vertical order in a vector.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="area">
      <_title>Matrix Area</_title>
      <!-- Matrix area -->
      <_names>r:area</_names>
      <_description>Returns a part of a matrix.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
      <argument index="2">
        <_title>Start row</_title>
      </argument>
      <argument index="3">
        <_title>Start column</_title>
      </argument>
      <argument index="4">
        <_title>End row</_title>
      </argument>
      <argument index="5">
        <_title>End column</_title>
      </argument>
    </builtin_function>
    <builtin_function name="rows">
      <_title>Rows</_title>
      <_names>r:rows</_names>
      <_description>Returns the number of rows in a matrix.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="columns">
      <_title>Columns</_title>
      <_names>r:columns</_names>
      <_description>Returns the number of columns in a matrix.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="row">
      <_title>Extract Row as Vector</_title>
      <_names>r:row</_names>
      <_description>Returns a row in a matrix as a vector.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
      <argument index="2">
        <_title>Row</_title>
      </argument>
    </builtin_function>
    <builtin_function name="column">
      <_title>Extract Column as Vector</_title>
      <_names>r:column</_names>
      <_description>Returns a column in a matrix as a vector.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
      <argument index="2">
        <_title>Column</_title>
      </argument>
    </builtin_function>
    <builtin_function name="elements">
      <_title>Elements</_title>
      <_names>r:elements</_names>
      <_description>Returns the number of elements in a matrix or vector.</_description>
      <argument index="1">
        <_title>Matrix/vector</_title>
      </argument>
    </builtin_function>
    <builtin_function name="element">
      <!-- Vector/matrix element -->
      <_title>Element</_title>
      <_names>r:element</_names>
      <_description>Returns the element at specified position in a matrix (row and column) or vector (index).</_description>
      <argument index="1">
        <_title>Matrix/vector</_title>
      </argument>
      <argument index="2">
        <_title>Row/index</_title>
      </argument>
      <argument index="3">
        <_title>Column</_title>
      </argument>
    </builtin_function>
    <builtin_function name="transpose">
      <_title>Transpose</_title>
      <_names>r:transpose</_names>
      <_description>Returns the transpose of a matrix.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="identity">
      <_title>Identity</_title>
      <_names>r:identity</_names>
      <_description>Returns the identity matrix of a matrix or with specified number of rows/columns.</_description>
      <argument index="1">
        <_title>Matrix or rows/columns</_title>
      </argument>
    </builtin_function>
    <builtin_function name="det">
      <_title>Determinant</_title>
      <_names>r:det</_names>
      <_description>Calculates the determinant of a matrix.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="permanent">
      <_title>Permanent</_title>
      <_names>r:permanent</_names>
      <_description>Calculates the permanent of a matrix. The permanent differs from a determinant in that all signs in the expansion by minors are taken as positive.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="adj">
      <_title>Adjugate (Adjoint)</_title>
      <_names>r:adj</_names>
      <_description>Calculates the adjugate or adjoint of a matrix.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="cofactor">
      <_title>Cofactor</_title>
      <_names>r:cofactor</_names>
      <_description>Calculates the cofactor of the element at specified position.</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
      <argument index="2">
        <_title>Row</_title>
      </argument>
      <argument index="3">
        <_title>Column</_title>
      </argument>
    </builtin_function>
    <builtin_function name="inv">
      <_title>Matrix Inverse</_title>
      <_names>r:inv,r:inverse</_names>
      <_description>Calculates the inverse of a matrix. The inverse is the matrix that multiplied by the original matrix equals the identity matrix (AB = BA = I).</_description>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="load">
      <_title>Load CSV File</_title>
      <_names>r:load</_names>
      <_description>Returns a matrix imported from a CSV data file.</_description>
      <argument index="1">
        <_title>Filename</_title>
      </argument>
      <argument index="2">
        <_title>First data row</_title>
      </argument>
      <argument index="3">
        <_title>Separator</_title>
      </argument>
    </builtin_function>
    <builtin_function name="export">
      <_title>Export To CSV File</_title>
      <_names>r:export</_names>
      <_description>Exports a matrix to a CSV data file.</_description>
      <argument index="1">
        <_title>Matrix/vector</_title>
      </argument>
      <argument index="2">
        <_title>Filename</_title>
      </argument>
      <argument index="3">
        <_title>Separator</_title>
      </argument>
    </builtin_function>
    <builtin_function name="magnitude">
      <_title>Magnitude</_title>
      <_names>r:magnitude</_names>
      <_description>Calculates the magnitude of a value. This function returns the same value as abs() for all values except vectors.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="rk">
      <_title>Matrix Rank</_title>
      <_names>ra:rk</_names>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="rref">
      <_title>Reduced Row Echelon Form</_title>
      <_names>r:rref</_names>
      <argument index="1">
        <_title>Matrix</_title>
      </argument>
    </builtin_function>
    <builtin_function name="horzcat">
      <_title>Concatenate Horizontally</_title>
      <names>r:horzcat</names>
      <argument index="1">
        <_title>Matrix 1</_title>
      </argument>
      <argument index="2">
        <_title>Matrix 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="vertcat">
      <_title>Concatenate Vertically</_title>
      <names>r:vertcat</names>
      <argument index="1">
        <_title>Matrix 1</_title>
      </argument>
      <argument index="2">
        <_title>Matrix 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="entrywise">
      <_title>Entrywise Function</_title>
      <_names>r:entrywise</_names>
      <_description>Calculates a new matrix or vector using each separate element in matrix/vector 1 and the corresponding (in the same row and column) elements in matrix/vector 2. An unlimited number of matrices/vectors can be specified, with each matrix/vector argument followed by the corresponding variable used in the function argument.</_description>
      <example>$name(x / y, [4  10  12], x, [2  2  4], y) = [2  5  3]</example>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Matrices/vectors and variables</_title>
      </argument>
    </builtin_function>
    <builtin_function name="norm">
      <_title>Norm (length)</_title>
      <_names>r:norm</_names>
      <_description>Calculates the norm/length of a vector.</_description>
      <argument index="1">
        <_title>Vector</_title>
      </argument>
      <argument index="2">
        <_title>Exponent (p)</_title>
      </argument>
    </builtin_function>
    <builtin_function name="dot">
      <_title>Dot Product</_title>
      <_names>r:dot</_names>
      <_description>Calculates the dot product of two vectors.</_description>
      <argument index="1">
        <_title>Vector 1</_title>
      </argument>
      <argument index="2">
        <_title>Vector 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="times">
      <_title>Element-wise Multiplication</_title>
      <_names>r:multiply,times,hadamard</_names>
      <argument index="1">
        <_title>Factor 1</_title>
      </argument>
      <argument index="2">
        <_title>Factor 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="rdivide">
      <_title>Element-wise Right Division</_title>
      <_names>r:divide,rdivide</_names>
      <argument index="1">
        <_title>Numerator</_title>
      </argument>
      <argument index="2">
        <_title>Denominator</_title>
      </argument>
    </builtin_function>
    <builtin_function name="pow">
      <_title>Element-wise Power</_title>
      <_names>r:pow,r:raise,power</_names>
      <argument index="1">
        <_title>Base</_title>
      </argument>
      <argument index="2">
        <_title>Exponent</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Cross Product</_title>
      <_names>r:cross</_names>
      <_description>Calculates the cross product of two 3-dimensional vectors.</_description>
      <expression>((element(\x,2)*element(\y,3))-(element(\x,3)*element(\y,2)),(element(\x,3)*element(\y,1))-(element(\x,1)*element(\y,3)),(element(\x,1)*element(\y,2))-(element(\x,2)*element(\y,1)))</expression>
      <argument type="vector" index="1">
        <_title>Vector 1</_title>
        <condition>dimension(\x)==3</condition>
      </argument>
      <argument type="vector" index="2">
        <_title>Vector 2</_title>
        <condition>dimension(\x)==3</condition>
      </argument>
    </function>
    <builtin_function name="kron">
      <_title>Kronecker Product</_title>
      <_names>r:kron</_names>
      <argument index="1">
        <_title>Matrix 1</_title>
      </argument>
      <argument index="2">
        <_title>Matrix 2</_title>
      </argument>
    </builtin_function>
  </category>
  <category>
    <_title>Combinatorics</_title>
    <builtin_function name="factorial">
      <_title>Factorial</_title>
      <_description>Calculates the factorial of an integer. Multiplies the argument with every lesser positive integer (n(n-1)(n-2)...2*1). Can also be entered as a number followed by one exclamation mark.</_description>
      <example>$name(5) = 5! = 5 * 4 * 3 * 2 * 1 = 120</example>
      <_names>r:factorial</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="factorial2">
      <_title>Double Factorial</_title>
      <_names>r:factorial2</_names>
      <_description>Calculates the double factorial of an integer. Multiplies the argument with every second lesser positive integer (n(n-2)(n-4)...). Can also be entered as a number followed by two exclamation marks.</_description>
      <example>$name(5) = 5!! = 5 * 3 * 1 = 15</example>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="multifactorial">
      <_title>Multifactorial</_title>
      <_names>r:multifactorial</_names>
      <_description>Calculates the multifactorial of an integer. Multiplies the argument with every x lesser positive integer (n(n-x)(n-2x)...). Can also be entered as a number followed by three or more exclamation marks.</_description>
      <example>$name(18, 4) = 18!!!! = 18 * 14 * 10 * 6 * 2 = 30 240</example>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Factorial</_title>
      </argument>
    </builtin_function>
    <builtin_function name="binomial">
      <_title>Binomial Coefficient</_title>
      <_names>r:binomial</_names>
      <argument index="1">
        <title>n</title>
      </argument>
      <argument index="2">
        <title>k</title>
      </argument>
    </builtin_function>
    <function>
      <_title>Hyperfactorial</_title>
      <_names>r:hyperfactorial</_names>
      <expression>product(x^x,1,\x,x)</expression>
      <_description>Calculates the hyperfactorial of an integer. Multiplies the argument raised by itself with every lesser positive integer raised by themselves (1^1 * 2^2 ... n^n).</_description>
      <example>$name(3) = (3^3) * (2^2) * (1^1) = 108</example>
      <argument type="integer" index="1">
        <_title>Value</_title>
        <min>1</min>
      </argument>
    </function>
    <function>
      <_title>Superfactorial</_title>
      <_names>r:superfactorial</_names>
      <expression>product(factorial(x),0,\x,x)</expression>
      <_description>Calculates the superfactorial of an integer. Multiplies the factorial of the argument with the factorial of every lesser positive integer (1! * 2! ... n!).</_description>
      <example>$name(5) = 5! * 4! * 3! * 2! * 1! = 34 560</example>
      <argument type="integer" index="1">
        <_title>Value</_title>
        <min>0</min>
      </argument>
    </function>
    <function>
      <_title>Permutations (Variations)</_title>
      <_names>r:perm,variations</_names>
      <expression>if(\y>\x,0,\x!/(\x-\y)!)</expression>
      <_description>Returns the number of possible arrangements of an ordered list with a number of objects to choose from and a list size. If there are three objects (1, 2 and 3) that are put in a list with two positions, the alternatives are [1, 2], [2, 1], [1, 3], [3, 1], [2, 3] and [3, 2], and thus the number of permutations is 6.</_description>
      <argument type="integer" index="1">
        <_title>Objects</_title>
        <min>0</min>
      </argument>
      <argument type="integer" index="2">
        <_title>Size</_title>
        <min>0</min>
      </argument>
    </function>
    <function>
      <_title>Combinations</_title>
      <_names>r:comb</_names>
      <expression>if(\y>\x,0,\x!/(\y!*(\x-\y)!))</expression>
      <_description>Returns the number of possible arrangements of an unordered list with a number of objects to choose from and a list size. If there are three objects (1, 2 and 3) that are put in a list with place for two, the alternatives are [1, 2], [1, 3], and [2, 3], and thus the number of combinations is 3.</_description>
      <argument type="integer" index="1">
        <_title>Objects</_title>
        <min>0</min>
      </argument>
      <argument type="integer" index="2">
        <_title>Size</_title>
        <min>0</min>
      </argument>
    </function>
    <function>
      <_title>Derangements</_title>
      <_names>r:derangements</_names>
      <_description>Returns the number of possible rearrangements of an ordered list, of a certain size, where none of the objects are in their original positions. If the original list is [1, 2, 3], the possible derangements are [2, 3, 1] and [3, 1, 2], and thus the number of derangements is 2.</_description>
      <expression>factorial(\x)*sum(((-1)^"i")/factorial("i"),0,\x,"i")</expression>
      <argument type="integer" index="1">
        <_title>Number of elements</_title>
        <min>1</min>
      </argument>
    </function>
  </category>
  <category>
    <_title>Number Theory</_title>
    <builtin_function name="abs">
      <_title>Absolute Value</_title>
      <_names>r:abs</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <category>
      <_title>Arithmetic</_title>
      <builtin_function name="sgn">
        <_title>Signum</_title>
        <_names>r:sgn</_names>
        <argument index="1">
          <!-- A numerical value -->
          <_title>Number</_title>
        </argument>
        <argument index="2">
          <_title>Value for zero</_title>
        </argument>
      </builtin_function>
      <builtin_function name="numerator">
        <_title>Numerator</_title>
        <_names>r:numerator</_names>
        <argument index="1">
          <_title>Number</_title>
        </argument>
      </builtin_function>
      <builtin_function name="denominator">
        <_title>Denominator</_title>
        <_names>r:denominator</_names>
        <argument index="1">
          <_title>Number</_title>
        </argument>
      </builtin_function>
      <builtin_function name="rem">
        <_title>Remainder</_title>
        <_names>r:rem</_names>
        <argument index="1">
          <_title>Numerator</_title>
        </argument>
        <argument index="2">
          <_title>Denominator</_title>
        </argument>
      </builtin_function>
      <builtin_function name="mod">
        <_title>Modulus</_title>
        <_names>r:mod</_names>
        <argument index="1">
          <_title>Numerator</_title>
        </argument>
        <argument index="2">
          <_title>Denominator</_title>
        </argument>
      </builtin_function>
      <builtin_function name="powmod">
        <_title>Modular Exponentiation</_title>
	<_description>Finds the modular inverse for negative exponents, and is otherwise equivalent to mod(a^b, c). For negative exponents the greatest common divisor of the numerator and the denominator must be 1.</_description>
        <_names>r:powmod,power_mod</_names>
        <argument index="1">
          <_title>Numerator</_title>
        </argument>
	<argument index="2">
          <_title>Exponent</_title>
        </argument>
        <argument index="3">
          <_title>Denominator</_title>
        </argument>
      </builtin_function>
      <builtin_function name="parallel">
        <_title>Parallel Sum</_title>
        <_names>r:parallel</_names>
      </builtin_function>
      <function>
        <_title>Integer Division</_title>
        <_names>r:div</_names>
        <expression>trunc(\x/\y)</expression>
        <argument type="free" index="1">
          <_title>Numerator</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Denominator</_title>
        </argument>
      </function>
      <function>
        <_title>Negate</_title>
        <_names>r:neg</_names>
        <expression>-\x</expression>
        <argument type="free" index="1">
          <_title>Value</_title>
	  <handle_vector>false</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Subtract</_title>
        <_names>r:subtract</_names>
        <expression>element(\x,1)-sum(element(\x,"i"),2,elements(\x))</expression>
        <condition>elements(\x)&gt;=2</condition>
        <argument type="vector" index="1">
          <_title>Terms</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Polynomials</_title>
      <builtin_function name="coeff">
        <_title>Coefficient</_title>
        <_names>r:coeff</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Number</_title>
        </argument>
        <argument index="3">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="lcoeff">
        <_title>Leading Coefficient</_title>
        <_names>r:lcoeff</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="tcoeff">
        <_title>Trailing Coefficient</_title>
        <_names>r:tcoeff</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="degree">
        <_title>Polynomial Degree</_title>
        <_names>r:degree</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="ldegree">
        <_title>Lowest Degree (Valuation)</_title>
        <_names>r:ldegree</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="pcontent">
        <_title>Content Part</_title>
        <_names>r:pcontent</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="primpart">
        <_title>Primitive Part</_title>
        <_names>r:primpart</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
      <builtin_function name="punit">
        <_title>Unit Part</_title>
        <_names>r:punit</_names>
        <argument index="1">
          <_title>Polynomial</_title>
        </argument>
        <argument index="2">
          <_title>Variable</_title>
        </argument>
      </builtin_function>
    </category>
    <category>
      <_title>Prime Numbers</_title>
      <builtin_function name="nthprime">
        <_title>Nth Prime Number</_title>
        <_names>r:nthprime</_names>
        <argument index="1">
          <_title>Index (n)</_title>
        </argument>
      </builtin_function>
      <builtin_function name="primePi">
        <_title>Prime Counting Function</_title>
	<_description>Returns the number of prime numbers less than or equal to the specified number.</_description>
        <_names>r:primePi,ou:prime&#x3C0;,o:prime_pi</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="nextprime">
        <_title>Next Prime Number</_title>
	<_description>Returns the next prime number greater than or equal to the specified number.</_description>
        <_names>r:nextprime</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="prevprime">
        <_title>Previous Prime Number</_title>
	<_description>Returns the largest prime number smaller than or equal to the specified number.</_description>
	<_description></_description>
        <_names>r:prevprime</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="isprime">
        <_title>Is Prime Number</_title>
        <_names>r:isprime</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="primes">
        <_title>Prime Numbers Less Than or Equal</_title>
	<_description>Returns a vector containing all the prime numbers less than or equal to the specified number.</_description>
        <_names>r:primes</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
    </category>
    <builtin_function name="gcd">
      <_title>Greatest Common Divisor</_title>
      <_names>rc:gcd,c:GCD</_names>
      <argument index="1">
        <_title>Value 1</_title>
      </argument>
      <argument index="2">
        <_title>Value 2</_title>
      </argument>
      <argument index="3">
        <_title>Value 3</_title>
      </argument>
    </builtin_function>
    <builtin_function name="lcm">
      <_title>Least Common Multiple</_title>
      <_names>r:lcm</_names>
      <argument index="1">
        <_title>Value 1</_title>
      </argument>
      <argument index="2">
        <_title>Value 2</_title>
      </argument>
      <argument index="3">
        <_title>Value 3</_title>
      </argument>
    </builtin_function>
    <builtin_function name="divisors">
      <_title>Divisors</_title>
      <_names>r:divisors</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="bernoulli">
      <_title>Bernoulli Number/Polynomial</_title>
      <_description>Returns the nth Bernoulli number or polynomial (if the second argument is non-zero).</_description>
      <_names>r:bernoulli</_names>
      <argument index="1">
        <_title>Index (n)</_title>
      </argument>
      <argument index="2">
        <_title>Variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="totient">
      <_title>Euler's Totient Function</_title>
      <_description>Counts the positive integers up to a given integer n that are relatively prime to n.</_description>
      <_names>r:totient,au:&#x3C6;,phi</_names>
      <argument index="1">
        <_title>n</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Fibonacci Number</_title>
      <_names>r:fibonacci</_names>
      <_description>Returns the n-th term of the Fibonacci sequence.</_description>
      <subfunction precalculate="true">\x</subfunction>
      <expression>if(isInteger(\1),(golden^\1−(1−golden)^\1)/sqrt(5),(golden^\x-cos(\x*pi*rad)*golden^(-\x))/sqrt(5))</expression>
      <argument type="number" index="1">
        <_title>Index (n)</_title>
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Multiples</_title>
      <_names>r:multiples</_names>
      <_description>Returns all multiples of a value in the specified range.</_description>
      <example>$name(9, 50, 100) = [54  63  72  81  90  99]</example>
      <expression>if(ceil(\y/abs(\x))&gt;floor(\z/abs(\x)),[],genvector("i"*abs(\x),ceil(\y/abs(\x)),floor(\z/abs(\x)),1,"i",1))</expression>
      <condition>\y&lt;=\z</condition>
      <argument type="number" index="1">
        <_title>Value</_title>
        <zero_forbidden>true</zero_forbidden>
      </argument>
      <argument type="number" index="2">
        <_title>Min</_title>
        <test>false</test>
      </argument>
      <argument type="number" index="3">
        <_title>Max</_title>
        <test>false</test>
      </argument>
    </function>
    <category>
      <_title>Rounding</_title>
      <_title>Rounding</_title>
      <builtin_function name="round">
        <_title>Round</_title>
        <_names>r:round</_names>
        <_description>Round to nearest integer or decimal. If the second argument is zero, the value is rounded towards the nearest integer, otherwise the value is rounded to the corresponding number of digits to the right (if positive) or left (if negative) of the decimal point.&#10;&#10;Available rounding methods (3rd argument): half away from zero (0), half to even (1), half to odd (2), half toward zero (3), half up (4), half down (5), half random (6), toward zero (7), away from zero (8), up (9), down (10)</_description>
        <argument index="1">
          <_title>Value</_title>
        </argument>
        <argument index="2">
          <_title>Number of decimals</_title>
        </argument>
        <argument index="3">
          <_title>Rounding method</_title>
        </argument>
      </builtin_function>
      <builtin_function name="floor">
        <_title>Round Downwards</_title>
        <_names>r:floor</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="ceil">
        <_title>Round Upwards</_title>
        <_names>r:ceil</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="trunc">
        <_title>Round Towards Zero</_title>
        <_names>r:trunc</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="int">
        <_title>Integer Part</_title>
        <_names>r:int</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="frac">
        <_title>Fractional Part</_title>
        <_names>r:frac</_names>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="integerDigits">
        <_title>Integer Digits</_title>
        <_names>r:integerDigits</_names>
        <argument index="1">
          <_title>Number</_title>
        </argument>
	<argument index="2">
          <_title>Base</_title>
        </argument>
	<argument index="3">
          <_title>Length</_title>
        </argument>
      </builtin_function>
      <builtin_function name="digitGet">
        <_title>Get Digit</_title>
        <_names>r:digitGet,numberDigit</_names>
	<_description>Returns digit at specified position (index of first digit left of decimal sign is zero).</_description>
        <argument index="1">
          <_title>Number</_title>
        </argument>
	<argument index="2">
          <_title>Position</_title>
        </argument>
	<argument index="3">
          <_title>Base</_title>
        </argument>
      </builtin_function>
      <builtin_function name="digitSet">
        <_title>Set Digit</_title>
        <_names>r:digitSet</_names>
	<_description>Sets the digit at specified position (index of first digit left of decimal sign is zero).</_description>
        <argument index="1">
          <_title>Number</_title>
        </argument>
	<argument index="2">
          <_title>Position</_title>
        </argument>
	<argument index="3">
          <_title>Value</_title>
        </argument>
	<argument index="4">
          <_title>Base</_title>
        </argument>
      </builtin_function>
      <function>
        <_title>Clip</_title>
        <_names>r:clip</_names>
        <_description>Clips or limits the input value to be between the lower and upper bounds.</_description>
        <expression>min(max(\x, \Y{-infinity}), \Z{infinity})</expression>
        <condition>\y&lt;=\z</condition>
        <argument type="free" index="1">
          <_title>Value</_title>
        </argument>
        <argument type="number" index="2">
          <_title>Lower bound</_title>
          <complex_allowed>false</complex_allowed>
        </argument>
        <argument type="number" index="3">
          <_title>Upper bound</_title>
          <complex_allowed>false</complex_allowed>
        </argument>
      </function>
    </category>
    <category>
      <_title>Number Bases</_title>
      <builtin_function name="base">
        <_title>Number Base</_title>
        <_names>r:base</_names>
        <_description>Returns a value from an expression using the specified number base (radix). For bases between -62 and 62 full mathematical expressions (including operators and functions) are supported, while for other bases the specified expression is converted to a single number.&#10;&#10;Bases ≤ 36 use digits 0-9 and A-Z (case insensitive).&#10;&#10;Bases between 37 and 62 uses case sensitive letters (0-9, A-Z, a-z) as digits ('z' equals 61).&#10;&#10;Bases over 62 use Unicode characters as digits, with the character code as value (e.g. '0' equals 48). Escaped characters are in this case supported (e.g. '\0' = 0, '\523' = 523, '\x7f' = 127).&#10;&#10;Negative bases use the same digits as the corresponding positive bases and the digits used for non-integer bases are determined by rounding the base away from zero. Bases that are not real numbers by default use digits 0-9 and A-Z.&#10;&#10;The set of digits used can be selected using the third argument (defaults to 0 for automatic selection). Set it to 1 for digits 0-9 and A-Z, 2 for 0-9, A-Z and a-z, 3 for Unicode digits, and 4 for phonewords (e.g. ABC=2, CDE=3, etc.), or enter a text string with all digits placed in ascending order (e.g. "0123456789") and optionally separated by semicolon (to enable multple equivalent digits, e.g. "0;aA1;bB2;cC3"). When the set of digits is manually selected, the specified expression is always converted to a single number.</_description>
        <argument index="1">
          <_title>Number</_title>
        </argument>
        <argument index="2">
          <_title>Base</_title>
        </argument>
        <argument index="3">
          <_title>Set of digits</_title>
        </argument>
      </builtin_function>
      <builtin_function name="bin">
        <_title>Binary</_title>
        <_names>r:bin</_names>
        <_description>Returns a value from a binary expression. If two's complement is true, numbers beginning with '1' are interpreted as negative binary numbers using two's complement.</_description>
        <argument index="1">
          <_title>Binary number</_title>
        </argument>
        <argument index="2">
          <_title>Two's complement</_title>
        </argument>
      </builtin_function>
      <builtin_function name="oct">
        <_title>Octal</_title>
        <_names>r:oct</_names>
        <_description>Returns a value from an octal expression.</_description>
        <argument index="1">
          <_title>Octal number</_title>
        </argument>
      </builtin_function>
      <builtin_function name="dec">
        <_title>Decimal</_title>
        <_names>r:dec</_names>
        <_description>Returns a value from a decimal expression.</_description>
        <argument index="1">
          <_title>Decimal number</_title>
        </argument>
      </builtin_function>
      <builtin_function name="hex">
        <_title>Hexadecimal</_title>
        <_names>r:hex</_names>
        <_description>Returns a value from a hexadecimal expression. If two's complement is true, numbers beginning with 8 or higher are interpreted as negative hexadecimal numbers using two's complement.</_description>
        <argument index="1">
          <_title>Hexadecimal number</_title>
        </argument>
        <argument index="2">
          <_title>Two's complement</_title>
        </argument>
      </builtin_function>
      <builtin_function name="bijective">
        <_title>Bijective base-26</_title>
        <_names>r:bijective</_names>
        <_description>Returns a value from an expression in bijective base-26. Conversion in the opposite direction is also supported.</_description>
        <argument index="1">
          <_title>Bijective base-26 number</_title>
        </argument>
      </builtin_function>
      <builtin_function name="bcd">
        <_title>Binary-Coded Decimal (BCD)</_title>
        <_names>r:bcd</_names>
        <argument index="1">
          <_title>Binary-coded decimal number</_title>
        </argument>
	<argument index="2">
	  <!-- Packed binary-coded decimal -->
          <_title>Packed</_title>
        </argument>
      </builtin_function>
    </category>
    <category>
      <_title>Integers</_title>
      <builtin_function name="even">
        <_title>Even</_title>
        <_names>r:even</_names>
        <argument index="1">
          <_title>Number</_title>
        </argument>
      </builtin_function>
      <builtin_function name="odd">
        <_title>Odd</_title>
        <_names>r:odd</_names>
        <argument index="1">
          <_title>Number</_title>
        </argument>
      </builtin_function>
    </category>
  </category>
  <category>
    <_title>Special Functions</_title>
    <builtin_function name="gamma">
      <_title>Gamma Function</_title>
      <_names>r:gamma</_names>
    </builtin_function>
    <builtin_function name="digamma">
      <_title>Digamma Function</_title>
      <_names>r:digamma,psi</_names>
    </builtin_function>
    <builtin_function name="beta">
      <_title>Beta Function</_title>
      <_names>r:beta</_names>
    </builtin_function>
    <builtin_function name="erf">
      <_title>Error Function</_title>
      <_names>r:erf</_names>
    </builtin_function>
    <builtin_function name="erfc">
      <_title>Complementary Error Function</_title>
      <_names>r:erfc</_names>
    </builtin_function>
    <builtin_function name="erfi">
      <_title>Imaginary Error Function</_title>
      <_names>r:erfi</_names>
    </builtin_function>
    <builtin_function name="erfinv">
      <_title>Inverse Error Function</_title>
      <_names>r:erfinv</_names>
    </builtin_function>
    <builtin_function name="Li">
      <_title>Polylogarithm</_title>
      <_names>rc:Li,polylog</_names>
      <argument index="1">
        <_title>Order</_title>
      </argument>
      <argument index="2">
        <_title>Argument</_title>
      </argument>
    </builtin_function>
    <builtin_function name="airy">
      <_title>Airy Function</_title>
      <_names>r:airy</_names>
    </builtin_function>
    <builtin_function name="besselj">
      <_title>Bessel Function of the First Kind</_title>
      <_names>r:besselj</_names>
      <argument index="1">
        <_title>Order</_title>
      </argument>
      <argument index="2">
        <_title>Argument</_title>
      </argument>
    </builtin_function>
    <builtin_function name="bessely">
      <_title>Bessel Function of the Second Kind</_title>
      <_names>r:bessely</_names>
      <argument index="1">
        <_title>Order</_title>
      </argument>
      <argument index="2">
        <_title>Argument</_title>
      </argument>
    </builtin_function>
    <builtin_function name="zeta">
      <_title>Riemann Zeta</_title>
      <_description>Calculates Hurwitz zeta function if the second argument is not 1.</_description>
      <_names>r:zeta</_names>
      <argument index="1">
        <_title>Integral point</_title>
      </argument>
      <argument index="2">
        <_title>Hurwitz zeta argument</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Kronecker Delta</_title>
      <_names>r:kronecker,kronecker_delta</_names>
      <_description>Returns 0 if i != j and 1 if i = j.</_description>
      <expression>\x=\Y{0}</expression>
      <argument type="number" index="1">
        <_title>Value 1 (i)</_title>
        <complex_allowed>false</complex_allowed>
        <test>false</test>
      </argument>
      <argument type="number" index="2">
        <_title>Value 2 (j)</_title>
        <complex_allowed>false</complex_allowed>
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Logit Transformation</_title>
      <_names>r:logit</_names>
      <expression>ln(\x/(1-\x))</expression>
      <argument type="number" index="1">
        <_title>Value</_title>
      </argument>
    </function>
    <function>
      <_title>Probit Function</_title>
      <_names>r:probit</_names>
      <expression>sqrt(2)*erfinv(2\x-1)</expression>
      <argument type="number" index="1">
        <_title>Value</_title>
        <min include_equals="true">0</min>
        <max include_equals="true">1</max>
      </argument>
    </function>
    <function>
      <_title>Sigmoid Function</_title>
      <_names>r:sigmoid</_names>
      <expression>1/(1+e^(-\x))</expression>
      <argument type="number" index="1">
        <_title>Value</_title>
        <test>false</test>
      </argument>
    </function>
    <category>
    <_title>Step Functions</_title>
      <builtin_function name="heaviside">
        <_title>Heaviside Step Function</_title>
        <_names>r:heaviside,au:&#x03B8;</_names>
        <_description>Discontinuous function also known as "unit step function". Returns 0 if x &lt; 0, 1 if x &gt; 0, and 1/2 if x = 0.</_description>
      </builtin_function>
      <builtin_function name="dirac">
        <_title>Dirac Delta Function</_title>
        <_names>r:dirac,au:&#x3B4;</_names>
        <_description>Returns 0 if x is non-zero, and infinity if x is zero.</_description>
      </builtin_function>
      <function>
        <_title>Ramp Function</_title>
        <_names>r:ramp</_names>
        <expression>(\x+abs(\x))/2</expression>
        <argument type="number" index="1">
          <_title>Value</_title>
          <complex_allowed>false</complex_allowed>
          <test>false</test>
        </argument>
      </function>
      <function>
        <_title>Rectangular Function</_title>
        <_names>r:rectangular</_names>
        <expression>heaviside(\x+(1/2))-heaviside(\x-(1/2))</expression>
        <argument type="number" index="1">
          <_title>Value</_title>
          <complex_allowed>false</complex_allowed>
          <test>false</test>
        </argument>
      </function>
      <function>
        <_title>Triangular Function</_title>
        <_names>r:triangular</_names>
        <expression>if(abs(\x)&lt;1,1-abs(\x),0)</expression>
        <argument type="number" index="1">
          <_title>Value</_title>
          <complex_allowed>false</complex_allowed>
          <test>false</test>
        </argument>
      </function>
    </category>
  </category>
  <category>
    <_title>Complex Numbers</_title>
    <builtin_function name="re">
      <_title>Real Part</_title>
      <_names>r:re,au:&#x211C;</_names>
      <argument index="1">
        <_title>Complex number</_title>
      </argument>
    </builtin_function>
    <builtin_function name="im">
      <_title>Imaginary Part</_title>
      <_names>r:im,au:&#x2111;</_names>
      <argument index="1">
        <_title>Complex number</_title>
      </argument>
    </builtin_function>
    <builtin_function name="arg">
      <_title>Principal Argument</_title>
      <_names>r:arg</_names>
      <argument index="1">
        <_title>Complex number</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Complex Conjugate</_title>
      <_names>r:conj</_names>
      <expression>re(\x)-i*im(\x)</expression>
      <argument type="number" index="1">
        <_title>Complex number</_title>
        <test>false</test>
      </argument>
    </function>
  </category>
  <category>
    <_title>Exponents &amp; Logarithms</_title>
    <builtin_function name="sqrt">
      <_title>Square Root</_title>
      <_names>au:&#x221A;,r:sqrt</_names>
      <_description>Returns the principal square root (for positive values the positive root is returned).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="cbrt">
      <_title>Cube Root</_title>
      <_names>r:cbrt,aou:&#x221B;</_names>
      <_description>Returns the third real root.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="root">
      <_title>Nth root</_title>
      <_names>r:root</_names>
      <_description>Returns the real root. For negative values the degree must be odd. Complex values are not allowed.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <!--nth root argument-->
        <_title>Degree (n)</_title>
      </argument>
    </builtin_function>
    <builtin_function name="allroots">
      <_title>All Roots</_title>
      <_names>r:allroots</_names>
      <example>$name(4, 2) = [2  -2]</example>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Degree (n)</_title>
      </argument>
    </builtin_function>
    <builtin_function name="sq">
      <_title>Square</_title>
      <_names>r:sq</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="exp">
      <_title>Exponential (e^x)</_title>
      <_names>r:exp</_names>
      <argument index="1">
        <_title>Exponent</_title>
      </argument>
    </builtin_function>
    <builtin_function name="ln">
      <_title>Natural Logarithm</_title>
      <_names>r:ln</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="log">
      <_title>Base-N Logarithm</_title>
      <_names>r:log</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Base</_title>
      </argument>
    </builtin_function>
    <builtin_function name="lambertw">
      <_title>Lambert W Function (Omega Function, Product Log)</_title>
      <_names>r:lambertw,productlog</_names>
      <_description>Returns the inverse function for x*e^x as ln() does for e^x. Only the principal branch and real valued results are currently supported.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Branch</_title>
      </argument>
    </builtin_function>
    <builtin_function name="cis">
      <_title>Complex Exponential (Cis)</_title>
      <_names>r:cis</_names>
      <argument index="1">
        <_title>Exponent</_title>
      </argument>
    </builtin_function>
    <builtin_function name="powertower">
      <_title>Power Tower</_title>
      <_names>r:powertower</_names>
      <example>$name(2, 4) = 2^(2^(2^2)) = 65 536</example>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Order</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Base-2 Logarithm</_title>
      <_names>rs:log2</_names>
      <_description>Returns the base n logarithm.</_description>
      <expression>log(\x,2)</expression>
      <argument type="number" index="1">
        <_title>Value</_title>
        <test>false</test>
        <min include_equals="true">0</min>
      </argument>
    </function>
    <function>
      <_title>Base-10 Logarithm</_title>
      <_names>rs:log10</_names>
      <_description>Returns the base n logarithm.</_description>
      <expression>log(\x,10)</expression>
      <argument type="number" index="1">
        <_title>Value</_title>
        <test>false</test>
        <min include_equals="true">0</min>
      </argument>
    </function>
    <function>
      <_title>2 raised to the power X</_title>
      <_names>rs:exp2</_names>
      <expression>2^\x</expression>
      <argument type="free" index="1">
        <_title>Exponent</_title>
      </argument>
    </function>
    <function>
      <_title>10 raised to the power X</_title>
      <_names>rs:exp10</_names>
      <expression>10^\x</expression>
      <argument type="free" index="1">
        <_title>Exponent</_title>
      </argument>
    </function>
    <function>
      <_title>Square root (x * pi)</_title>
      <_names>r:sqrtpi</_names>
      <_description>Returns the non-negative square root of x * pi</_description>
      <expression>abs((\x*pi)^(1/2))</expression>
      <argument type="number" index="1">
        <_title>Non-negative value</_title>
        <min include_equals="true">0</min>
      </argument>
    </function>
  </category>
  <category>
    <_title>Trigonometry</_title>
    <builtin_function name="sin">
      <_title>Sine</_title>
      <_names>r:sin</_names>
      <!-- Angle argument for trigonometric functions -->
      <argument index="1">
        <_title>Angle</_title>
      </argument>
    </builtin_function>
    <builtin_function name="cos">
      <_title>Cosine</_title>
      <_names>r:cos</_names>
      <argument index="1">
        <_title>Angle</_title>
      </argument>
    </builtin_function>
    <builtin_function name="tan">
      <_title>Tangent</_title>
      <_names>r:tan</_names>
      <argument index="1">
        <_title>Angle</_title>
      </argument>
    </builtin_function>
    <builtin_function name="asin">
      <_title>Inverse Sine</_title>
      <_names>r:arcsin, r:asin</_names>
    </builtin_function>
    <builtin_function name="acos">
      <_title>Inverse Cosine</_title>
      <_names>r:arccos, r:acos</_names>
    </builtin_function>
    <builtin_function name="atan">
      <_title>Inverse Tangent</_title>
      <_names>r:arctan, r:atan</_names>
    </builtin_function>
    <builtin_function name="sinh">
      <_title>Hyperbolic Sine</_title>
      <_names>r:sinh</_names>
    </builtin_function>
    <builtin_function name="cosh">
      <_title>Hyperbolic Cosine</_title>
      <_names>r:cosh</_names>
    </builtin_function>
    <builtin_function name="tanh">
      <_title>Hyperbolic Tangent</_title>
      <_names>r:tanh</_names>
    </builtin_function>
    <builtin_function name="asinh">
      <_title>Inverse Hyperbolic Sine</_title>
      <_names>r:arsinh, r:asinh</_names>
    </builtin_function>
    <builtin_function name="acosh">
      <_title>Inverse Hyperbolic Cosine</_title>
      <_names>r:arcosh, r:acosh</_names>
    </builtin_function>
    <builtin_function name="atanh">
      <_title>Inverse Hyperbolic Tangent</_title>
      <_names>r:artanh, r:atanh</_names>
    </builtin_function>
    <builtin_function name="atan2">
      <_title>Four-quadrant Inverse Tangent</_title>
      <_names>r:atan2, arctan2</_names>
      <_description>Computes the principal value of the argument function applied to the complex number x+iy.</_description>
      <argument index="1">
        <_title>Y</_title>
      </argument>
      <argument index="2">
        <_title>X</_title>
      </argument>
    </builtin_function>
    <builtin_function name="sinc">
      <_title>Cardinal Sine (Sinc Function)</_title>
      <_names>r:sinc</_names>
    </builtin_function>
    <builtin_function name="radtodef">
      <_title>Radians to Default Angle Unit</_title>
      <_names>r:radtodef</_names>
      <argument index="1">
        <_title>Radians</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Default Angle Unit to Radians</_title>
      <_names>r:deftorad</_names>
      <expression>\x/radtodef(1)</expression>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </function>
    <function>
      <_title>Secant</_title>
      <_names>r:sec</_names>
      <expression>1/cos(\x)</expression>
      <argument type="angle" index="1">
        <_title>Angle</_title>
        <test>false</test>
        <handle_vector>true</handle_vector>
      </argument>
    </function>
    <function>
      <_title>Cosecant</_title>
      <_names>r:csc</_names>
      <expression>1/sin(\x)</expression>
      <argument type="angle" index="1">
        <_title>Angle</_title>
        <test>false</test>
        <handle_vector>true</handle_vector>
      </argument>
    </function>
    <function>
      <_title>Cotangent</_title>
      <_names>r:cot</_names>
      <expression>cos(\x)/sin(\x)</expression>
      <argument type="angle" index="1">
        <_title>Angle</_title>
        <test>false</test>
        <handle_vector>true</handle_vector>
      </argument>
    </function>
    <function>
      <_title>Hyperbolic Secant</_title>
      <_names>r:sech</_names>
      <expression>1/cosh(\x)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Hyperbolic Cosecant</_title>
      <_names>r:csch</_names>
      <expression>1/sinh(\x)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Hyperbolic Cotangent</_title>
      <_names>r:coth</_names>
      <expression>cosh(\x)/sinh(\x)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Inverse Secant</_title>
      <_names>r:arcsec, r:asec</_names>
      <expression>acos(1/\x)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Inverse Cosecant</_title>
      <_names>r:arccsc, r:acsc</_names>
      <expression>asin(1/\x)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Inverse Cotangent</_title>
      <_names>r:arccot, r:acot</_names>
      <expression>if(\x=0,radtodef(pi/2),atan(1/\x),1)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Inverse Hyperbolic Secant</_title>
      <_names>r:arsech, r:asech</_names>
      <expression>acosh(1/\x)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Inverse Hyperbolic Cosecant</_title>
      <_names>r:arcsch, r:acsch</_names>
      <expression>if(\x=0,plus_infinity,asinh(1/\x),1)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
    <function>
      <_title>Inverse Hyperbolic Cotangent</_title>
      <_names>r:arcoth, r:acoth</_names>
      <expression>if(\x=0,pi/2*i,atanh(1/\x),1)</expression>
      <argument type="number" index="1">
        <test>false</test>
      </argument>
    </function>
  </category>
  <category>
    <_title>Miscellaneous</_title>
    <builtin_function name="float">
      <_title>IEEE 754 Floating-Point</_title>
      <_names>r:float</_names>
      <_description>Reads a number in a IEEE 754 floating-point format. The number will be read as a binary number, unless it contains digits other than 1 or 0. If the third argument (exponent bits) is set to zero, the standard number of exponent bits will be used (e.g. 8 for 32-bit format).</_description>
      <argument index="1">
        <_title>Floating-point number (binary)</_title>
      </argument>
      <argument index="2">
        <_title>Number of bits</_title>
      </argument>
      <argument index="3">
        <_title>Number of exponent bits</_title>
      </argument>
      <argument index="4">
        <_title>Position of sign bit</_title>
      </argument>
    </builtin_function>
    <builtin_function name="floatBits">
      <_title>IEEE 754 Floating-Point Bits</_title>
      <_names>r:floatBits</_names>
      <_description>Converts a value to a number in a IEEE 754 floating-point format and returns the number corresponding to the binary representation. If the third argument (exponent bits) is set to zero, the standard number of exponent bits will be used (e.g. 8 for 32-bit format).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Number of bits</_title>
      </argument>
      <argument index="3">
        <_title>Number of exponent bits</_title>
      </argument>
      <argument index="4">
        <_title>Position of sign bit</_title>
      </argument>
    </builtin_function>
    <builtin_function name="floatError">
      <_title>IEEE 754 Floating-Point Error</_title>
      <_names>r:floatError</_names>
      <_description>Calculates the error (the difference between the original and the converted value) when converting a value to a IEEE 754 floating-point format. If the third argument (exponent bits) is set to zero, the standard number of exponent bits will be used (e.g. 8 for 32-bit format).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Number of bits</_title>
      </argument>
      <argument index="3">
        <_title>Number of exponent bits</_title>
      </argument>
      <argument index="4">
        <_title>Position of sign bit</_title>
      </argument>
    </builtin_function>
    <builtin_function name="floatParts">
      <_title>IEEE 754 Floating-Point Components</_title>
      <_names>r:floatParts</_names>
      <_description>Converts a value to a number in a IEEE 754 floating-point format and returns sign, exponent, and significand in a vector. If the third argument (exponent bits) is set to zero, the standard number of exponent bits will be used (e.g. 8 for 32-bit format).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Number of bits</_title>
      </argument>
      <argument index="3">
        <_title>Number of exponent bits</_title>
      </argument>
      <argument index="4">
        <_title>Position of sign bit</_title>
      </argument>
    </builtin_function>
    <builtin_function name="floatValue">
      <_title>IEEE 754 Floating-Point Value</_title>
      <_names>r:floatValue</_names>
      <_description>Returns the closest value that can be represented by a IEEE 754 floating-point format. If the third argument (exponent bits) is set to zero, the standard number of exponent bits will be used (e.g. 8 for 32-bit format).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Number of bits</_title>
      </argument>
      <argument index="3">
        <_title>Number of exponent bits</_title>
      </argument>
      <argument index="4">
        <_title>Position of sign bit</_title>
      </argument>
    </builtin_function>
    <builtin_function name="roman">
      <_title>Roman Number</_title>
      <_names>r:roman</_names>
      <_description>Returns the value of a roman number.</_description>
      <argument index="1">
        <_title>Roman number</_title>
      </argument>
    </builtin_function>
    <builtin_function name="geodistance">
      <_title>Distance Between GPS Coordinates</_title>
      <_names>r:geodistance,gpsdistance</_names>
      <_description>Calculates the distance between two geodetic coordinates using Vincenty's formulae (with datum WGS 84), or, in case of failure, the Haversine forumla. Each coordinate can be specified using a numerical value (representing decimal degrees), an angle (e.g. with degree unit), or a text string ending with N, S, E, or W (S for negative latitude, W for negative longitude).</_description>
      <argument index="1">
        <_title>Latitude 1</_title>
      </argument>
      <argument index="2">
        <_title>Longitude 1</_title>
      </argument>
      <argument index="3">
        <_title>Latitude 2</_title>
      </argument>
      <argument index="4">
        <_title>Longitude 2</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Convert to/from Q Format (Fixed Point)</_title>
      <_names>r:qFormat</_names>
      <expression>if((\A{0}=0&amp;&amp;isInteger(\x)),if(\Z{0}=0,\x/2^\y,\x/2^\z),if([\Z{0}==0,abs(\x)&gt;2^\y],[round(\x*2^\y),sgn(\x)*2^(\y+\z)+warning("overflow")],round(\x*2^\z)))</expression>
      <condition>\z=0||abs(\x)&lt;=2^(\y+\z)</condition>
      <_description>Converts to or from fixed point number. Corresponds to Qm.n format where m is the second argument and n is the third argument. m does not include the sign bit. If the value is an integer, and the fourth argument is false, the value is converted from fixed point, otherwise to.</_description>
      <argument type="number" index="1">
        <_title>Value</_title>
        <handle_vector>true</handle_vector>
      </argument>
      <argument type="integer" index="2">
        <_title>Bits (integer part)</_title>
        <min>0</min>
      </argument>
      <argument type="integer" index="3">
        <_title>Bits (fraction part)</_title>
        <min>0</min>
      </argument>
      <argument type="boolean" index="4">
        <_title>Always convert to</_title>
      </argument>
    </function>
    <function>
      <_title>Q Format Error (Fixed Point)</_title>
      <_names>r:qError</_names>
      <expression>abs(\x-qFormat(qNum(\x,\y,\Z{0}),\y,\z))</expression>
      <argument type="number" index="1">
        <_title>Value</_title>
        <handle_vector>true</handle_vector>
      </argument>
      <argument type="integer" index="2">
        <_title>Bits (integer part)</_title>
        <min>0</min>
      </argument>
      <argument type="integer" index="3">
        <_title>Bits (fraction part)</_title>
        <min>0</min>
      </argument>
    </function>
    <function>
      <_title>Body Mass Index (BMI)</_title>
      <_names>-r:bmi</_names>
      <_description>Calculates the Body Mass Index. The resulting BMI-value is sometimes interpreted as follows (although varies with age, sex, etc.):&#10;&#10;Underweight &lt; 18.5&#10;Normal weight 18.5-25&#10;Overweight 25-30&#10;Obesity &gt; 30&#10;&#10;Note that you must use units for weight (ex. 59kg) and length (ex. 174cm).</_description>
      <example>$name(127 lb, 5ft + 4in) = 21.80</example>
      <expression>(\x/(1000g))/(\y/m)^2</expression>
      <argument type="free" index="1">
        <_title>Weight</_title>
      </argument>
      <argument type="free" index="2">
	<!-- Length of human (omit "!human!" from translated string) -->
        <_title>!human!Height</_title>
      </argument>
    </function>
    <function>
      <_title>RAID Space</_title>
      <_names>r:raid</_names>
      <_description>Calculates RAID array disk capacity usable for data storage. If the combination of number of disks and RAID level is invalid, zero is returned. Supported RAID levels are 0, 1, 2, 3, 4, 5, 6, 1+0/10, 0+1, 5+0/50, 6+0/60, and 1+6. Stripes are optional and only used for nested RAID levels (except 1+0).</_description>
      <example>$name(4, 12, 5) = 12</example>
      <expression>if((\x="0",\x="1"||\x="1E",\x="2",\x="3"||\x="4"||\x="5",\x="6",\x="10"||\x="1+0",\x="01"||\x="0+1",\x="1+6",\x="50"||\x="5+0",\x="60"||\x="6+0"),(\z*\y,if(\z&gt;=2,\y,0),if(\z&gt;=3,(\z-log(\z+1,2))*\y,0),if(\z&gt;=3,(\z-1)*\y,0),if(\z&gt;=4,(\z-2)*\y,0),if(\z&gt;=4&amp;&amp;even(\z),\z/2*\y,0),if(\z&gt;=4,\z/\A{2}*\y,0),if(\z&gt;=8,(\A-2)*\y,0),if(\z&gt;=6,(\z-\A)*\y,0),if(\z&gt;=8,(\z-\A*2)*\y,0)),error("Unknown RAID level"),1)</expression>
      <argument type="text" index="1">
        <_title>RAID level</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Capacity of each disk</_title>
      </argument>
      <argument type="integer" index="3">
        <_title>Number of disks</_title>
        <min>1</min>
      </argument>
      <argument type="integer" index="4">
        <_title>Stripes</_title>
        <min>2</min>
      </argument>
    </function>
    <function>
      <_title>RAM Latency</_title>
      <_names>r:ramlatency</_names>
      <example>$name(3600, 18) = 10 ns</example>
      <expression>(\A{2}*\y+(\Z{1}-1))/if(isNumber(\x),\x*MHz,\x)</expression>
      <argument type="free" index="1">
        <_title>Data Rate</_title>
      </argument>
      <argument type="number" index="2">
        <_title>CAS Latency</_title>
        <min include_equals="false">0</min>
      </argument>
      <argument type="integer" index="3">
        <_title>Word</_title>
        <min>1</min>
      </argument>
      <argument type="integer" index="4">
        <_title>Transfers per Clock Cycle</_title>
        <min>1</min>
      </argument>
    </function>
    <function>
      <_title>Depth of Field</_title>
      <_names>r:dof</_names>
      <_description>Returns the estimated distance between the nearest and the farthest objects that are in acceptably sharp focus in a photo. Enter focal length (e.g. 50 mm) and distance (e.g. 5 m) with units, and f-stop without unit (2.8, 4.0, 5.6, etc.). Specify either a cicle of confusion diameter limit (e.g. 0.05 mm) or the sensor size of the camera - 0="35mm", 1="APS-H", 2="APS-CN" (Nikon, Pentax, Sony), 3="APS-C" (Canon), 4="4/3" (Four Thirds System), or 5='1"' (Nikon 1, Sony RX10, Sony RX100) - for a diameter based on d/1500.</_description>
      <example>$name(50 mm, 2.8, 2 m, "APS-C") ≈ 161 mm</example>
      <expression approximate="true">2*\z^2*\y*if((\A{0}=0||\a="35mm"||\a="35 mm"||\a=35mm,\a=1||\a="APS-H",\a=2||\a="APC-CN",\a=3||\a="APS-C",\a=4||\a="3/4"||\a=3/4,\a=5||\a='1"'||\a="1"||\a=1in||\a=1),(0.029mm,0.023mm,0.019mm,0.018mm,0.015mm,0.011mm),\a,1))/\x^2</expression>
      <argument type="free" index="1">
        <_title>Focal Length</_title>
      </argument>
      <argument type="number" index="2">
        <_title>F-stop (aperture)</_title>
        <min>0</min>
      </argument>
      <argument type="free" index="3">
        <_title>Distance</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Circle of confusion or sensor size</_title>
      </argument>
    </function>
    <function>
      <_title>American Wire Gauge Cross-Section Area</_title>
      <_names>r:awg</_names>
      <_description>For gauges larger than 0000 (4/0), please use negative values (00=-1, 000=-2, 0000=-3, 00000=-4, etc). For conversion to AWG, use an equation (e.g. awg(x) = 20 mm^2).</_description>
      <expression>25*8464^((36-if((\x="0000"||\x="4/0",\x="000"||\x="3/0",\x="00"||\x="2/0",\x="1/0"),(-3,-2,-1,0),dec(\x),1))/39)*cmil</expression>
      <argument type="text" index="1">
        <title>AWG</title>
      </argument>
    </function>
    <function>
      <_title>American Wire Gauge Diameter</_title>
      <_names>r:awgd</_names>
      <_description>For gauges larger than 0000 (4/0), please use negative values (00=-1, 000=-2, 0000=-3, 00000=-4, etc). For conversion to AWG, use an equation (e.g. awgd(x) = 5 mm).</_description>
      <expression>1.27E-4*92^((36-if((\x="0000"||\x="4/0",\x="000"||\x="3/0",\x="00"||\x="2/0",\x="1/0"),(-3,-2,-1,0),dec(\x),1))/39)*m</expression>
      <argument type="text" index="1">
        <title>AWG</title>
      </argument>
    </function>
    <function>
      <_title>Drill Bit Size</_title>
      <_names>r:drillbit</_names>
      <_description>Returns drill bit gauge number or letter, if argument is fraction or diameter value with length unit, or drill bit diameter (with length unit), if argument is an integer or an upper-case character (quoted)</_description>
      <example>$name("A") = 0.234 in; $name(4.4 mm) = 17</example>
      <subfunction precalculate="true">if(isNumber(\x),\x,\x/in)</subfunction>
      <subfunction precalculate="true">[0.413,0.404,0.397,0.386,0.377,0.368,0.358,0.348,0.339,0.332,0.323,0.316,0.302,0.295,0.290,0.281,0.277,0.272,0.266,0.261,0.257,0.250,0.246,0.242,0.238,0.234,0.228,0.221,0.213,0.209,0.2055,0.204,0.201,0.199,0.196,0.1935,0.191,0.189,0.185,0.182,0.180,0.177,0.173,0.1695,0.166,0.161,0.159,0.157,0.154,0.152,0.1495,0.147,0.144,0.1405,0.136,0.1285,0.120,0.116,0.113,0.111,0.110,0.1065,0.104,0.1015,0.0995,0.098,0.096,0.0935,0.089,0.086,0.082,0.081,0.0785,0.076,0.073,0.070,0.067,0.0635,0.0595,0.055,0.052,0.0465,0.043,0.042,0.041,0.040,0.039,0.038,0.037,0.036,0.035,0.033,0.032,0.031,0.0292,0.028,0.026,0.025,0.024,0.0225,0.021,0.020,0.018,0.016,0.0145,0.0135,0.013,0.0125,0.012,0.0115,0.011,0.0105,0.010,0.0095,0.0091,0.0087,0.0083,0.0079,0.0075,0.0071,0.0067,0.0063,0.0059,0.0055,0.0051,0.0047,0.0043,0.0039,0.0035,0.0031,0.0027,0.0023,0.0019]</subfunction>
      <expression>if((isInteger(\x),isNumber(\1),len(\x)=1&amp;&amp;code(\x)&lt;91&amp;&amp;code(\x)&gt;64),(if(\x&gt;107||\x&lt;1,undefined,element(\2,\x+26)*in),if(sum(\1&gt;(element(\2,"i")+element(\2,"i"+1))/2,1,132,"i")&gt;106,char(sum(\1&gt;(element(\2,"i")+element(\2,"i"+1))/2,1,132,"i")-42),107-sum(\1&gt;(element(\2,"i")+element(\2,"i"+1))/2,1,132,"i")),element(\2,26-(code(\x)-65))*in),undefined, 1)</expression>
      <argument index="1">
        <title>Diameter or Gauge</title>
      </argument>
    </function>
  </category>
  <category>
    <_title>Statistics</_title>
    <category>
      <_title>Descriptive Statistics</_title>
      <builtin_function name="total">
        <_title>Sum (total)</_title>
        <_names>r:total,r:add</_names>
        <argument index="1">
          <_title>Data</_title>
        </argument>
      </builtin_function>
      <builtin_function name="percentile">
        <_title>Percentile</_title>
        <_names>r:percentile</_names>
        <argument index="1">
          <_title>Vector</_title>
        </argument>
        <argument index="2">
          <_title>Percentile (%)</_title>
        </argument>
        <argument index="3">
          <_title>Quantile algorithm (as in R)</_title>
        </argument>
      </builtin_function>
      <builtin_function name="min">
        <_title>Min</_title>
        <_names>r:min</_names>
        <_description>Returns the lowest value.</_description>
        <argument index="1">
          <_title>Vector</_title>
        </argument>
      </builtin_function>
      <builtin_function name="max">
        <_title>Max</_title>
        <_names>r:max</_names>
        <_description>Returns the highest value.</_description>
        <argument index="1">
          <_title>Vector</_title>
        </argument>
      </builtin_function>
      <builtin_function name="mode">
        <_title>Mode</_title>
        <_names>r:mode</_names>
        <_description>Returns the most frequently occurring value.</_description>
        <argument index="1">
          <_title>Vector</_title>
        </argument>
      </builtin_function>
      <function>
        <_title>Range</_title>
        <_names>r:range</_names>
        <_description>Calculates the difference between the min and max value.</_description>
        <expression>max(\x)-min(\x)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
      </function>
      <function>
        <_title>Median</_title>
        <_names>r:median</_names>
        <expression>percentile(\x,50)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
      </function>
      <function>
        <_title>Quartile</_title>
        <_names>r:quartile</_names>
        <expression>percentile(\x,25*\y,\Z{8})</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
        <argument type="integer" index="2">
          <_title>Quartile</_title>
          <min>0</min>
          <max>4</max>
        </argument>
        <argument type="integer" index="3">
          <_title>Quantile Algorithm (as in R)</_title>
          <min>1</min>
          <max>9</max>
        </argument>
      </function>
      <function>
        <_title>Decile</_title>
        <_names>r:decile</_names>
        <expression>percentile(\x,10*\y,\Z{8})</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
        <argument type="integer" index="2">
          <_title>Decile</_title>
          <min>0</min>
          <max>10</max>
        </argument>
        <argument type="integer" index="3">
          <_title>Quantile Algorithm (as in R)</_title>
          <min>1</min>
          <max>9</max>
        </argument>
      </function>
      <function>
        <_title>Interquartile Range</_title>
        <_names>r:iqr</_names>
        <_description>Calculates the difference between the first and third quartile.</_description>
        <expression>quartile(\x,3,\Y{8})-quartile(\x,1,\Y{8})</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
        <argument type="integer" index="2">
          <_title>Quantile Algorithm (as in R)</_title>
          <min>1</min>
          <max>9</max>
        </argument>
      </function>
      <function>
        <_title>Number of Samples</_title>
        <!-- Number of samples -->
        <_names>r:number</_names>
        <_description>Returns the number of samples.</_description>
        <expression>dimension(\x)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
    </category>
    <category>
      <_title>Random Numbers</_title>
      <builtin_function name="rand">
        <_title>Random Number</_title>
        <_names>r:rand</_names>
        <_description>Generates a pseudo-random number. Returns a real number between 0 and 1, if ceil is zero (default), or an integer between 1 and (including) ceil.</_description>
        <argument index="1">
          <_title>Ceil</_title>
        </argument>
        <argument index="2">
          <_title>Number of values</_title>
        </argument>
      </builtin_function>
      <builtin_function name="randnorm">
        <_title>Normally Distributed Random Number</_title>
        <_names>r:randnorm</_names>
        <argument index="1">
          <_title>Mean</_title>
        </argument>
        <argument index="2">
          <_title>Standard deviation</_title>
        </argument>
        <argument index="3">
          <_title>Number of values</_title>
        </argument>
      </builtin_function>
      <builtin_function name="randpoisson">
        <_title>Poisson Distributed Random Number</_title>
        <_names>r:randpoisson</_names>
	<argument index="1">
          <_title>Rate (λ)</_title>
        </argument>
        <argument index="2">
          <_title>Number of values</_title>
        </argument>
      </builtin_function>
      <function>
        <_title>Uniformly Distributed Random Number</_title>
        <_names>r:randuniform</_names>
        <expression>\x+rand(0,\Z{1})*(\y-\x)</expression>
        <condition>\x&lt;=\y</condition>
        <argument type="number" index="1">
          <_title>Lower limit</_title>
          <complex_allowed>false</complex_allowed>
        </argument>
        <argument type="number" index="2">
          <_title>Upper limit</_title>
          <complex_allowed>false</complex_allowed>
        </argument>
        <argument type="integer" index="3">
          <_title>Number of values</_title>
          <min>1</min>
        </argument>
      </function>
      <function>
        <_title>Random Number Between Limits</_title>
        <_names>r:randbetween</_names>
        <_description>Returns an integer between (including) bottom and top.</_description>
        <expression>rand(\y-\x+1,\Z{1})+\x-1</expression>
        <condition>\x&lt;=\y</condition>
        <argument type="integer" index="1">
          <_title>Bottom</_title>
        </argument>
        <argument type="integer" index="2">
          <_title>Top</_title>
        </argument>
        <argument type="integer" index="3">
          <_title>Number of values</_title>
          <min>1</min>
        </argument>
      </function>
      <function>
        <_title>Exponential Random Number</_title>
        <_names>r:randexp</_names>
        <expression>-ln(rand(0,\Y{1}))/\x</expression>
        <argument type="number" index="1">
          <_title>Rate parameter</_title>
          <min>0</min>
        </argument>
        <argument type="integer" index="2">
          <_title>Number of values</_title>
          <min>1</min>
        </argument>
      </function>
      <function>
        <_title>Rayleigh Distributed Random Number</_title>
        <_names>r:randrayleigh</_names>
        <expression>\x*sqrt(-2*ln(rand(0,\Y{1})))</expression>
        <argument type="number" index="1">
          <_title>Sigma</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="integer" index="2">
          <_title>Number of values</_title>
          <min>1</min>
        </argument>
      </function>
    </category>
    <category>
      <_title>Means</_title>
      <function>
        <_title>Mean</_title>
        <_names>r:mean,average,au:x&#x0304;</_names>
        <expression>total(\x)/dimension(\x)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Harmonic Mean</_title>
        <_names>r:harmmean</_names>
        <expression>dimension(\x)/csum(1,-1,0,"y"+1/"x","x","y",\x)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Geometric Mean</_title>
        <_names>r:geomean</_names>
        <expression>abs(csum(1,-1,1,"y"*"x","x","y",\x)^(1/dimension(\x)))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Trimmed Mean</_title>
        <_names>r:trimmean</_names>
        <expression>mean(limits(sort(\x),round(dimension(\x)/100*\y)+1,round(dimension(\x)/100*(100-\y))))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Trimmed percentage (at each end)</_title>
        </argument>
      </function>
      <function>
        <_title>Winsorized Mean</_title>
        <_names>r:winsormean</_names>
        <subfunction precalculate="true">sort(\x)</subfunction>
        <subfunction precalculate="true">dimension(\x)</subfunction>
        <subfunction precalculate="true">round(dimension(\x)/100*\y)</subfunction>
        <expression>(element(\1,\2-\3)*\3+element(\1,\3+1)*\3+total(limits(\1,\3+1,\2-\3)))/\2</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
        <argument type="free" index="2">
          <_title>Winsorized percentage (at each end)</_title>
        </argument>
      </function>
      <function>
        <_title>Weighted Mean</_title>
        <_names>r:weighmean</_names>
        <subfunction precalculate="true">dimension(\x)</subfunction>
        <subfunction precalculate="true">min(dimension(\x),dimension(\y))</subfunction>
        <expression>csum(1,\2,0,"y"+"x"*element("v","i"+\1),"x","y",mergevectors(\x,\y),"i","v")/total(limits(\y,1,\2))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Weights</_title>
        </argument>
      </function>
      <function>
        <_title>Quadratic Mean (RMS)</_title>
        <_names>r:rms</_names>
        <expression>abs((csum(1,-1,0,"y"+"x"^2,"x","y",\x)/dimension(\x))^(1/2))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
    </category>
    <category>
      <_title>Moments</_title>
      <function>
        <_title>Standard Deviation (entire population)</_title>
        <_names>r:stdevp</_names>
        <expression>abs(varp(\x)^(1/2))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Standard Deviation (random sampling)</_title>
        <_names>r:stdev</_names>
        <expression>abs(var(\x)^(1/2))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Variance (entire population)</_title>
        <_names>r:varp</_names>
        <subfunction precalculate="true">mean(\x)</subfunction>
        <expression>csum(1,-1,0,"y"+("x"-\1)^2,"x","y",\x)/dimension(\x)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Variance (random sampling)</_title>
        <_names>r:var</_names>
        <subfunction precalculate="true">mean(\x)</subfunction>
        <expression>csum(1,-1,0,"y"+("x"-\1)^2,"x","y",\x)/(dimension(\x)-1)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Standard Error</_title>
        <_names>r:stderr</_names>
        <expression>abs((var(\x)/dimension(\x))^(1/2))</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Mean Deviation</_title>
        <_names>r:meandev</_names>
        <subfunction precalculate="true">mean(\x)</subfunction>
        <expression>csum(1,-1,0,"y"+abs("x"-\1),"x","y",\x)/dimension(\x)</expression>
        <argument type="vector" index="1">
          <_title>Data</_title>
          <handle_vector>true</handle_vector>
        </argument>
      </function>
      <function>
        <_title>Covariance</_title>
        <_names>r:cov,r:covar</_names>
        <subfunction precalculate="true">mean(\x)</subfunction>
        <subfunction precalculate="true">mean(\y)</subfunction>
        <subfunction precalculate="true">dimension(\x)</subfunction>
        <subfunction precalculate="true">min(dimension(\x),dimension(\y))</subfunction>
        <expression>csum(1,\4,0,"y"+("x"-\1)*(element("v","i"+\3)-\2),"x","y",mergevectors(\x,\y),"i","v")/(\4)</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
      <function>
        <_title>Pooled Variance</_title>
        <_names>r:poolvar</_names>
        <subfunction precalculate="true">mean(\x)</subfunction>
        <subfunction precalculate="true">mean(\y)^2</subfunction>
        <expression>(csum(1,-1,0,"y"+("x"-\1)^2,"x","y",\x)+csum(1,-1,0,"y"+("x"-\2)^2,"x","y",\y))/(dimension(\x)+dimension(\y)-2)</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Regression</_title>
      <function>
        <_title>Simple Linear Fit</_title>
        <_names>r:linearfit</_names>
        <_description>Returns the linear function, for a set of x and y values, estimated using simple linear regression with a single explanatory variable using the ordinary least squares method. If the vector of y values is empty, the first argument is used for sequential y values (with x values 1, 2, ..., n). It is possible to pass both x and y values in a two column matrix as the first argument.</_description>
        <condition>dimension(\x)=dimension(\y) || dimension(\y)=0</condition>
        <subfunction precalculate="true">if((dimension(\Y{[]})>0,rows(\x)>1&amp;&amp;columns(\x)=2),(\x,column(\x,1)),genvector("i",1,dimension(\x),1,"i",1))</subfunction>
        <subfunction precalculate="true">if((dimension(\y)>0,rows(\x)>1&amp;&amp;columns(\x)=2),(\y,column(\x,2)),\x)</subfunction>
        <expression>((covar(\1,\2)/varp(\1))*(x-mean(\1)))+mean(\2)</expression>
        <argument type="vector" index="1">
          <_title>X Values</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Y Values</_title>
        </argument>
      </function>
      <function>
        <_title>Quadratic Fit</_title>
        <_names>r:quadraticfit</_names>
        <_description>Fit data to a polynomial of degree 2, using least-squares method. If the vector of y values is empty, the first argument is used for sequential y values (with x values 1, 2, ..., n). It is possible to pass both x and y values in a two column matrix as the first argument.</_description>
        <condition>dimension(\x)=dimension(\y) || dimension(\y)=0</condition>
        <subfunction precalculate="true">if((dimension(\Y{[]})>0,rows(\x)>1&amp;&amp;columns(\x)=2),(\x,column(\x,1)),genvector("i",1,dimension(\x),1,"i",1))</subfunction>
        <subfunction precalculate="true">if((dimension(\y)>0,rows(\x)>1&amp;&amp;columns(\x)=2),(\y,column(\x,2)),\x)</subfunction>
        <subfunction precalculate="true">multisolve(("a"*total(\1.^4)+"b"*total(\1.^3)+"c"*total(\1.^2)=total((\1.^2).*\2),"a"*total(\1.^3)+"b"*total(\1.^2)+"c"*total(\1)=total(\1.*\2),"a"*total(\1.^2)+"b"*total(\1)+"c"*dimension(\1)=total(\2)),("a","b","c"))</subfunction>
        <expression>element(\3,1)*x^2+element(\3,2)*x+element(\3,3)</expression>
        <argument type="vector" index="1">
          <_title>X Values</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Y Values</_title>
        </argument>
      </function>
      <function>
        <_title>Cubic Fit</_title>
        <_names>r:cubicfit</_names>
        <_description>Fit data to a polynomial of degree 3, using least-squares method. If the vector of y values is empty, the first argument is used for sequential y values (with x values 1, 2, ..., n). It is possible to pass both x and y values in a two column matrix as the first argument.</_description>
        <condition>dimension(\x)=dimension(\y) || dimension(\y)=0</condition>
        <subfunction precalculate="true">if((dimension(\Y{[]})>0,rows(\x)>1&amp;&amp;columns(\x)=2),(\x,column(\x,1)),genvector("i",1,dimension(\x),1,"i",1))</subfunction>
        <subfunction precalculate="true">if((dimension(\y)>0,rows(\x)>1&amp;&amp;columns(\x)=2),(\y,column(\x,2)),\x)</subfunction>
        <subfunction precalculate="true">multisolve(("a"*total(\1.^6)+"b"*total(\1.^5)+"c"*total(\1.^4)+"d"*total(\1.^3)=total((\1.^3).*\2),"a"*total(\1.^5)+"b"*total(\1.^4)+"c"*total(\1.^3)+"d"*total(\1.^2)=total((\1.^2).*\2),"a"*total(\1.^4)+"b"*total(\1.^3)+"c"*total(\1.^2)+"d"*total(\1)=total(\1.*\2),"a"*total(\1.^3)+"b"*total(\1.^2)+"c"*total(\1)+"d"*dimension(\1)=total(\2)),("a","b","c","d"))</subfunction>
        <expression>element(\3,1)*x^3+element(\3,2)*x^2+element(\3,3)*x+element(\3,4)</expression>
        <argument type="vector" index="1">
          <_title>X Values</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Y Values</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Correlation</_title>
      <function>
        <_title>Statistical Correlation</_title>
        <_names>r:cor</_names>
        <expression>covar(\x,\y)/(stdev(\x)*stdev(\y))</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
      <function>
        <_title>Pearson's Correlation Coefficient</_title>
        <_names>r:pearson,r:correl</_names>
        <condition>dimension(\x)=dimension(\y)</condition>
        <subfunction precalculate="true">total(\x)</subfunction>
        <subfunction precalculate="true">total(\y)</subfunction>
        <subfunction precalculate="true">dimension(\x)</subfunction>
        <subfunction precalculate="true">dimension(\y)</subfunction>
        <expression>(\x.\y-\1*\2/\3)/abs(((\x.\x-(\1^2)/\3)*(\y.\y-(\2^2)/\4))^(1/2))</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
      <function>
        <_title>Spearman's Rho</_title>
        <_names>r:spearman</_names>
        <condition>dimension(\x)=dimension(\y)</condition>
        <expression>pearson(rank(\x),rank(\y))</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Statistical Tests</_title>
      <function>
        <_title>Unpaired T-Test</_title>
        <_names>r:ttest</_names>
        <subfunction precalculate="true">poolvar(\x,\y)^2</subfunction>
        <expression>(mean(\x)-mean(\y))/abs(((\1)/dimension(\x)+(\1)/dimension(\y))^(1/2))</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
      <function>
        <_title>Paired T-Test</_title>
        <_names>r:pttest</_names>
        <expression>mean(\x-\y)/stderr(\x-\y)</expression>
        <argument type="vector" index="1">
          <_title>Data 1</_title>
        </argument>
        <argument type="vector" index="2">
          <_title>Data 2</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Distribution</_title>
      <function>
        <_title>Binomial Distribution</_title>
        <_names>r:binomdist</_names>
        <_description>Returns the probability mass or cumulative distribution function of the binomial distribution.</_description>
        <expression>if(\A{0},sum(binomial(\y,"i")*\z^"i"*(1-\z)^(\y-"i"),0,\x,"i"),binomial(\y,\x)*\z^\x*(1-\z)^(\y-\x))</expression>
        <argument type="integer" index="1">
          <_title>Number of successes (k)</_title>
          <min>0</min>
        </argument>
        <argument type="integer" index="2">
          <_title>Number of trials (n)</_title>
          <min>0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Probability (p)</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Exponential Distribution</_title>
        <_names>r:expondist</_names>
        <_description>Returns the probability density or cumulative distribution function of the exponential distribution.</_description>
        <expression>if(\Z{0},1-e^(-\y*\x),\y*e^(-\y*\x))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="number" index="2">
          <_title>Rate (λ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="3">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Exponential Inverse Cumulative Distribution</_title>
        <_names>r:expinv</_names>
        <expression>-ln(1-\x)/\y</expression>
        <argument type="number" index="1">
          <_title>P</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="number" index="2">
          <_title>Rate (λ)</_title>
          <min>0</min>
        </argument>
      </function>
      <function>
        <_title>Logistic Distribution</_title>
        <_names>r:logistic</_names>
        <_description>Returns the probability density or cumulative distribution function of the logistic distribution.</_description>
        <expression>if(\A{0},1/(1+e^(-(\x-\Z{0})/\y)),e^(-(\x-\z)/\y)/(\y*(1+e^(-(\x-\z)/\y))^2)</expression>
        <argument type="free" index="1">
          <_title>X</_title>
        </argument>
        <argument type="number" index="2">
          <_title>Scale (s)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Location (μ)</_title>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Normal Distribution</_title>
        <_names>r:normdist</_names>
        <_description>Returns the probability density or cumulative distribution function of the normal distribution.</_description>
        <expression>if(\A{0},(1+erf((\x-\Y{0})/(\Z{1}*sqrt(2))))/2,1/\Z*1/(sqrt(2pi))*e^(−1/2*((\x−\Y)/\Z)^2))</expression>
        <argument type="free" index="1">
          <_title>X</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Mean (μ)</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Standard deviation (σ)</_title>
          <condition>\x^2&gt;0</condition>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Inverse Normal Cumulative Distribution</_title>
        <_names>r:normdistinv</_names>
        <expression>probit(\x)*\Z{1}+\Y{0}</expression>
        <argument type="number" index="1">
          <_title>P</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="free" index="2">
          <_title>Mean (μ)</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Standard deviation (σ)</_title>
          <condition>\x^2&gt;0</condition>
        </argument>
      </function>
      <function>
        <_title>Pareto Distribution</_title>
        <_names>r:pareto</_names>
        <_description>Returns the probability density or cumulative distribution function of the Pareto distribution.</_description>
        <expression>if(\A{0},1-(\z/\x)^\y,\y*\z^\y/\x^(\y+1))</expression>
        <condition>\x>=\z</condition>
        <argument type="free" index="1">
          <_title>X</_title>
        </argument>
        <argument type="number" index="2">
          <_title>Shape (α)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Scale (x_m)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Poisson Distribution</_title>
        <_names>r:poisson</_names>
        <_description>Returns the probability density or cumulative distribution function of the Poisson distribution.</_description>
        <expression>if(\Z{0},e^(-\y)*sum((\y^"i")/("i"!),0,floor(\x),"i"),(\y^\x*e^(-\y))/(\x!))</expression>
        <argument type="integer" index="1">
          <_title>X</_title>
          <min>0</min>
        </argument>
        <argument type="number" index="2">
          <_title>Rate (λ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="3">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Rayleigh Distribution</_title>
        <_names>r:rayleigh</_names>
        <_description>Returns the probability density or cumulative distribution function of the Rayleigh distribution.</_description>
        <expression>if(\Z{0},1-e^(-\x^2/(2\y^2)),\x/\y^2*e^(-\x^2/(2\y^2)))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="number" index="2">
          <_title>Scale (σ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="3">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Rayleigh Tail Distribution</_title>
        <_names>r:rayleightail</_names>
        <_description>Returns the probability density p(x) at x for a Rayleigh tail distribution with scale parameter sigma and a lower limit. (from Gnumeric)</_description>
        <expression>if(\x&lt;\y,0,(\x/\z)/\z*exp(((\y/\z)+(\x/\z))*((\y/\z)-(\x/\z))/2))</expression>
        <argument type="free" index="1">
          <_title>X</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Lower limit</_title>
        </argument>
        <argument type="number" index="3">
          <_title>Scale (σ)</_title>
          <min include_equals="true">0</min>
        </argument>
      </function>
      <function>
        <_title>Gamma Distribution</_title>
        <_names>r:gammadist</_names>
        <_description>Returns the probability density or cumulative distribution function of the gamma distribution.</_description>
        <expression>if(\A{0},1-igamma(\y,\x/\z)/gamma(\y),\x^(\y-1)*e^(-\x/\z)/(gamma(\y)*\z^\y))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="number" index="2">
          <_title>Shape (k)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Scale (θ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Chi-Square Distribution</_title>
        <_names>r:chisqdist</_names>
        <_description>Returns the probability density or cumulative distribution function of the chi-square distribution.</_description>
        <expression>gammadist(\x,\y/2,2,\Z{0})</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="integer" index="2">
          <_title>Degrees of freedom (k)</_title>
          <min include_equals="true">1</min>
        </argument>
        <argument type="boolean" index="3">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Inverse of Chi-Square Cumulative Distribution</_title>
        <_names>r:chisqdistinv</_names>
        <subfunction precalculate="true">(probit(\x)+sqrt(2*\y-1)^2)/2</subfunction>
        <expression>if((\x=0,\x=1),(0,plus_infinity),newtonsolve(1-igamma(\y/2,"x"/2)/gamma(\y/2)=\x,if(\1&lt;=0,1e-6,\1),"x"))</expression>
        <argument type="number" index="1">
          <_title>P</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="integer" index="2">
          <_title>Degrees of freedom (k)</_title>
          <min include_equals="true">1</min>
        </argument>
      </function>
      <function>
        <_title>Weibull Distribution</_title>
        <_names>r:weibulldist</_names>
        <_description>Returns the probability density or cumulative distribution function of the Weibull distribution.</_description>
        <expression>if(\A{0},1-e^(-(\x/\y)^\z),\z/\y*(\x/\y)^(\z-1)*e^(-(\x/\y)^\z))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="number" index="2">
          <_title>Scale (λ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Shape (k)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Weibull Inverse Cumulative Distribution</_title>
        <_names>r:wblinv</_names>
        <expression>\y(-ln(1-\x))^(1/\z)</expression>
        <argument type="number" index="1">
          <_title>P</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="number" index="2">
          <_title>Scale (λ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Shape (k)</_title>
          <min include_equals="false">0</min>
        </argument>
      </function>
      <function>
        <_title>Beta Distribution</_title>
        <_names>r:betadist</_names>
        <_description>Returns the probability density or cumulative distribution function of the beta distribution.</_description>
        <expression>if(\A{0},betainc(\x,\y,\z),\x^(\y-1)*(1-\x)^(\z-1)/beta(\y,\z))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="number" index="2">
          <_title>Shape (α)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="number" index="3">
          <_title>Shape (β)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Student's t-distribution</_title>
        <_names>r:tdist</_names>
        <_description>Returns the probability density or cumulative distribution function of the Student's t distribution.</_description>
        <expression>if(\Z{0},if(\x&lt;0,betainc(\y/(\x^2+\y),\y/2,1/2)/2,1-betainc(\y/(\x^2+\y),\y/2,1/2)/2),gamma((\y+1)/2)/(sqrt(\y*pi)*gamma(\y/2))*(1+\x^2/\y)^(-(\y+1)/2))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
        </argument>
        <argument type="number" index="2">
          <_title>Degrees of freedom (v)</_title>
          <min>1</min>
        </argument>
        <argument type="boolean" index="3">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Inverse Cumulative Student's t-distribution</_title>
        <_names>r:tdistinv</_names>
        <subfunction precalculate="true">betaincinv(if(\x&lt;0.5,2*\x,2*(1-\x)),\y/2,1/2)</subfunction>
        <expression>if((\x=0,\x=1,\x&lt;0.5),(minus_infinity,plus_infinity,-sqrt((\y-\1*\y)/\1)),sqrt((\y-\1*\y)/\1))</expression>
        <argument type="number" index="1">
          <_title>P</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="number" index="2">
          <_title>Degrees of freedom (v)</_title>
          <min>1</min>
        </argument>
      </function>
      <function>
        <_title>F-distribution</_title>
        <_names>r:fdist</_names>
        <_description>Returns the probability density or cumulative distribution function of the F-distribution.</_description>
        <expression>if(\A{0},betainc(\y*\x/(\y*\x+\z),\y/2,\z/2),sqrt((\y*\x)^\y*\z^\z/(\y*\x+\z)^(\y+\z))/(\x*beta(\y/2,\z/2)))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="integer" index="2">
          <_title>Degrees of freedom (numerator)</_title>
          <min>1</min>
        </argument>
        <argument type="integer" index="3">
          <_title>Degrees of freedom (denominator)</_title>
          <min>1</min>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
      <function>
        <_title>Inverse Cumulative F-distribution</_title>
        <_names>r:fdistinv</_names>
        <subfunction precalculate="true">betaincinv(\x,\y/2,\z/2)</subfunction>
        <expression>if(\x=1,plus_infinity,(\1*\z)/(\y-\1*\y))</expression>
        <argument type="number" index="1">
          <_title>P</_title>
          <min include_equals="true">0</min>
          <max include_equals="true">1</max>
        </argument>
        <argument type="integer" index="2">
          <_title>Degrees of freedom (numerator)</_title>
          <min>1</min>
        </argument>
        <argument type="integer" index="3">
          <_title>Degrees of freedom (denominator)</_title>
          <min>1</min>
        </argument>
      </function>
      <function>
        <_title>Cauchy Distribution</_title>
        <_names>r:cauchydist</_names>
        <_description>Returns the probability density or cumulative distribution function of the Cauchy distribution.</_description>
        <expression>if(\A{0},1/pi*atan((\x-\y)/\z)+1/2,1/(pi*\z*(1+((\x-\y)/(\z))^2)))</expression>
        <argument type="number" index="1">
          <_title>X</_title>
          <min include_equals="true">0</min>
        </argument>
        <argument type="number" index="2">
          <_title>Location (x_0)</_title>
        </argument>
        <argument type="number" index="3">
          <_title>Scale (γ)</_title>
          <min include_equals="false">0</min>
        </argument>
        <argument type="boolean" index="4">
          <_title>Cumulative</_title>
        </argument>
      </function>
    </category>
  </category>
  <category>
    <_title>Date &amp; Time</_title>
    <builtin_function name="date">
      <_title>Construct Date</_title>
      <_names>r:date</_names>
      <_description>Returns a date. Available calendars are gregorian (1), hebrew (2), islamic (3), persian (4), indian (5), chinese (6), julian (7), milankovic (8), coptic (9), ethiopian (10), egyptian (11). The Chinese year uses an epoch of 2697 BCE and chinese leap months are indicated by adding 12 to the month number (e.g. leap month 4 = 16).</_description>
      <argument index="1">
        <_title>Year</_title>
      </argument>
      <argument index="2">
        <_title>Month</_title>
      </argument>
      <argument index="3">
        <_title>Day</_title>
      </argument>
      <argument index="4">
        <_title>Calendar</_title>
      </argument>
    </builtin_function>
    <builtin_function name="datetime">
      <_title>Construct Date and Time</_title>
      <_names>r:datetime</_names>
      <argument index="1">
        <_title>Year</_title>
      </argument>
      <argument index="2">
        <_title>Month</_title>
      </argument>
      <argument index="3">
        <_title>Day</_title>
      </argument>
      <argument index="4">
        <_title>Hour</_title>
      </argument>
      <argument index="5">
        <_title>Minute</_title>
      </argument>
      <argument index="6">
        <_title>Second</_title>
      </argument>
    </builtin_function>
    <builtin_function name="days">
      <_title>Days between two dates</_title>
      <_names>r:days</_names>
      <_description>Returns the number of days between two dates.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360, 1: real days (default), 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <argument index="1">
        <_title>First date</_title>
      </argument>
      <argument index="2">
        <_title>Second date</_title>
      </argument>
      <argument index="3">
        <_title>Day counting basis</_title>
      </argument>
      <argument index="4">
        <_title>Financial function mode</_title>
      </argument>
    </builtin_function>
    <builtin_function name="yearfrac">
      <_title>Years between two dates</_title>
      <_names>r:yearfrac</_names>
      <_description>Returns the number of years (fractional) between two dates.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360, 1: real days (default), 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <argument index="1">
        <_title>First date</_title>
      </argument>
      <argument index="2">
        <_title>Second date</_title>
      </argument>
      <argument index="3">
        <_title>Day counting basis</_title>
      </argument>
      <argument index="4">
        <_title>Financial function mode</_title>
      </argument>
    </builtin_function>
    <builtin_function name="week">
      <_title>Week of Year</_title>
      <_names>r:week</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
      <argument index="2">
        <_title>Week begins on Sunday</_title>
      </argument>
    </builtin_function>
    <builtin_function name="weekday">
      <_title>Day of Week</_title>
      <_names>r:weekday</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
      <argument index="2">
        <_title>Week begins on Sunday</_title>
      </argument>
    </builtin_function>
    <builtin_function name="month">
      <_title>Month</_title>
      <_names>r:month</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="day">
      <_title>Day of Month</_title>
      <_names>r:day</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="year">
      <_title>Year</_title>
      <_names>r:year</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="yearday">
      <_title>Day of Year</_title>
      <_names>r:yearday</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="time">
      <_title>Current Time</_title>
      <_names>r:time</_names>
    </builtin_function>
    <builtin_function name="timevalue">
      <_title>Time Value</_title>
      <_names>r:timevalue</_names>
      <_description>Returns the time part, in fractional hours, of a date and time value.</_description>
      <argument index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="timestamp">
      <_title>Date to Unix Timestamp</_title>
      <_names>r:timestamp</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="stamptodate">
      <_title>Unix Timestamp to Date</_title>
      <_names>r:stamptodate,unix2date</_names>
      <_description>Returns the local date and time represented by the specified Unix timestamp (seconds, excluding leap seconds, since 1970-01-01). Supports time units.</_description>
      <argument index="1">
        <_title>Timestamp</_title>
      </argument>
    </builtin_function>
    <builtin_function name="addDays">
      <_title>Add Days</_title>
      <_names>r:addDays</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
      <argument index="2">
        <_title>Days</_title>
      </argument>
    </builtin_function>
    <builtin_function name="addMonths">
      <_title>Add Months</_title>
      <_names>r:addMonths</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
      <argument index="2">
        <_title>Months</_title>
      </argument>
    </builtin_function>
    <builtin_function name="addYears">
      <_title>Add Years</_title>
      <_names>r:addYears</_names>
      <argument index="1">
        <_title>Date</_title>
      </argument>
      <argument index="2">
        <_title>Years</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Add Time</_title>
      <_names>r:addTime</_names>
      <_description>Adds a time value to a date. The value can be positive or negative, but must use a unit based on seconds (such as day and year). Fractions of days are truncated.</_description>
      <expression>\x+\y</expression>
      <argument type="date" index="1">
        <_title>Date</_title>
      </argument>
      <argument index="2">
        <_title>Time</_title>
        <condition>isNumber(\x/s)</condition>
      </argument>
    </function>
    <builtin_function name="lunarphase">
      <_title>Lunar Phase</_title>
      <_names>r:lunarphase</_names>
      <_description>Returns the lunar phase, as a number between 0 and 1, for the specified date. This value corresponds to an angle between 0 and 360 degrees. 0 represents new moon, 0.5 full moon, and 0.25 and 0.75 quarter moons.</_description>
      <argument type="date" index="1">
        <_title>Date</_title>
      </argument>
    </builtin_function>
    <builtin_function name="nextlunarphase">
      <_title>Find Lunar Phase</_title>
      <_names>r:nextlunarphase</_names>
      <_description>Returns the date when the specified lunar phase occurs. The function searches forward beginning at the specified date. The lunar phase is specified as a number between 0 and 1, where 0 represents new moon, 0.5 full moon, and 0.25 and 0.75 quarter moons. Angle values are also allowed (e.g. π rad = 180° which corresponds to a value of 0.5). Values above 1, without unit, are interpreted as degrees.</_description>
      <argument type="date" index="1">
        <_title>Lunar Phase</_title>
      </argument>
      <argument index="2">
        <_title>Start Date</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Days in Month</_title>
      <_names>r:daysInMonth</_names>
      <subfunction precalculate="true">month(\X{today})</subfunction>
      <subfunction precalculate="true">year(\x)</subfunction>
      <expression>if((\1=2,\1=4||\1=6||\1=9||\1=11),(if(\2%4=0&amp;&amp;(\2%100!=0||\2%400==0),29,28),30),31)</expression>
      <argument type="date" index="1">
        <_title>Date</_title>
      </argument>
    </function>
  </category>
  <category>
    <_title>Utilities</_title>
      <category>
      <_title>Intervals &amp; Uncertainties</_title>
      <builtin_function name="interval">
        <_title>Interval</_title>
        <_names>r:interval</_names>
	<_description>Returns a closed interval with the specified endpoints.</_description>
        <argument index="1">
          <_title>Lower endpoint</_title>
        </argument>
        <argument index="2">
          <_title>Upper endpoint</_title>
        </argument>
      </builtin_function>
      <builtin_function name="uncertainty">
        <_title>Uncertainty</_title>
        <_names>r:uncertainty</_names>
	<_description>Specifies the absolute or relative (default) uncertainty/error of a value.</_description>
        <argument index="1">
          <_title>Value</_title>
        </argument>
        <argument index="2">
          <_title>Uncertainty</_title>
        </argument>
        <argument index="3">
          <_title>Uncertainty is relative</_title>
        </argument>
      </builtin_function>
      <builtin_function name="lowerEndpoint">
        <_title>Lower Endpoint (interval)</_title>
        <_names>r:lowerEndpoint</_names>
	<_description>Returns the lower endpoint of a numerical interval.</_description>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="upperEndpoint">
        <_title>Upper Endpoint (interval)</_title>
        <_names>r:upperEndpoint</_names>
	<_description>Returns the upper endpoint of a numerical interval.</_description>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="midpoint">
        <_title>Midpoint (interval)</_title>
        <_names>r:midpoint,valuePart</_names>
	<_description>Returns the midpoint between the endpoints of a numerical interval, or the value part of a value with uncertainty/error.</_description>
        <argument index="1">
          <_title>Value</_title>
        </argument>
      </builtin_function>
      <builtin_function name="errorPart">
        <_title>Get Uncertainty</_title>
        <_names>r:errorPart</_names>
	<_description>Returns the absolute (default) or relative uncertainty/error of a numerical value.</_description>
        <argument index="1">
          <_title>Value</_title>
        </argument>
        <argument index="2">
          <_title>Uncertainty is relative</_title>
        </argument>
      </builtin_function>
    </category>
    <builtin_function name="plot">
      <_title>Plot Functions and Vectors</_title>
      <_names>r:plot</_names>
      <argument index="1">
        <_title>Expression or vector</_title>
      </argument>
      <argument index="2">
        <_title>Minimum x value</_title>
      </argument>
      <argument index="3">
        <_title>Maximum x value</_title>
      </argument>
      <argument index="4">
        <_title>Options</_title>
      </argument>
    </builtin_function>
    <builtin_function name="code">
      <_title>Unicode Value</_title>
      <_names>r:code</_names>
      <_description>Encodes a Unicode character or text string using the selected format. Supported encodings are UTF-8 (0), UTF-16 (1), and UTF-32 (2). If the third argument is true, each separate code unit (8, 16, or 32 bits depending on encoding) is placed in a vector.</_description>
      <argument index="1">
        <_title>Character</_title>
      </argument>
      <argument index="2">
        <_title>Encoding</_title>
      </argument>
      <argument index="3">
        <_title>Use vector</_title>
      </argument>
    </builtin_function>
    <builtin_function name="char">
      <_title>Unicode Character</_title>
      <_names>r:char</_names>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="len">
      <_title>Length of string</_title>
      <_names>r:len</_names>
      <argument index="1">
        <_title>Text</_title>
      </argument>
    </builtin_function>
    <builtin_function name="concatenate">
      <_title>Concatenate Strings</_title>
      <_names>r:concatenate</_names>
      <argument index="1">
        <_title>Text string 1</_title>
      </argument>
      <argument index="2">
        <_title>Text string 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="replace">
      <_title>Replace</_title>
      <_names>r:replace</_names>
      <_description>Replaces a certain value in an expression with a new value. The expression is calculated before the replacement if the fourth argument is true.</_description>
      <argument index="1">
        <_title>Expression</_title>
      </argument>
      <argument index="2">
        <_title>Original value</_title>
      </argument>
      <argument index="3">
        <_title>New value</_title>
      </argument>
      <argument index="4">
        <_title>Precalculate expression</_title>
      </argument>
    </builtin_function>
    <builtin_function name="nounit">
      <_title>Strip Units</_title>
      <_names>r:nounit,strip_units</_names>
      <_description>Removes all units from an expression. No unit conversion or prefix changes are performed before the removal.</_description>
      <example>$name(5 km) = 5; $name(5 m + 2 ft) = 7</example>
      <argument index="1">
        <_title>Expression</_title>
      </argument>
    </builtin_function>
    <builtin_function name="process">
      <_title>Process Vector Elements</_title>
      <_names>r:process</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Element variable</_title>
      </argument>
      <argument index="3">
        <_title>Vector</_title>
      </argument>
      <argument index="4">
        <_title>Index variable</_title>
      </argument>
      <argument index="5">
        <_title>Vector variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="processm">
      <_title>Process Matrix Elements</_title>
      <_names>r:processm</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Element variable</_title>
      </argument>
      <argument index="3">
        <_title>Matrix</_title>
      </argument>
      <argument index="4">
        <_title>Row variable</_title>
      </argument>
      <argument index="5">
        <_title>Column variable</_title>
      </argument>
      <argument index="6">
        <_title>Matrix variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="csum">
      <_title>Custom Sum of Elements</_title>
      <_names>r:csum</_names>
      <argument index="1">
        <_title>First element</_title>
      </argument>
      <argument index="2">
        <_title>Last element</_title>
      </argument>
      <argument index="3">
        <_title>Initial value</_title>
      </argument>
      <argument index="4">
        <_title>Function</_title>
      </argument>
      <argument index="5">
        <_title>Element variable</_title>
      </argument>
      <argument index="6">
        <_title>Value variable</_title>
      </argument>
      <argument index="7">
        <_title>Vector</_title>
      </argument>
      <argument index="8">
        <_title>Index variable</_title>
      </argument>
      <argument index="9">
        <_title>Vector variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="select">
      <_title>Select Vector Elements</_title>
      <_names>r:select</_names>
      <argument index="1">
        <_title>Vector</_title>
      </argument>
      <argument index="2">
        <_title>Condition</_title>
      </argument>
      <argument index="3">
        <_title>Element variable</_title>
      </argument>
      <argument index="4">
        <_title>Select first match</_title>
      </argument>
    </builtin_function>
    <builtin_function name="function">
      <_title>Function</_title>
      <_names>r:function</_names>
      <argument index="1">
        <_title>Expression</_title>
      </argument>
      <argument index="2">
        <_title>Arguments</_title>
      </argument>
    </builtin_function>
    <builtin_function name="title">
      <_title>Title</_title>
      <_names>r:title</_names>
      <argument index="1">
        <_title>Name</_title>
      </argument>
    </builtin_function>
    <builtin_function name="error">
      <_title>Display Error</_title>
      <_names>r:error</_names>
      <argument index="1">
        <_title>Message</_title>
      </argument>
    </builtin_function>
    <builtin_function name="warning">
      <_title>Display Warning</_title>
      <_names>r:warning</_names>
      <argument index="1">
        <_title>Message</_title>
      </argument>
    </builtin_function>
    <builtin_function name="message">
      <_title>Display Message</_title>
      <_names>r:message</_names>
      <argument index="1">
        <_title>Message</_title>
      </argument>
    </builtin_function>
    <builtin_function name="save">
      <_title>Save as Variable or Function</_title>
      <_names>r:save</_names>
      <_description>Stores a value in a variable or saves an expression as a function.&#10;&#10;A function is created if the name includes parentheses (e.g. "f()"). Optionally the function arguments can be specified in the name (e.g. "save(a+b,f(a,b))"). Otherwise the function arguments are expected to be referred to in the expression using \x, \y, \z ,\a , \b..., or x, y, z (e.g. "save(x+y,f())").&#10;&#10;If a function was created, the processed function expression is returned as a text string, otherwise the value is returned.&#10;&#10;The ":=" operator (e.g. var1:=10) is a shortcut for this function.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
      <argument index="2">
        <_title>Name</_title>
      </argument>
      <argument index="3">
        <_title>Category</_title>
      </argument>
      <argument index="4">
        <_title>Title</_title>
      </argument>
      <argument index="5">
        <_title>Precalculate expression</_title>
      </argument>
    </builtin_function>
    <builtin_function name="register">
      <_title>RPN Stack Register</_title>
      <_names>r:register</_names>
      <_description>Returns the value of a RPN stack register.</_description>
      <argument index="1">
        <_title>Index</_title>
      </argument>
    </builtin_function>
    <builtin_function name="stack">
      <_title>RPN Stack Vector</_title>
      <_names>r:stack</_names>
      <_description>Returns the RPN stack as a vector.</_description>
    </builtin_function>
    <builtin_function name="isNumber">
      <_title>Is Number</_title>
      <_names>r:isNumber</_names>
      <_description>Returns true if evaluated argument value is explicitely a real, complex, or infinite number (has number type).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="isReal">
      <_title>Is Real</_title>
      <_names>r:isReal</_names>
      <_description>Returns true if evaluated argument value is explicitely a real number (has number type with zero complex part).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="isRational">
      <_title>Is Rational</_title>
      <_names>r:isRational</_names>
      <_description>Returns true if evaluated argument value is explicitely a rational number (has rational type).</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="isInteger">
      <_title>Is Integer</_title>
      <_names>r:isInteger</_names>
      <_description>Returns true if evaluated argument value is explicitely an integer (has integer type).</_description>
      <example>$name(5 + 2) = 1; $name(x) = 0; $name(log(0.2, 5)) = 0</example>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="representsNumber">
      <_title>Represents Number</_title>
      <_names>r:representsNumber</_names>
      <_description>Returns true if value is or represents a number (scalar without unit). False negatives are allowed.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="representsReal">
      <_title>Represents Real</_title>
      <_names>r:representsReal</_names>
      <_description>Returns true if value is or represents a real number. False negatives are allowed.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="representsRational">
      <_title>Represents Rational</_title>
      <_names>r:representsRational</_names>
      <_description>Returns true if value is or represents a rational number. False negatives are allowed.</_description>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="representsInteger">
      <_title>Represents Integer</_title>
      <_names>r:representsInteger</_names>
      <_description>Returns true if value is or represents an integer. False negatives are allowed.</_description>
      <example>$name(2n) = 1; $name(log(0.2, 5)) = 0</example>
      <argument index="1">
        <_title>Value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="command">
      <_title>External Command</_title>
      <_names>r:command</_names>
      <argument index="1">
        <_title>Command</_title>
      </argument>
      <argument index="2">
        <_title>Argument</_title>
      </argument>
    </builtin_function>
  </category>
  <category>
    <_title>Logical</_title>
    <builtin_function name="for">
      <_title>For...Do</_title>
      <_names>r:for</_names>
      <example>$name(1, x, x &lt; 10, x + 1, 2, y * x, y) = 725 760</example>
      <argument index="1">
        <_title>Initial value of counter</_title>
      </argument>
      <argument index="2">
        <_title>Counter variable</_title>
      </argument>
      <argument index="3">
        <_title>For condition</_title>
      </argument>
      <argument index="4">
        <_title>Counter update function</_title>
      </argument>
      <argument index="5">
        <_title>Initial value</_title>
      </argument>
      <argument index="6">
        <_title>Do function</_title>
      </argument>
      <argument index="7">
        <_title>Value variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="foreach">
      <_title>For Each Element...Do</_title>
      <_names>r:foreach</_names>
      <example>$name(1...5, 0, y + x) = 15</example>
      <argument index="1">
        <_title>Matrix/vector</_title>
      </argument>
      <argument index="2">
        <_title>Initial value</_title>
      </argument>
      <argument index="3">
        <_title>Do function</_title>
      </argument>
      <argument index="4">
        <_title>Value variable</_title>
      </argument>
      <argument index="5">
        <_title>Element variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="if">
      <_title>If...Then...Else</_title>
      <_names>r:if</_names>
      <_description>Tests a condition and returns a value depending on the result. Vectors can be used for argument 1 and 2, instead of nested functions.</_description>
      <argument index="1">
        <_title>Condition</_title>
      </argument>
      <argument index="2">
        <_title>Expression if condition is met</_title>
      </argument>
      <argument index="3">
        <_title>Expression if condition is NOT met</_title>
      </argument>
      <argument index="4">
        <_title>Assume false if not true</_title>
      </argument>
    </builtin_function>
    <builtin_function name="xor">
      <_title>Bitwise Exclusive OR</_title>
      <_names>r:xor</_names>
      <argument index="1">
        <_title>Value 1</_title>
      </argument>
      <argument index="2">
        <_title>Value 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="lxor">
      <_title>Logical Exclusive OR</_title>
      <_names>r:lxor</_names>
      <argument index="1">
        <_title>Value 1</_title>
      </argument>
      <argument index="2">
        <_title>Value 2</_title>
      </argument>
    </builtin_function>
    <builtin_function name="shift">
      <_title>Bitwise Shift</_title>
      <_description>Applies logical or arithmetic bitwise shift to an integer. The second argument specifies the number of steps that each binary bit is shifted to the left (use negative values for right shift).</_description>
      <_names>r:shift</_names>
      <argument index="1">
        <_title>Number</_title>
      </argument>
      <argument index="2">
        <_title>Steps</_title>
      </argument>
      <argument index="3">
        <_title>Arithmetic shift using two's complement</_title>
      </argument>
    </builtin_function>
    <builtin_function name="bitcmp">
      <_title>Bitwise Complement (Not)</_title>
      <_description>Applies bitwise NOT to an integer of specified bit width and signedness (use 1 for signed and 0 for unsigned). If bit width is zero, the smallest necessary number of bits (of 8, 16, 32, 64, 128, ...) will be used.</_description>
      <_names>r:bitcmp</_names>
      <argument index="1">
        <_title>Number</_title>
      </argument>
      <argument index="2">
        <_title>Bit width</_title>
      </argument>
      <argument index="3">
        <_title>Signed integer</_title>
      </argument>
    </builtin_function>
    <builtin_function name="bitrot">
      <_title>Bit Rotation</_title>
      <_description>Applies circular bitwise shift to an integer of specified bit width and signedness (use 1 for signed and 0 for unsigned). The second argument specifies the number of steps that each binary bit is shifted to the left (use negative values for right shift). If bit width is zero, the smallest necessary number of bits (of 8, 16, 32, 64, 128, ...) will be used.</_description>
      <_names>r:bitrot</_names>
      <argument index="1">
        <_title>Number</_title>
      </argument>
      <argument index="2">
        <_title>Steps</_title>
      </argument>
      <argument index="3">
        <_title>Bit width</_title>
      </argument>
      <argument index="4">
        <_title>Signed integer</_title>
      </argument>
    </builtin_function>
    <builtin_function name="bitset">
      <_title>Set Bit</_title>
      <_description>Set binary bit at specified position. The index of the least significant bit is 1. Specify bit width and signedness (use 1 for signed and 0 for unsigned) to allow sign changes when the most significant bit is set.</_description>
      <example>$name(8, 3) = 12</example>
      <_names>r:bitset</_names>
      <argument index="1">
        <_title>Number</_title>
      </argument>
      <argument index="2">
        <_title>Position</_title>
      </argument>
      <argument index="3">
        <_title>Value</_title>
      </argument>
      <argument index="4">
        <_title>Bit width</_title>
      </argument>
      <argument index="5">
        <_title>Signed integer</_title>
      </argument>
    </builtin_function>
    <builtin_function name="setbits">
      <_title>Set Multiple Bits</_title>
      <_description>Set binary bits at specified range with binary bits from an integer (index 1 to length of range). The index of the least significant bit is 1. Specify bit width and signedness (use 1 for signed and 0 for unsigned) to allow sign changes when the most significant bit is set.</_description>
      <example>$name(0xFFFF, 9, 12, 0xA) = 0xFAFF</example>
      <_names>r:setbits</_names>
      <argument index="1">
        <_title>Number</_title>
      </argument>
      <argument index="2">
        <_title>First position</_title>
      </argument>
      <argument index="3">
        <_title>Last position</_title>
      </argument>
      <argument index="4">
        <_title>Value</_title>
      </argument>
      <argument index="5">
        <_title>Bit width</_title>
      </argument>
      <argument index="6">
        <_title>Signed integer</_title>
      </argument>
    </builtin_function>
    <builtin_function name="bitget">
      <_title>Get Bit</_title>
      <_description>Returns the binary bit at the specified position. The index of the least significant bit is 1. If last index is non-zero the bits from (first) position to, and including, last position are returned as a new binary number.</_description>
      <example>$name(12, 3) = 1; $name(0b01011100, 2; 4) = 0b00000110 = 6</example>
      <_names>r:bitget</_names>
      <argument index="1">
        <_title>Number</_title>
      </argument>
      <argument index="2">
        <_title>Position</_title>
      </argument>
      <argument index="3">
        <_title>Last position</_title>
      </argument>
    </builtin_function>
  </category>
  <category>
    <_title>Algebra</_title>
    <builtin_function name="sum">
      <_title>Summation</_title>
      <_names>au:&#x3A3;,au:&#x2211;,r:sum</_names>
      <_description>Corresponds to the summation symbol. Adds terms for each x ranging from the lower to the upper limit.</_description>
      <example>$name(x^2, 1, 5) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55</example>
      <argument index="1">
        <_title>Term expression</_title>
      </argument>
      <argument index="2">
        <_title>Lower limit (i)</_title>
      </argument>
      <argument index="3">
        <_title>Upper limit (n)</_title>
      </argument>
      <argument index="4">
        <_title>Index variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="product">
      <_title>Product of a sequence</_title>
      <_names>au:&#x3A0;,r:product</_names>
      <_description>Corresponds to the product symbol. Multiplies factors for each x ranging from the lower to the upper limit.</_description>
      <example>$name(x^2, 1, 5) = 1^2 * 2^2 * 3^2 * 4^2 * 5^2 = 14400</example>
      <argument index="1">
        <_title>Factor expression</_title>
      </argument>
      <argument index="2">
        <_title>Lower limit (i)</_title>
      </argument>
      <argument index="3">
        <_title>Upper limit (n)</_title>
      </argument>
      <argument index="4">
        <_title>Index variable</_title>
      </argument>
    </builtin_function>
    <builtin_function name="multisolve">
      <_title>Solve for multiple variables</_title>
      <_names>r:multisolve</_names>
      <argument index="1">
        <_title>Equation vector</_title>
      </argument>
      <argument index="2">
        <_title>Variable vector</_title>
      </argument>
    </builtin_function>
    <builtin_function name="solve">
      <_title>Solve equation</_title>
      <_names>r:solve</_names>
      <argument index="1">
        <_title>Equation</_title>
      </argument>
      <argument index="2">
        <_title>With respect to</_title>
      </argument>
    </builtin_function>
    <builtin_function name="dsolve">
      <_title>Solve differential equation</_title>
      <_names>r:dsolve</_names>
      <argument index="1">
        <_title>Equation</_title>
      </argument>
      <argument index="2">
        <_title>Initial condition: function value (y)</_title>
      </argument>
      <argument index="3">
        <_title>Initial condition: argument value (x)</_title>
      </argument>
      <_description>Solves a differential equation and returns the value of y(x). The derivative in the equation should be in the format diff(y, x). Only first-order differential equations are currently supported.</_description>
      <example>$name(2 * diff(y, x) - y = 4x, 5, 2) = 21e^(x/2) / e - 4x - 8</example>
    </builtin_function>
    <builtin_function name="newtonsolve">
      <_title>Solve using Newton's Method</_title>
      <_names>r:newtonsolve</_names>
      <argument index="1">
        <_title>Equation</_title>
      </argument>
      <argument index="2">
        <_title>Initial estimate</_title>
      </argument>
      <argument index="3">
        <_title>Variable</_title>
      </argument>
      <argument index="4">
        <_title>Precision</_title>
      </argument>
      <argument index="5">
        <_title>Max iterations</_title>
      </argument>
    </builtin_function>
    <builtin_function name="secantsolve">
      <_title>Solve using Secant Method</_title>
      <_names>r:secantsolve</_names>
      <argument index="1">
        <_title>Equation</_title>
      </argument>
      <argument index="2">
        <_title>Initial estimate 1</_title>
      </argument>
      <argument index="3">
        <_title>Initial estimate 2</_title>
      </argument>
      <argument index="4">
        <_title>Variable</_title>
      </argument>
      <argument index="5">
        <_title>Precision</_title>
      </argument>
      <argument index="6">
        <_title>Max iterations</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Solve for two variables</_title>
      <_names>r:solve2</_names>
      <_description>Solves two equations with two unknown variables. Returns the value of the first variable.</_description>
      <expression>solve(replace(\x,\A{y},solve(\y,\A)),\Z{x})</expression>
      <argument index="1" type="free">
        <_title>Equation 1</_title>
      </argument>
      <argument index="2" type="free">
        <_title>Equation 2</_title>
      </argument>
      <argument index="3" type="symbol">
        <_title>Variable 1</_title>
      </argument>
      <argument index="4" type="symbol">
        <_title>Variable 2</_title>
      </argument>
    </function>
    <function>
      <_title>Find Linear Function</_title>
      <_names>r:linearfunction</_names>
      <_description>Finds the linear function for the straight line between two distinct points.</_description>
      <expression>(\a-\y)/(\z-\x)*("x"-\x)+\y</expression>
      <argument type="free" index="1">
        <_title>x1</_title>
      </argument>
      <argument type="free" index="2">
        <_title>y1</_title>
      </argument>
      <argument type="free" index="3">
        <_title>x2</_title>
      </argument>
      <argument type="free" index="4">
        <_title>y2</_title>
      </argument>
    </function>
  </category>
  <category>
    <_title>Calculus</_title>
    <builtin_function name="diff">
      <_title>Differentiate</_title>
      <_names>r:diff,derivative</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>With respect to</_title>
      </argument>
      <argument index="3">
        <_title>Order</_title>
      </argument>
      <argument index="4">
        <_title>Variable value</_title>
      </argument>
    </builtin_function>
    <builtin_function name="integrate">
      <_title>Integrate</_title>
      <_names>r:integrate,integral,au:&#x222B;</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Lower limit</_title>
      </argument>
      <argument index="3">
        <_title>Upper limit</_title>
      </argument>
      <argument index="4">
        <_title>Variable of integration</_title>
      </argument>
      <argument index="5">
        <_title>Force numerical integration</_title>
      </argument>
    </builtin_function>
    <builtin_function name="romberg">
      <_title>Romberg Integration</_title>
      <_names>r:romberg</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Lower limit</_title>
      </argument>
      <argument index="3">
        <_title>Upper limit</_title>
      </argument>
      <argument index="4">
        <_title>Min iterations</_title>
      </argument>
      <argument index="5">
        <_title>Max iterations</_title>
      </argument>
      <argument index="6">
        <_title>Variable of integration</_title>
      </argument>
    </builtin_function>
    <builtin_function name="montecarlo">
      <hidden>true</hidden>
      <_title>Monte Carlo Integration</_title>
      <_names>r:montecarlo</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Lower limit</_title>
      </argument>
      <argument index="3">
        <_title>Upper limit</_title>
      </argument>
      <argument index="4">
        <_title>Number of samples</_title>
      </argument>
      <argument index="5">
        <_title>Variable of integration</_title>
      </argument>
    </builtin_function>
    <builtin_function name="limit">
      <_title>Limit</_title>
      <_description>Returns the two-sided limit of the function if direction is zero, limit from left (below) if direction is -1, or limit from right (above) if direction is +1.</_description>
      <_names>r:limit</_names>
      <argument index="1">
        <_title>Function</_title>
      </argument>
      <argument index="2">
        <_title>Value to approach</_title>
      </argument>
      <argument index="3">
        <_title>Variable</_title>
      </argument>
      <argument index="4">
        <_title>Direction</_title>
      </argument>
    </builtin_function>
    <function>
      <_title>Extreme Values</_title>
      <_names>r:extremum</_names>
      <expression>solve(diff(\x, \Y{x})=0, \Y)</expression>
      <argument type="free" index="1">
        <_title>Function</_title>
      </argument>
      <argument type="symbol" index="2">
        <_title>With respect to</_title>
      </argument>
    </function>
    <category>
      <_title>Named Integrals</_title>
      <builtin_function name="li">
        <_title>Logarithmic Integral</_title>
        <_names>rc:li,logint</_names>
        <_description>The integral of 1/ln(x).</_description>
      </builtin_function>
      <builtin_function name="Ei">
        <_title>Exponential Integral</_title>
        <_names>rc:Ei,expint</_names>
        <_description>The integral of e^x/x.</_description>
      </builtin_function>
      <builtin_function name="Si">
        <_title>Sine Integral</_title>
        <_names>rc:Si,sinint</_names>
        <_description>The integral of sin(x)/x.</_description>
      </builtin_function>
      <builtin_function name="Ci">
        <_title>Cosine Integral</_title>
        <_names>rc:Ci,cosint</_names>
        <_description>The integral of cos(x)/x.</_description>
      </builtin_function>
      <builtin_function name="Shi">
        <_title>Hyperbolic Sine Integral</_title>
        <_names>rc:Shi,sinhint</_names>
        <_description>The integral of sinh(x)/x.</_description>
      </builtin_function>
      <builtin_function name="Chi">
        <_title>Hyperbolic Cosine Integral</_title>
        <_names>rc:Chi,coshint</_names>
        <_description>The integral of cosh(x)/x.</_description>
      </builtin_function>
      <builtin_function name="fresnels">
        <_title>Fresnel Integral S</_title>
        <_names>r:fresnels</_names>
        <_description>The integral of sin(pi*x^2/2).</_description>
      </builtin_function>
      <builtin_function name="fresnelc">
        <_title>Fresnel Integral C</_title>
        <_names>r:fresnelc</_names>
        <_description>The integral of cos(pi*x^2/2).</_description>
      </builtin_function>
      <builtin_function name="igamma">
        <_title>Upper Incomplete Gamma Function</_title>
        <_names>r:igamma</_names>
      </builtin_function>
      <function>
        <_title>Lower Incomplete Gamma Function</_title>
        <_names>r:gammainc</_names>
        <expression>gamma(\x)-igamma(\x,\y)</expression>
      </function>
      <builtin_function name="betainc">
        <_title>Regularized Incomplete Beta Function</_title>
        <_names>r:betainc</_names>
      </builtin_function>
      <builtin_function name="betaincinv">
        <_title>Inverse Regularized Incomplete Beta Function</_title>
        <_names>r:betaincinv</_names>
      </builtin_function>
    </category>
  </category>
  <category>
    <_title>Geometry</_title>
    <category>
      <_title>Triangle</_title>
      <function>
        <_title>Hypotenuse</_title>
        <_names>r:hypot</_names>
        <expression>sqrt(\x^2+\y^2)</expression>
        <argument type="free" index="1">
          <_title>Side A</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Side B</_title>
        </argument>
      </function>
      <function>
        <_title>Triangle Area</_title>
        <_names>r:triangle</_names>
        <expression>(\x*\y)/2</expression>
        <argument type="free" index="1">
          <_title>Base</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Triangle Perimeter</_title>
        <_names>r:triangle_perimeter</_names>
        <expression>\x+\y+\z</expression>
        <argument type="free" index="1">
          <_title>Side A</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Side B</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Side C</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Circle</_title>
      <function>
        <_title>Circle Area</_title>
        <_names>r:circle</_names>
        <_description>Calculates the area of a circle using the radius</_description>
        <expression>\x^2*pi</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
      </function>
      <function>
        <_title>Circle Circumference</_title>
        <_names>r:circumference</_names>
        <_description>Calculates the area of a circle using the radius</_description>
        <expression>\x*2*pi</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Cylinder</_title>
      <function>
        <_title>Cylinder Volume</_title>
        <_names>r:cylinder</_names>
        <expression>\x^2*pi*\y</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Cylinder</_title>
        <_names>r:cylinder_sa</_names>
        <expression>2*\x^2*pi+2*pi*\x*\y</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Height</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Cone</_title>
      <function>
        <_title>Cone Volume</_title>
        <_names>r:cone</_names>
        <expression>\x^2*pi*\y/3</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Cone</_title>
        <_names>r:cone_sa</_names>
        <expression>\x^2*pi+pi*\x*abs((\y^2+\x^2)^(1/2))</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Height</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Sphere</_title>
      <function>
        <_title>Sphere Volume</_title>
        <_names>r:sphere</_names>
        <expression>\x^3*pi*4/3</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Sphere</_title>
        <_names>r:sphere_sa</_names>
        <expression>\x^2*pi*4</expression>
        <argument type="free" index="1">
          <_title>Radius</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Square</_title>
      <function>
        <_title>Square Area</_title>
        <_names>r:square</_names>
        <expression>\x^2</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Square Perimeter</_title>
        <_names>r:square_perimeter</_names>
        <expression>\x*4</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Cube</_title>
      <function>
        <_title>Cube Volume</_title>
        <_names>r:cube</_names>
        <expression>\x^3</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Cube</_title>
        <_names>r:cube_sa</_names>
        <expression>(\x^2)*6</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Rectangle</_title>
      <function>
        <_title>Rectangle Area</_title>
        <_names>r:rect</_names>
        <expression>\x*\y</expression>
        <argument type="free" index="1">
          <_title>Length</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Width</_title>
        </argument>
      </function>
      <function>
        <_title>Rectangle Perimeter</_title>
        <_names>r:rect_perimeter</_names>
        <expression>(\x+\y)*2</expression>
        <argument type="free" index="1">
          <_title>Length</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Width</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Prism</_title>
      <function>
        <_title>Volume of Rectangular Prism</_title>
        <_names>r:rectprism</_names>
        <_description>Calculates the volume of a prism with rectangular base.</_description>
        <expression>\x*\y*\z</expression>
        <argument type="free" index="1">
          <_title>Length</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Width</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Rectangular Prism</_title>
        <_names>r:rectprism_sa</_names>
        <_description>Calculates the surface area of a prism with rectangular base.</_description>
        <expression>(\x*\y)*2+(\x*\z)*2+(\y*\z)*2</expression>
        <argument type="free" index="1">
          <_title>Length</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Width</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Volume of Triangular Prism</_title>
        <_names>r:triangleprism</_names>
        <_description>Calculates the volume of a prism with triangular base.</_description>
        <expression>\x*\y*\z/2</expression>
        <argument type="free" index="1">
          <_title>Length</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Width</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Height</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Pyramid</_title>
      <function>
        <_title>Pyramid Volume</_title>
        <_names>r:pyramid</_names>
        <_description>Calculates the volume of a 3-dimensional shape standing on a rectangular base and terminating in a point at the top.</_description>
        <expression>\x*\y*\z/3</expression>
        <argument type="free" index="1">
          <_title>Length of base</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Width of base</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Volume of Regular Tetrahedron</_title>
        <_names>r:tetrahedron</_names>
        <expression>sqrt(2)/12*\x^3</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Regular Tetrahedron</_title>
        <_names>r:tetrahedron_sa</_names>
        <expression>sqrt(3)*\x^2</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Height of Regular Tetrahedron</_title>
        <_names>r:tetrahedron_height</_names>
        <expression>sqrt(6)/3*\x</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Volume of Square Pyramid (Equilateral)</_title>
        <_names>r:sqpyramid</_names>
        <expression>sqrt(2)/6*\x^3</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Surface Area of Square Pyramid (Equilateral)</_title>
        <_names>r:sqpyramid_sa</_names>
        <expression>(1+sqrt(3))*\x^2</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
      <function>
        <_title>Height of Square Pyramid (Equilateral)</_title>
        <_names>r:sqpyramid_height</_names>
        <expression>sqrt(2)/2*\x</expression>
        <argument type="free" index="1">
          <_title>Length of side</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Parallelogram</_title>
      <function>
        <_title>Parallelogram Area</_title>
        <_names>r:parallelogram</_names>
        <_description>Calculates the area of a four-sided figure whose opposite sides are both parallel and equal in length.</_description>
        <expression>\x*\y</expression>
        <argument type="free" index="1">
          <_title>Base</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Height</_title>
        </argument>
      </function>
      <function>
        <_title>Parallelogram Perimeter</_title>
        <_names>r:parallelogram_perimeter</_names>
        <_description>Calculates the perimeter of a four-sided figure whose opposite sides are both parallel and equal in length.</_description>
        <expression>(\x+\y)*2</expression>
        <argument type="free" index="1">
          <_title>Side A</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Side B</_title>
        </argument>
      </function>
    </category>
    <category>
      <_title>Trapezoid</_title>
      <function>
        <_title>Trapezoid Area</_title>
        <_names>r:trapezoid</_names>
        <_description>Calculates the area of a four-sided figure with two parallel sides.</_description>
        <expression>(\x+\y)/2*\z</expression>
        <argument type="free" index="1">
          <_title>Side A</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Side B</_title>
        </argument>
        <argument type="free" index="3">
          <_title>Height</_title>
        </argument>
      </function>
    </category>
  </category>
  <category>
    <_title>Economics</_title>
    <category>
      <_title>Microeconomics</_title>
      <function>
        <_title>Elasticity</_title>
        <_names>r:elasticity</_names>
        <_description>Calculates the demand elasticity. Also works for supply elasticity, income elasticity, cross-price elasticity, etc. Just replace demand with supply, or price with income...&#10;&#10;eg. elasticity(100-x^2, 3) calculates the demand elasticity when the price is 3 for the function "Q = 100 - x^2" where x is the default price variable.</_description>
        <expression>replace(diff(\x,\Z{x}),\Z,\y,1)*\y/replace(\x,\Z,\y)</expression>
        <argument type="free" index="1">
          <_title>Demand function</_title>
        </argument>
        <argument type="free" index="2">
          <_title>Price</_title>
        </argument>
        <argument type="symbol" index="3">
          <_title>Price variable</_title>
        </argument>
      </function>
    </category>
    <function>
      <_title>Sum-of-Years Digits Depreciation</_title>
      <_names>r:syd</_names>
      <_description>Calculates the sum-of-years digits depreciation for an asset based on its cost, salvage value, anticipated life, and a particular period. This method accelerates the rate of the depreciation, so that more depreciation expense occurs in earlier periods than in later ones. The depreciable cost is the actual cost minus the salvage value. The useful life is the number of periods (typically years) over which the asset is depreciated.</_description>
      <expression>((\x-\y)*(\z-\a+1)*2)/(\z*(\z+1))</expression>
      <argument type="free" index="1">
        <_title>Cost</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Salvage value</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Life</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Period</_title>
      </argument>
    </function>
    <function>
      <_title>Straight Line Depreciation</_title>
      <_names>r:sln</_names>
      <_description>Determines the straight line depreciation of an asset for a single period.&#10;&#10;Cost is the amount you paid for the asset. Salvage is the value of the asset at the end of the period. Life is the number of periods over which the asset is depreciated. SLN divides the cost evenly over the life of an asset.</_description>
      <expression>(\x-\y)/\z</expression>
      <argument type="free" index="1">
        <_title>Cost</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Salvage value</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Life</_title>
      </argument>
    </function>
    <function>
      <_title>Present Value</_title>
      <_names>ra:pv</_names>
      <_description>Returns the present value of an investment.&#10;&#10;If type = 1 then the payment is made at the beginning of the period. If type = 0 (or omitted) it is made at the end of each period.</_description>
      <expression>(-\A{0}-\z*(1+\x*\B{0})*(((1+\x)^\y-1)/\x))/((1+\x)^\y)</expression>
      <argument type="free" index="1">
        <_title>Interest rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Number of periods</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Payment made each period</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Future value</_title>
      </argument>
      <argument type="boolean" index="5">
        <_title>Type</_title>
      </argument>
    </function>
    <function>
      <_title>Nominal Interest Rate</_title>
      <_names>r:nominal</_names>
      <_description>Calculates the nominal interest rate from a given effective interest rate compounded at given intervals.</_description>
      <expression>\y*(abs((\x+1)^(1/\y))-1)</expression>
      <argument type="free" index="1">
        <_title>Effective interest rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Periods</_title>
      </argument>
    </function>
    <function>
      <_title>Zero Coupon</_title>
      <_names>r:zero_coupon</_names>
      <_description>Calculates the value of a zero-coupon (pure discount) bond.</_description>
      <expression>\x/((1+\y)^\z)</expression>
      <argument type="free" index="1">
        <_title>Face value</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Interest rate</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Years</_title>
      </argument>
    </function>
    <function>
      <_title>Treasury Bill Yield</_title>
      <_names>r:tbillyield</_names>
      <_description>Returns the yield for a treasury bill.</_description>
      <expression>(100-\z)/\z*(360/days(\x,\y,1,1))</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Price per $100 face value</_title>
      </argument>
    </function>
    <function>
      <_title>Treasury Bill Price</_title>
      <_names>r:tbillprice</_names>
      <_description>Returns the price per $100 value for a treasury bill.</_description>
      <expression>100*(1-(\z*days(\x,\y,1,1))/360)</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Discount rate</_title>
      </argument>
    </function>
    <function>
      <_title>Treasury Bill Equivalent</_title>
      <_names>r:tbilleq</_names>
      <_description>Returns the bond equivalent for a treasury bill.</_description>
      <expression>365*\z/(360-\z*days(\x,\y,1,1))</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Discount rate</_title>
      </argument>
    </function>
    <function>
      <_title>Interest paid on a given period of an investment (ISPMT)</_title>
      <_names>r:ispmt</_names>
      <_description>Calculates the interest paid on a given period of an investment.</_description>
      <expression>(-\a*\x)-((-\a*\x)/\z*\y)</expression>
      <argument type="free" index="1">
        <_title>Periodic interest rate</_title>
      </argument>
      <argument type="integer" index="2">
        <_title>Amortizement period</_title>
        <min>1</min>
      </argument>
      <argument type="integer" index="3">
        <_title>Number of periods</_title>
        <min>1</min>
      </argument>
      <argument type="free" index="4">
        <_title>Present value</_title>
      </argument>
    </function>
    <function>
      <_title>Payment for a loan</_title>
      <_names>r:pmt</_names>
      <_description>Returns the amount of payment (negative) each period for a loan based on a constant interest rate and constant payments (each payment is equal amount).&#10;&#10;If type = 1 then the payment is made at the beginning of the period. If type = 0 (or omitted) it is made at the end of each period.&#10;&#10;Note that the interest rate here refers to the rate for each period and if you calculate with an annual rate, each period will be interpreted as a whole year. To get monthly payments divide the annual interest rate by 12 and enter the total number of months (12 times number of years) in the periods field.</_description>
      <example>$name(2%/12, 10*12, 100000€) = -€920</example>
      <expression>(-\z*((1+\x)^\y)-\A{0})/((1+\x*\B{0})*(((1+\x)^\y-1)/\x))</expression>
      <argument type="free" index="1">
        <_title>Rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Number of periods</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Present value</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Future value</_title>
      </argument>
      <argument type="boolean" index="5">
        <_title>Type</_title>
      </argument>
    </function>
    <function>
      <_title>Rate of investment</_title>
      <_names>r:rate</_names>
      <_description>Calculates the rate of return. &#10;&#10;If type = 1 then the payment is made at the beginning of the period. If type = 0 (or omitted) it is made at the end of each period.&#10;&#10;Note that the optional guess is needed because there can be more than one valid result. It defaults to 10%.</_description>
      <example>$name(10, -1500, 10000) ≈ 0.0814</example>
      <subfunction precalculate="true">newtonsolve(pmt("rate",\x,\z,\A{0},\B{0})=\y,\C{0.1},"rate",0,20)</subfunction>
      <expression>if(isNumber(\1),\1,undefined)</expression>
      <argument type="number" index="1">
        <_title>Number of periods</_title>
        <min include_equals="false">0</min>
      </argument>
      <argument type="free" index="2">
        <_title>Payment made each period</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Present value</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Future value</_title>
      </argument>
      <argument type="boolean" index="5">
        <_title>Type</_title>
      </argument>
      <argument type="number" index="6">
        <_title>Guess</_title>
      </argument>
    </function>
    <function>
      <_title>Periods of an investment</_title>
      <_names>r:nper</_names>
      <_description>Calculates number of periods of an investment based on periodic constant payments and a constant interest rate.&#10;&#10;Type defines the due date. 1 for payment at the beginning of a period and 0 (default) for payment at the end of a period.</_description>
      <expression>ln((\y*(1+\x*\B{0})-\A{0}*\x)/(\z*\x+\y*(1+\x*\B)))/ln(1+\x)</expression>
      <argument type="free" index="1">
        <_title>Interest rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Payment made each period</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Present value</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Future value</_title>
      </argument>
      <argument type="free" index="5">
        <_title>Type</_title>
      </argument>
    </function>
    <function>
      <_title>Periods for investment to attain desired value</_title>
      <_names>r:g_duration</_names>
      <_description>Returns the number of periods needed for an investment to attain a desired value.</_description>
      <expression>ln(\z/\y)/ln(1+\x)</expression>
      <argument type="free" index="1">
        <_title>Rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Present value</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Future value</_title>
      </argument>
    </function>
    <function>
      <_title>Payment of an annuity going towards principal (PPMT)</_title>
      <_names>r:ppmt</_names>
      <_description>Calculates the amount of a payment of an annuity going towards principal.&#10;&#10;Type defines the due date. 1 for payment at the beginning of a period and 0 (default) for payment at the end of a period.</_description>
      <expression>((-\a*(pow(1+\x,\z))-\B{0})/((1+\x*\C{0})*((pow(1+\x,\z)-1)/\x)))+(\a*pow(1+\x,(\y-1))+((-\a*(pow(1+\x,\z))-\B)/((1+\x*\C)*((pow(1+\x,\z)-1)/\x)))*((pow(1+\x,(\y-1))-1)/\x))*\x</expression>
      <argument type="free" index="1">
        <_title>Periodic interest rate</_title>
      </argument>
      <argument type="integer" index="2">
        <_title>Amortizement period</_title>
        <min>1</min>
      </argument>
      <argument type="integer" index="3">
        <_title>Number of periods</_title>
        <min>1</min>
      </argument>
      <argument type="free" index="4">
        <_title>Present value</_title>
      </argument>
      <argument type="free" index="5">
        <_title>Desired future value</_title>
      </argument>
      <argument type="boolean" index="6">
        <_title>Type</_title>
      </argument>
    </function>
    <function>
      <_title>Effective Interest Rate</_title>
      <_names>r:effect</_names>
      <_description>Calculates the effective interest for a given nominal rate.</_description>
      <expression>(1+\x/\y)^\y-1</expression>
      <argument type="free" index="1">
        <_title>Nominal interest rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Periods</_title>
      </argument>
    </function>
    <function>
      <_title>Future Value</_title>
      <_names>ra:fv,a:FV</_names>
      <_description>Computes the future value of an investment. This is based on periodic, constant payments and a constant interest rate.&#10;&#10;If type = 1 then the payment is made at the beginning of the period. If type = 0 (or omitted) it is made at the end of each period.</_description>
      <expression>-(\A{0}*((1+\x)^\y)+\z*(1+\x*\B{0})*(((1+\x)^\y-1)/\x))</expression>
      <argument type="free" index="1">
        <_title>Interest rate</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Number of periods</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Payment made each period</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Present value</_title>
      </argument>
      <argument type="boolean" index="5">
        <_title>Type</_title>
      </argument>
    </function>
    <function>
      <_title>Return on continuously compounded interest</_title>
      <_names>r:continuous</_names>
      <_description>Calculates the return on continuously compounded interest, given the principal, nominal rate and time in years.</_description>
      <expression>\x*exp(\y*\z)</expression>
      <argument type="free" index="1">
        <_title>Principal</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Interest rate</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Years</_title>
      </argument>
    </function>
    <function>
      <_title>Compound</_title>
      <_names>r:compound</_names>
      <_description>Returns the value of an investment, given the principal, nominal interest rate, compounding frequency and time.</_description>
      <expression>\x*(1+\y/\z)^(\z*\a)</expression>
      <argument type="free" index="1">
        <_title>Principal</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Nominal interest rate</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Periods per year</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Years</_title>
      </argument>
    </function>
    <function>
      <_title>Payment of an annuity going towards interest (IPMT)</_title>
      <_names>r:ipmt</_names>
      <_description>Calculates the amount of a payment of an annuity going towards interest.&#10;&#10;Type defines the due date. 1 for payment at the beginning of a period and 0 (default) for payment at the end of a period.</_description>
      <expression>-(\a*pow(1+\x,(\y-1))+((-\a*(pow(1+\x,\z))-\B)/((1+\x*\C)*((pow(1+\x,\z)-1)/\x)))*((pow(1+\x,(\y-1))-1)/\x))*\x</expression>
      <argument type="free" index="1">
        <_title>Periodic interest rate</_title>
      </argument>
      <argument type="integer" index="2">
        <_title>Period</_title>
        <min>1</min>
      </argument>
      <argument type="integer" index="3">
        <_title>Number of periods</_title>
        <min>1</min>
      </argument>
      <argument type="free" index="4">
        <_title>Present value</_title>
      </argument>
      <argument type="free" index="5">
        <_title>Future value</_title>
      </argument>
      <argument type="boolean" index="6">
        <_title>Type</_title>
      </argument>
    </function>
    <function>
      <_title>Interest rate for a fully invested security</_title>
      <_names>r:intrate</_names>
      <_description>Returns the interest rate for a fully invested security.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>(\a-\z)/\z/yearfrac(\x,\y,\B{0},1)</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Investment</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Redemption</_title>
      </argument>
      <argument type="integer" index="5">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Dollar Fraction</_title>
      <_names>r:dollarfr</_names>
      <_description>Converts a decimal dollar price into a dollar price expressed as a fraction.</_description>
      <expression>int(\x)+frac(\x)*\y/10^ceil(log(\y))</expression>
      <argument type="free" index="1">
        <_title>Decimal dollar</_title>
      </argument>
      <argument type="integer" index="2">
        <_title>Denominator of fraction</_title>
        <min>1</min>
      </argument>
    </function>
    <function>
      <_title>Dollar Decimal</_title>
      <_names>r:dollarde</_names>
      <_description>Converts a dollar price expressed as a fraction into a dollar price expressed as a decimal number.</_description>
      <expression>int(\x)+frac(\x)*10^ceil(log(\y))/\y</expression>
      <argument type="free" index="1">
        <_title>Fractional dollar</_title>
      </argument>
      <argument type="integer" index="2">
        <_title>Denominator of fraction</_title>
        <min>1</min>
      </argument>
    </function>
    <function>
      <_title>Amount received at maturity for a security bond</_title>
      <_names>r:received</_names>
      <_description>Returns the amount received at the maturity date for an invested security.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360. The settlement date must be before maturity date.</_description>
      <expression>\z/(1-\a*yearfrac(\x,\y,\B{0},1))</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Investment</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Discount rate</_title>
      </argument>
      <argument type="integer" index="5">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Discount rate for a security</_title>
      <_names>r:disc</_names>
      <_description>Returns the discount rate for a security.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>(\a-\z)/\a/yearfrac(\x,\y,\B{0},1))</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Price per $100 face value</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Redemption</_title>
      </argument>
      <argument type="integer" index="5">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Accrued interest of security paying at maturity</_title>
      <_names>r:accrintm</_names>
      <_description>Returns the accrued interest for a security which pays interest at maturity date.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>\A{1000}*\z*yearfrac(\x,\y,\B{0},1)</expression>
      <argument type="date" index="1">
        <_title>Issue date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Settlement date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Annual rate of security</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Par value</_title>
      </argument>
      <argument type="integer" index="5">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Accrued interest of security with periodic interest payments</_title>
      <_names>r:accrint</_names>
      <_description>Returns accrued interest for a security which pays periodic interest.&#10;&#10;Allowed frequencies are 1 - annual, 2 - semi-annual or 4 - quarterly. Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>\b*\a/\c*\c*yearfrac(\x,\z,\D{0},1)+\y*0</expression>
      <argument type="date" index="1">
        <_title>Issue date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>First interest</_title>
      </argument>
      <argument type="date" index="3">
        <_title>Settlement date</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Annual rate of security</_title>
      </argument>
      <argument type="free" index="5">
        <_title>Par value</_title>
      </argument>
      <argument type="integer" index="6">
        <_title>Frequency</_title>
        <min>1</min>
        <max>4</max>
      </argument>
      <argument type="integer" index="7">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Number of coupons to be paid</_title>
      <_names>r:coupnum</_names>
      <_description>Returns the number of coupons to be paid between the settlement and the maturity.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>trunc(yearfrac(\x,\y,\A{0},1)*\z)</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="integer" index="3">
        <_title>Frequency</_title>
        <min>1</min>
        <max>12</max>
      </argument>
      <argument type="integer" index="4">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Price per $100 face value of a discounted security</_title>
      <_names>r:pricedisc</_names>
      <_description>Calculates and returns the price per $100 face value of a discounted security. The security does not pay interest at maturity.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>\a-\z*\a*yearfrac(\x,\y,\B{0},1)</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Discount</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Redemption</_title>
      </argument>
      <argument type="integer" index="5">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Price per $100 face value of a security</_title>
      <_names>r:pricemat</_names>
      <_description>Calculates and returns the price per $100 face value of a security. The security pays interest at maturity.&#10;&#10;Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.</_description>
      <expression>(100+yearfrac(\z,\y,\C{0},1)*\a*100)/(1+yearfrac(\x,\y,\C,1)*\b)-yearfrac(\z,\x,\C,1)*\a*100</expression>
      <argument type="date" index="1">
        <_title>Settlement date</_title>
      </argument>
      <argument type="date" index="2">
        <_title>Maturity date</_title>
      </argument>
      <argument type="date" index="3">
        <_title>Issue date</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Discount rate</_title>
      </argument>
      <argument type="free" index="5">
        <_title>Annual yield</_title>
      </argument>
      <argument type="integer" index="6">
        <_title>Day counting basis</_title>
        <min>0</min>
        <max>4</max>
      </argument>
    </function>
    <function>
      <_title>Level-Coupon Bond</_title>
      <_names>r:level_coupon</_names>
      <_description>Calculates the value of a level-coupon bond.</_description>
      <expression>(\y*\x/\z)*((1-1/(((1+(\b/\z))^(\a*\z))))/(\b/\z))+(\x/((1+(\b/\z))^(\a*\z)))</expression>
      <argument type="free" index="1">
        <_title>Face value</_title>
      </argument>
      <argument type="free" index="2">
        <_title>Coupon rate</_title>
      </argument>
      <argument type="free" index="3">
        <_title>Coupons per year</_title>
      </argument>
      <argument type="free" index="4">
        <_title>Years</_title>
      </argument>
      <argument type="free" index="5">
        <_title>Market interest rate</_title>
      </argument>
    </function>
  </category>
</QALCULATE>
