How to Use
keisan is a calculation service that aims to achieve precision assurance by applying variable-precision arithmetic technology.
Features of keisan
1. You can change the number of digits for calculation.
(The number of digits is set using the "Digits" setting)
| Setting | Result |
|---|---|
| Digits 6 | √5 =sqrt(5) =2.23607 |
| Digits 14 | √5 =sqrt(5) =2.2360679774998 |
| Environment | Result |
|---|---|
| keisan | (0.9-0.3*3) =0 |
| Excel | (0.9-0.3*3) =1.11022E-16 (binary-decimal conversion error) |
2. Automatically determines the correct digits of precision.
| Setting | Result |
|---|---|
| Digits 6 | 1-0.999876 =1.24000E-4 |
| Digits 10 | gamma(3.5) =3.323350970 |
3. Supports complex numbers, statistical functions, special functions, and table calculations.
| Type | Example |
|---|---|
| [Set Digits to 6] | |
| Complex number | (1+i)^(1+i) =0.273957+0.583701i |
| Error function | x =0.1 erf(x) =0.112463 |
| Table calculation | sqrt(x) x =2,1,5 |
Table calculation result
| x | sqrt(x) |
|---|---|
| 2 | 1.41421 |
| 3 | 1.73205 |
| 4 | 2 |
| 5 | 2.23607 |
| 6 | 2.44949 |

4. You can use the formula library.
| Formula name | Content |
|---|---|
| Area of a triangle (a,b,c) | s=(a+b+c)/2; a=3; b=4; c=5; sqrt(s*(s-a)*(s-b)*(s-c)) |
Formula Syntax Rules
1. Numbers
0,1,2,3,4,5,6,7,8,9, .(decimal point), E(exponent), i(imaginary), +, -
| Input example | Description |
|---|---|
| 12340.56789 | Same as 1.234056789E4 |
| E2 | 100 |
| 1.23E+4 | 12300 — The + in E+ is an exponent sign and can be omitted |
| 1.23E-4 | 0.000123 — The - in E- is an exponent sign and cannot be omitted |
| i | 0+1i |
| E+2i | 0+100i |
| 1.23+4.56i | Enclosing complex numbers in parentheses is recommended |
| 1.23E3+4.56E2i | 1230+456i |
| 1.23E-3-4.56E+2i | 0.00123-456i |
Note: Use uppercase E for the exponent part. (Lowercase e is the base of natural logarithm)
2. Variables
Must start with a letter or kanji, followed by letters, digits, or kanji. Special symbols and reserved words cannot be used.
| Category | Example |
|---|---|
| Variable name examples | a, sinx, a3, etc. |
| Invalid examples | e, i, inf, sin, E and other reserved words |
| Invalid examples | #abc, 3abc, ab_c, etc. |
3. Functions
Composed of a function name and one or more arguments enclosed in parentheses. Multiple arguments are separated by commas (","). Arguments can be numbers, variables, functions, or expressions.
| Example: | sin(x) normalcd(x,μ,2) normalcd(x+y,ln(12),σ) |
Constants without arguments do not use parentheses.
| Example: | pi inf e |
4. Operators
Operators include + , - , * , / , ^ , ! , = and specify operations between elements such as numbers, variables, and functions.
| Example | Description |
|---|---|
| element1 + element2 | Add element1 and element2 |
| element1 - element2 | Subtract element2 from element1 |
| element1 * element2 | Multiply element1 and element2 (* can be omitted) |
| element1 / element2 | Divide element1 by element2 |
| element1 ^ element2 | Raise element1 to the power of element2 |
| element1 ! | Factorial of element1 (single element operation) |
| element1 = element2 | Assign the result of element2 to element1. Therefore, element1 must be a variable. |
5. Expressions
An expression is formed by combining elements (numbers, variables, functions) with operators. An expression can be used as an element and further combined with operators. The order of operations follows the "Order of Operations" section below. Example: element1 + element2 - element3 * element4 / element5 ^ element6 ! + ...
6. Other
The minus sign (-) is treated as a binary operator, except in exponent notation. However, at the beginning of an expression, or immediately after an opening parenthesis or comma, it is treated as a sign.
| Example: | -a+b → (0-a)+b -a^b → 0-(a^b) a^-b → Error a^(-b) → a^(0-b) a*b;-a*b → a*b;0-(a*b) a*-b → Error |
Spaces can be used to make expressions more readable.
Order of Operations
- Operators with higher precedence are evaluated first.
- Operators of the same precedence are evaluated from left to right. *Exception: the exponentiation operator (^) is evaluated from right to left.
- Expressions inside parentheses are evaluated first.
- In nested parentheses, the innermost parentheses are evaluated first.
Operator types and precedence
| Precedence | Operator | Meaning |
|---|---|---|
| High ↑ | Functions | Built-in functions |
| !!, !, ^ | Double factorial, factorial, exponentiation | |
| *, / | Multiplication, division | |
| +, - | Addition, subtraction | |
| ↓ Low | = | Assignment |
Common mistakes in expression notation
Operation order when parentheses are omitted
| Expression | Interpretation | Description | |
|---|---|---|---|
| 2+3*4 | → | 2+(3*4) | Multiplication has higher precedence than addition |
| 3*4^5 | → | 3*(4^5) | Exponentiation has higher precedence than multiplication |
| sin(2)^3 | → | (sin(2))^3 | Functions have higher precedence than exponentiation |
| 1/2i | → | 1/(2i) | Imaginary unit takes precedence |
| 3!!! | → | (3!!)! | Double factorial has higher precedence than factorial |
Expressions with omitted multiplication sign
| Expression | Result | Description |
|---|---|---|
| 3a | ○ | Calculated as 3*a |
| a3 | × | a3 is a variable name |
| a(b+c) | × | Not a*(b+c); a is treated as a user-defined function |
| (a+b)(b+c) | ○ | Calculated as (a+b)*(b+c) |
Numbers, Operators and Constants
Numbers
| Type | Example | Reserved Word |
|---|---|---|
| Numeric | 1234567890 | 0-9 |
| Decimal point | 0.123 | . |
| Sign | -123, +456 | +,- |
| Exponent | 1.23E-45 | E |
| Imaginary | 2+3i | i |
Operators
| Type | Example | Reserved Word |
|---|---|---|
| Addition | x+y | + |
| Subtraction | x-y | - |
| Multiplication | x*y | * |
| Division | x/y | / |
| Exponentiation | x^y | ^ |
| Factorial | n! | ! |
| Double factorial | n!! | !! |
| Assignment | a=123 | = |
Multi-expression
| Type | Example | Reserved Word |
|---|---|---|
| Expression separator | a=2+3; b=4/7 | ; |
Constants
| Type | Value | Reserved Word |
|---|---|---|
| Base of natural logarithm | e =2.71828... | e |
| Infinity | ∞ | inf |
| Pi | π =3.14159.. | pi |
| Euler's constant | γ =0.5772... | euler |
| True | true =1 | true |
| False | false =0 | false |
Elementary Functions
Logarithmic and exponential functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Square root | √ | sqrt(x) |
| Common logarithm | log | log(x) |
| Natural logarithm | ln | ln(x) |
| Exponential function | e^x | e^x |
| Power function | x^y | x^y |
Trigonometric functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Sine | sin | sin(x) |
| Cosine | cos | cos(x) |
| Tangent | tan | tan(x) |
| Arcsine | sin⁻¹ | asin(x) |
| Arccosine | cos⁻¹ | acos(x) |
| Arctangent | tan⁻¹ | atan(x) |
Hyperbolic functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Hyperbolic sine | sinh | sinh(x) |
| Hyperbolic cosine | cosh | cosh(x) |
| Hyperbolic tangent | tanh | tanh(x) |
| Inverse hyperbolic sine | sinh⁻¹ | asinh(x) |
| Inverse hyperbolic cosine | cosh⁻¹ | acosh(x) |
| Inverse hyperbolic tangent | tanh⁻¹ | atanh(x) |
Combinations and permutations
| Function | Symbol | Reserved Word |
|---|---|---|
| Combination | nCr | combination(n,r) |
| Permutation | nPr | permutation(n,r) |
| Factorial | x! | x! |
| Double factorial | x!! | x!! |
Numeric functions (real numbers)
| Function | Example | Reserved Word |
|---|---|---|
| Greatest integer ≤ x | int(4.2) =4, int(-4.2) =-5 | int(x) |
| Smallest integer ≥ x | ceiling(4.2) =5, ceiling(-4.2) =-4 | ceiling(x) |
| Integer part | IP(4.2) =4, IP(-4.2) =-4 | IP(x) |
| Fractional part | FP(4.2) =0.2, FP(-4.2) =-0.2 | FP(x) |
| Remainder of x divided by y | mod(9,5) =4, mod(-9,5) =1 | mod(x,y) |
| y*FP(x/y) | remainder(9,5) =4, remainder(-9,5) =-4 | remainder(x,y) |
| Round | round(2.35,1) =2.4, round(-2.35,1) =-2.4 | round(x,n) |
| Round down | rounddown(2.34,1) =2.3, rounddown(-2.34,1) =-2.4 | rounddown(x,n) |
| Round up | roundup(2.34,1) =2.4, roundup(-2.34,1) =-2.3 | roundup(x,n) |
| IP(x*10^n)/10^n | truncate(2.34,1) =2.3, truncate(-2.34,1) =-2.3 | truncate(x,n) |
| Random real number | random decimal number in [0,1] | random_f() |
| Random real number | random decimal number in [a,b] | random_f(a,b) |
| Random integer | random integer number in [a,b] | random_i(a,b) |
Numeric functions (complex numbers)
| Function | Description | Reserved Word |
|---|---|---|
| Sign | sign(z) =1,0,-1 | sign(z) |
| Complex conjugate | x+iy → x-iy | conjugate(z) |
| Real part | x+iy → x | Re(z) |
| Imaginary part | x+iy → y | lm(z) |
| Absolute value | |z| =|re^(iθ)| =r | abs(z) |
| Argument | re^(iθ) → θ | argument(z) |
| Cartesian conversion | re^(iθ) → x+iy | cartesian(z) |
| Cartesian conversion | (r,θ) → x+iy | cartesian(r,θ) |
| Polar conversion | x+iy → re^(iθ) | polar(z) |
| Polar conversion | (x,y) → re^(iθ) | polar(x,y) |
Maximum and minimum
| Function | Example | Reserved Word |
|---|---|---|
| Maximum (up to 20 arguments) | max(1,2,3,4) = 4 | max(a,b,c,d,...) |
| Minimum (up to 20 arguments) | min(1,2,3,4) = 1 | min(a,b,c,d,...) |
Statistical Functions
Continuous distribution functions (Q: upper cumulative probability, f: probability density, x: percentile, λ: non-centrality parameter)
| Function | Reserved Word |
|---|---|
| Standard normal distribution | Q: normalcd(x) f: normalpd(x) x: normalicd(Q) |
| Normal distribution | Q: normalcd(x,μ,σ) f: normalpd(x,μ,σ) x: normalicd(Q,μ,σ) |
| Log-normal distribution | Q: lognormalcd(x,μ,σ) f: lognormalpd(x,μ,σ) x: lognormalicd(Q,μ,σ) |
| Chi-squared distribution | Q: chi2cd(x,ν) f: chi2pd(x,ν) x: chi2icd(Q,ν) |
| Student's t-distribution | Q: tcd(x,ν) f: tpd(x,ν) x: ticd(Q,ν) |
| F-distribution | Q: fcd(x,ν1,ν2) f: fpd(x,ν1,ν2) x: ficd(Q,ν1,ν2) |
| Noncentral chi-squared distribution | Q: ncchi2cd(x,ν,λ) f: ncchi2pd(x,ν,λ) x: ncchi2icd(Q,ν,λ) λ: ncchi2il(P,x,ν) |
| Noncentral t-distribution | Q: nctcd(x,ν,λ) f: nctpd(x,ν,λ) x: ncticd(Q,ν,λ) λ: nctil(Q,x,ν) |
| Noncentral F-distribution | Q: ncfcd(x,ν1,ν2,λ) f: ncfpd(x,ν1,ν2,λ) x: ncficd(Q,ν1,ν2,λ) λ: ncfil(Q,x,ν1,ν2) |
| Uniform distribution | Q: uniformcd(x,a,b) f: uniformpd(x,a,b) x: uniformicd(Q,a,b) |
| Exponential distribution | Q: exponentialcd(x,b) f: exponentialpd(x,b) x: exponentialicd(Q,b) |
| Weibull distribution | Q: weibullcd(x,a,b) f: weibullpd(x,a,b) x: weibullicd(Q,a,b) |
| Gamma distribution | Q: gammacd(x,a,b) f: gammapd(x,a,b) x: gammaicd(Q,a,b) |
| Beta distribution | Q: betacd(x,a,b) f: betapd(x,a,b) x: betaicd(Q,a,b) |
| Laplace distribution | Q: laplacecd(x,a,b) f: laplacepd(x,a,b) x: laplaceicd(Q,a,b) |
| Cauchy distribution | Q: cauchycd(x,a,b) f: cauchypd(x,a,b) x: cauchyicd(Q,a,b) |
| Logistic distribution | Q: logisticcd(x,α,β) f: logisticpd(x,α,β) x: logisticicd(Q,α,β) |
| Pareto distribution | Q: paretocd(x,xm,α) f: paretopd(x,xm,α) x: paretoicd(Q,xm,α) |
| Generalized Pareto distribution | Q: gparetocd(x,μ,σ,ξ) f: gparetopd(x,μ,σ,ξ) x: gparetoicd(Q,μ,σ,ξ) |
| Levy distribution | Q: levycd(x,μ,c) f: levypd(x,μ,c) x: levyicd(Q,μ,c) |
Note: For lower cumulative probability P, append "lower" to the reserved word. Example: P=normalcdlower(x), x=normalicdlower(P)
Discrete distribution functions (Q: upper cumulative probability, f: probability density, x: percentile, λ: non-centrality parameter)
| Function | Reserved Word |
|---|---|
| Poisson distribution | Q: poissoncd(x,λ) f: poissonpd(x,λ) x: poissonicd(Q,λ) λ: poissonil(Q,x) |
| Binomial distribution | Q: binomialcd(x,n,p) f: binomialpd(x,n,p) x: binomialicd(Q,n,p) |
| Negative binomial distribution | Q: negbinomialcd(x,k,p) f: negbinomialpd(x,k,p) x: negbinomialicd(Q,k,p) |
| Geometric distribution | Q: geometriccd(x,p) f: geometricpd(x,p) x: geometricicd(Q,p) |
| Hypergeometric distribution | Q: hypgeometriccd(x,n,M,N) f: hypgeometricpd(x,n,M,N) |
Note: For lower cumulative probability P, append "lower" to the reserved word. Example: P=poissoncdlower(x,λ), x=poissonicdlower(P,λ), λ=poissonillower(P,x)
Bessel Functions
Bessel functions (f(x), f'(x), f⁻¹(0) s=1,2,.., f'⁻¹(0) s=1,2..)
| Function | Symbol | Reserved Word |
|---|---|---|
| Bessel function of the first kind | Jν(x) | besselj(ν,x) besseljdf(ν,x) besseljzeros(ν,s) besseljdfzeros(ν,s) |
| Bessel function of the second kind | Yν(x) | bessely(ν,x) besselydf(ν,x) besselyzeros(ν,s) besselydfseros(ν,s) |
| Modified Bessel function of the first kind | Iν(x) | besseli(ν,x) besselidf(ν,x) |
| Modified Bessel function of the second kind | Kν(x) | besselk(ν,x) besselkdf(ν,x) |
| Hankel function of the first kind | H⁽¹⁾ν(x) | hankelH1(ν,x) hankelH1df(ν,x) |
| Hankel function of the second kind | H⁽²⁾ν(x) | hankelH2(ν,x) hankelH2df(ν,x) |
Spherical Bessel functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Spherical Bessel function of the first kind | jν(x) | sphericalbesselj(ν,x) spherical besseljdf(ν,x) spherical besseljzeros(ν,s) spherical besseljdfzeros(ν,s) |
| Spherical Bessel function of the second kind | yν(x) | sphericalbessely(ν,x) sphericalbesselyjdf(ν,x) sphericalbesselyzeros(ν,s) sphericalbesselydfzeros(ν,s) |
| Modified spherical Bessel function of the first kind | iν(x) | sphericalbesseli(ν,x) sphericalbesselidf(ν,x) |
| Modified spherical Bessel function of the second kind | kν(x) | sphericalbesselk(ν,x) sphericalbesselkdf(ν,x) |
| Spherical Hankel function of the first kind | h⁽¹⁾ν(x) | sphericalhankelH1(ν,x) sphericalhankelH1df(ν,x) |
| Spherical Hankel function of the second kind | h⁽²⁾ν(x) | sphericalhankelH2(ν,x) sphericalhankelH2df(ν,x) |
Airy functions (f(x), f'(x), f⁻¹(0) s=1,2,.., f'⁻¹(0) s=1,2..)
| Function | Symbol | Reserved Word |
|---|---|---|
| Airy function | Ai(x) | airyai(x) airyaidf(x) airyaizeros(s) airyaidfzeros(s) |
| Airy function | Bi(x) | airybi(x) airybidf(x) airybizeros(s) airybidfzeros(s) |
Kelvin functions (f(x), f'(x))
| Function | Symbol | Reserved Word |
|---|---|---|
| Kelvin function of the first kind | berν(x) | ber(ν,x) berdf(ν,x) |
| Kelvin function of the first kind | beiν(x) | bei(ν,x) beidf(ν,x) |
| Kelvin function of the second kind | kerν(x) | ker(ν,x) kerdf(ν,x) |
| Kelvin function of the second kind | keiν(x) | kei(ν,x) keidf(ν,x) |
| Kelvin function of the third kind | herν(x) | her(ν,x) herdf(ν,x) |
| Kelvin function of the third kind | heiν(x) | hei(ν,x) heidf(ν,x) |
Special Functions
Gamma functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Gamma function | Γ(a) | gamma(a) |
| Lower incomplete gamma function | γ(a,x) | igamma1(a,x) |
| Upper incomplete gamma function | Γ(a,x) | igamma2(a,x), gamma(a,x) |
| Regularized lower gamma function | γ(a,x)/Γ(a) | gammap(a,x) |
| Regularized upper gamma function | Γ(a,x)/Γ(a) | gammaq(a,x) |
| Log gamma function | lnΓ(a) | lngamma(a) |
| Digamma function | Ψ(a) | polygamma(a) |
| Polygamma function | Ψ⁽ⁿ⁾(a) | polygamma(n,a) |
| Double factorial | x!! | x!! |
| Pochhammer function | (x)n | pochhammer(x,n) |
Beta functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Beta function | B(a,b) | beta(a,b) |
| Incomplete beta function | Ix(a,b) | y: ibeta(x,a,b) x: ibetaix(y,a,b) |
| Incomplete beta function | I₁₋ₓ(a,b) | y: ibetac(x,a,b) x: ibetacix(y,a,b) |
Error functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Error function | erf(x) | y: erf(x) x: erfix(y) |
| Complementary error function | erfc(x) | y: erfc(x) x: erfcix(y) |
| Imaginary error function | erfi(x) | y: erfi(x) |
Elementary function integrals and Fresnel integrals
| Function | Symbol | Reserved Word |
|---|---|---|
| Exponential integral | Ei(x) | Ei(x) |
| Exponential integral | En(x) | Ei(n,x) |
| Logarithmic integral | li(x) | li(x) |
| Sine integral | Si(x) | Si(x) |
| Cosine integral | Ci(x) | Ci(x) |
| Hyperbolic sine integral | Shi(x) | Shi(x) |
| Hyperbolic cosine integral | Chi(x) | Chi(x) |
| Fresnel sine integral | S(x) | fresnelS(x) |
| Fresnel cosine integral | C(x) | fresnelC(x) |
Elliptic integrals and elliptic functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Complete elliptic integral of the first kind | K(k) | ellipticK(k) |
| Complete elliptic integral of the second kind | E(k) | ellipticE(k) |
| Complete elliptic integral of the third kind | Π(n,k) | ellipticPi(n,k) |
| Incomplete elliptic integral of the first kind | F(x,k) | ellipticF(x,k) |
| Incomplete elliptic integral of the second kind | E(x,k) | ellipticE(x,k) |
| Incomplete elliptic integral of the third kind | Π(x,n,k) | ellipticPi(x,n,k) |
| Jacobi sn function | sn(u) | jacobiSN(u,k) |
| Jacobi cn function | cn(u) | jacobiCN(u,k) |
| Jacobi dn function | dn(u) | jacobiDN(u,k) |
| Amplitude function | am(u) | jacobiAM(u,k) |
Orthogonal polynomials
| Function | Symbol | Reserved Word |
|---|---|---|
| Hermite polynomial | Hn(x) | hermiteH(n,x) |
| Chebyshev polynomial of the first kind | Tn(x) | chebyshevT(n,x) |
| Chebyshev polynomial of the second kind | Un(x) | chebyshevU(n,x) |
| Legendre polynomial | Pn(x) | legendreP(n,x) |
| Associated Legendre polynomial | Pn(m,x) | legendreP(n,m,x) |
| Laguerre polynomial | Ln(x) | laguerreL(n,x) |
| Associated Laguerre polynomial | Ln(α,x) | laguerreL(n,α,x) |
| Gegenbauer polynomial | Cn(λ,x) | gegenbauerC(n,λ,x) |
| Jacobi polynomial | Pn(α,β,x) | jacobiP(n,α,β,x) |
Other special functions
| Function | Symbol | Reserved Word |
|---|---|---|
| Confluent hypergeometric function | 1F1(a;b;x) | F11(a,b,x) |
| Confluent hypergeometric function | U(a;b;x) | FU11(a,b,x) |
| Gauss hypergeometric function | 2F1(a,b;c;x) | F21(a,b,c,x) |
| Bernoulli number | Bn | bernoulli(n) |
| Riemann zeta function | ζ(x) | zeta(x) |
Programming
A simple C-like programming system specialized for numerical computation.
Flow control statements
| Reserved Word | Description |
|---|---|
| if(condition){expr;...} elseif(condition){expr;...} else{expr;...} | Executes the block if the if condition is true. If false, evaluates the elseif condition similarly. Exits the if statement after executing the matching block. |
| while(condition){expr;...} | Executes the block if the condition is true. Repeats until the condition becomes false. |
| do{expr;...} while(condition); | Executes the block unconditionally. If the condition is true, executes again; if false, exits. |
| for(variable=initial; condition; variable=variable+step) {expr;...} | Initializes the variable, and executes the block if the condition is true. Increments the variable and repeats while the condition is true; exits when false. |
| break | Unconditionally exits the loop |
| continue | Unconditionally returns to the beginning of the loop |
Output statements
| Reserved Word | Description |
|---|---|
| print(expr1,expr2,...) | Outputs expressions |
| println(expr1,expr2,...) | Outputs expressions followed by a newline |
| /*comment*/ | Does not affect calculations or control flow |
Logical operators and values
| Category | Reserved Word | Description |
|---|---|---|
| Logical operator | not | Precedence: not > and > or |
| Logical operator | and | |
| Logical operator | or | |
| Logical operator | == | Left expression equals right expression |
| Logical operator | <> | Left expression does not equal right expression |
| Logical operator | =<, <= | Left expression is less than or equal to right expression |
| Logical operator | =>, >= | Left expression is greater than or equal to right expression |
| Logical operator | < | Left expression is less than right expression |
| Logical operator | > | Left expression is greater than right expression |
| Logical value | true | true=1 (≠0) |
| Logical value | false | false=0 |
Arrays
| Reserved Word | Description | Example |
|---|---|---|
| numeric arrayname[size]; numeric arrayname[size][size]; numeric arrayname[size][size][size]; .... | Declares an array. | numeric test1[4]; numeric test2[4][4]; numeric test3[4][4][4]; |
| numeric arrayname[] = {val1,val2,...}; numeric arrayname[][] = {{....},{....}}; .... | Declares and initializes an array. | numeric test1[] = {1,2,3}; numeric test2[][] = {{1,2,3},{4,5,6}}; numeric test3[][][] = {{{1,2},{3,4}},{{5,6},{7,8}}}; |
| kei_length(a) | Gets the number of elements in an array. | numeric test[4]; n = kei_length(test); |
| function funcname(numeric k[]){...} | Specifies an array as a function argument. | numeric test[]={0,1,2,3}; func1(test); function func1(numeric k[]) { print(k[0]); ..... } |