/* A demonstration of the qualitative analysis functions
described in file SHARE;QUAL USAGE.

Consider the following expression: */
temp: tanh(cos(x/3)**2-cos(x/3-%pi/2)**2) + sin(x/5)*erf(tan(x)) + atan(y);
/* To do a qualitative analysis of this expression, we write: */
qual(temp);
/* We may use the ASSUME function to establish non-default bounds
on indeterminates.  For example: */
assume(p>0, q>=-1/4, q<=1/4, b<=bmax)$
/* We may also individually invoke the various property analysis
functions invoked by QUAL.  For example: */
temp: -asin(q+1/2) - q**2 + p*q - 4*q
      + log(p) - p**2 + 3*p + sqrt(p) - b**2 + b - 18;
curvature(temp);
temp: expand((x-1)**4 + (x-1)**2 + (y-2)**2 + 5);
stationarypoints(temp);
temp: expand((log(x-3)-5)*(x-y+8)/tan(x-y+2));
zerosandsingularities(temp);
/* QUAL also automatically reveals successive levels of the
struecture of lengthier expressions.  For example, the second
derivative of TEMP with respect to X is about 2 pages long, but: */
qual(diff(temp,x,2))$
