Do some experiments like I propose. Do not forget semicolon at the end of each command and type the commands in uppercase: 1) Arithmetic: Look how many digits you can have in your calculations 200!+99^99; See the result of 381 digits. Fractions can be reduced 16384/6144; The computer will tell you that it is 8/3. SIN (#PI/3); answer is 3^(1/2)/2 but SIN (2)+2*SIN(2); will be displayed as 3*SIN(2), because it is not rational number 2) Simple algebra Now try (x+x)/(a*x); You will get 2/a as a result. Wow! Symbolic manipulations. SOLVE (x^2-3*x==a*x,x); It will find two solutions X==3+a and X==0 It understands complex numbers, try #I*#I; answer is -1 MuMath knows the relation which joins three symbols that came from three different branches of mathematics: calculus, algebra and geometry #E^(#I*#PI); 3) Matrix symbolic operations Add twp arrays [a,2]+[-a,b]; Try to invert the matrix (symbol shift with F,G,U,Z for brackets and braces) {[a,b-2],[c,d]}^-1; 4) Calculus Program knows about sums SIGMA (J^2,J,0,N-2); or limits LIM (X^2 / SIN (A*X) , X, 0); (remark the additional questions in case of ambiguities) And finally some derivations and integrals DIF ((X^3-2)/(2*X+1),X); INT ((X^3-2)/(2*X+1),X); 5) Transcendental functions Program knows many trigonometry transformations. Try TRGEXPD (SIN(2*X+Y), -15); Repeat the previous example by changing second parameter (but keep it negative) 6) Commands try OBLIST () ; to get a full list of commands. The language Musimp is crossover of Algol and Lisp. ----------------- Can we make 48 K version? Maybe. There is version for 48 K TRS-80, assembled from address #5200. Although the part of the program will be in video memory this means that it can fit into RAM memory.