public static Expr revCtanh(Expr arg) => new Mrevcoth(arg);
public static Expr revCosh(Expr arg) => new Mrevcosh(arg);
public static Expr revTanh(Expr arg) => new Mrevtanh(arg);
public static Expr Ctanh(Expr arg) => new MCtg(arg);
public static Expr revSinh(Expr arg) => new Mrevsinh(arg);
public static Expr Cosh(Expr arg) => new MCos(arg);
public static Expr Tanh(Expr arg) => new MTg(arg);
public static Expr Sinh(Expr arg) => new MSin(arg);
public static Expr Pow(Expr arg1, Expr arg2) => new MPow(arg1, arg2);
protected Function(Expr arg) { _arg = arg; }
protected BinaryOperation(Expr exp1, Expr exp2) { _expr1 = exp1; _expr2 = exp2; }
protected UnaryOperation(Expr e) { _expr = e; }