Supported Operators and Functions

 
        An user-defined or inputted function can be a combination expression of:
        1. Function argument variables, such as x, y, a, t, y0, y1, y2, y3, y4, A, B, etc. 
            Different tools/pages may require different set of function argument variables.
        2. Supported operators: +, -, *, /, ^(or **).
        3. And all the JavaScript Math functions and Math constants. 
            The argument variables of the Math functions follow the same syntax or rules as the user-defined function.
            That is, the recursive function definition is supported.

        For function formula input, supported operators are limited to: 
        +(Addition), -(Subtraction), *(Multiplication), /(Division), ^(or **)(Exponentiation).
        Other operators, such as &, &&, |, ||, >>, >, <<, <, !, %, etc., are not supported for function formula 
        and they will be treated as errors, although they are legal JavaScript operators.
        
        The following is the list of supported JavaScript Math functions and Math constants:

        abs(x) = Math.abs(x)           //Returns the absolute value of x        
        acos(x) = Math.acos(x)         //Returns the arccosine of x, in radians
        acosh(x) = Math.acosh(x)       //Returns the hyperbolic arccosine of x
        asin(x) = Math.asin(x)         //Returns the arcsine of x, in radians
        asinh(x) = Math.asinh(x)       //Returns the hyperbolic arcsine of x
        atan(x) = Math.atan(x)         //Returns the arctangent of x as a numeric value between -PI/2 and PI/2 radians
        atan2(y, x) = Math.atan2(y, x) //Returns the arctangent of the quotient of its arguments
        atanh(x) = Math.atanh(x)       //Returns the hyperbolic arctangent of x
        
        cbrt(x) = Math.cbrt(x)   //Returns the cubic root of x
        ceil(x) = Math.ceil(x)   //Returns x, rounded upwards to the nearest integer
        clz32(x) = Math.clz32(x) //Returns the number of leading zeros in a 32-bit binary representation of x
        cos(x) = Math.cos(x)     //Returns the cosine of x (x is in radians)
        cosh(x) = Math.cosh(x)   //Returns the hyperbolic cosine of x
        
        E = Math.E  //Returns Euler's number (approx. 2.718)
        exp(x) = Math.exp(x) //Returns the value of Ex
        expm1(x) = Math.expm1(x) //Returns the value of Ex minus 1
        
        floor(x) = Math.floor(x) //Returns x, rounded downwards to the nearest integer
        fround(x) = Math.fround(x) //Returns the nearest (32-bit single precision) float representation of a number
        
        LN2 = Math.LN2   //Returns the natural logarithm of 2 (approx. 0.693)
        LN10 = Math.LN10  //Returns the natural logarithm of 10 (approx. 2.302)
        log(x) = Math.log(x)  //Returns the natural logarithmof x
        log10(x) = Math.log10(x) //Returns the base-10 logarithm of x
        LOG10E = Math.LOG10E     //Returns the base-10 logarithm of E (approx. 0.434)
        log1p(x) = Math.log1p(x) //Returns the natural logarithm of 1 + x
        log2(x) = Math.log2(x)   //Returns the base-2 logarithm of x
        LOG2E = Math.LOG2E      //Returns the base-2 logarithm of E (approx. 1.442)
        
        PI = Math.PI  //Returns PI (approx. 3.14)
        pi = Math.PI  //Returns PI (approx. 3.14)
        pow = Math.pow(x, y)  //Returns the value of x to the power of y    
        
        random(x) = Math.random()  //Returns a random number between 0 and 1        
        round(x) = Math.round(x)   //Rounds x to the nearest integer
        
        sign(x) = Math.sign(x)  //Returns the sign of a number (checks whether it is positive, negative or zero)
        sin(x) = Math.sin(x)    //Returns the sine of x (x is in radians)
        sinh(x) = Math.sinh(x)  //Returns the hyperbolic sine of x
        sqrt(x) = Math.sqrt(x)  //Returns the square root of x
        SQRT1_2 = Math.SQRT1_2  //Returns the square root of 1/2 (approx. 0.707)
        SQRT2 = Math.SQRT2  //Returns the square root of 2 (approx. 1.414)
        
        tan(x) = Math.tan(x)  //Returns the tangent of an angle
        tanh(x) = Math.tanh(x)  //Returns the hyperbolic tangent of a number
        trunc(x) = Math.trunc(x)  //Returns the integer part of a number (x)