max(a_ and b_) := max(a,b);
max(a_ * b_) := If(a>0, a*max(b), If(a<0, a*min(b) ));
max(a_ + b_) := max(a)+max(b);
max(a_ - b_) := max(max(a)-max(b), max(a)+max(b));

max(-x_^2):=0;
max(e^x_):=oo;

max(sin(x_)):=1;
max(cos(x_)):=1;
max(tan(x_)):=oo;
max(cot(x_)):=oo;
max(sec(x_)):=oo;
max(csc(x_)):=oo;

max(asin(x_)):=oo;
max(acos(x_)):=oo;
max(atan(x_)):=pi/2;
max(acot(x_)):=pi/2;
max(asec(x_)):=pi/2;
max(acsc(x_)):=pi/2;

max(sinh(x_)):=oo;
max(cosh(x_)):=oo;
max(tanh(x_)):=1;
max(coth(x_)):=oo;
max(sech(x_)):=1;
max(csch(x_)):=oo;

max(asinh(x_)):=oo;
max(acosh(x_)):=oo;
max(atanh(x_)):=oo;
max(acoth(x_)):=oo;
max(asech(x_)):=oo;
max(acsch(x_)):=oo;

max(exp(x_)):=oo;
max(log(x_)):=oo;