using Symata # load Symata and enter symata mode OutputStyle(JupyterForm) ex = (x-y)*(z-y) + Sqrt((x-y)*(z-y)) Cse(ex) f(a,b,Splat([c,d])) Fold(f, [x,a,b,c]) Fold(ReplaceAll, Splat(Cse(ex)))[1] Fold(ReplaceAll, Splat(Cse(ex)))[1] == ex ClearAll(ex) Together(1/x + 1/y + 1/z) Together(1/(x*y) + 1/y^2) Together(1/(1 + 1/x) + 1/(1 + 1/y)) Together(Exp(1/x + 1/y)) Together(Exp(1/x + 1/y), Deep => True) Apart(y/(x + 2)/(x + 1), x) Apart(y/(x^2 + x + 1), x, Full=>True) Collect(a*x^2 + b*x^2 + a*x - b*x + c, x) Collect(a*x*Log(x) + (b+a)*(x*Log(x)), x*Log(x)) VersionInfo() InputForm(Now())