/*
Funciones que debe incorporar el tipo de la expresión
abs, fact, exp, log, ln
sin, sinh, asin
cos, cosh, acos
tan, tanh, atan
ctg, actg, sec, asec, csc, acsc 


Logaritmos.

Si N, x y b son tres cantidades ligadas por la relación
N=b^x, b>0, b!=1
entonces el exponente x se llama logaritmo de N en la base b y se escribe
x=logb N

El logaritmo de un número negativo no existe en el sistema de los reales; el
logaritmo de cero es indefinido.
Si M y N son dos números positivos, las tres siguientes relaciones son verdaderas:
*/
		//suponemos la base de logaritmos es 10

log(x*y)=log(x)+log(y);
	 log(x)+log(y)=log(x*y);
log(x/y)=log(x)-log(y);
	 log(x)-log(y)=log(x/y);
log(x^n)=n*log(x);
	 n*log(x)=log(x^n);//, siendo n un número real
//***log(root(x,n))=(1/n)*log(x);
log(1)=0;
log(10)=1;
log(1/x)=-log(x);
	 -log(x)=log(1/x);

		//suponemos la base de logaritmos es e

ln(x*y)=ln(x)+ln(y);
	ln(x)+ln(y)=ln(x*y);
ln(x/y)=ln(x)-ln(y);
	ln(x)-ln(y)=ln(x/y);
ln(x^n)=n*ln(x);
	n*ln(x)=ln(x^n);//, siendo n un número real
//***ln(root(x,n))=(1/n)*ln(x);
ln(1)=0;
//***ln(e)=1;
ln(1/x)=-ln(x);
	-ln(x)=ln(1/x);

		//formula del binomio de newton? Granville
		//hacer funcion binomio(x+y,n)=expresion nueva
		//(x+y)^n=bin(x+y,n), n>0

		//El logaritmo de un número en cualquier base puede obtenerse por la relación
		//loga N=(logb N)/(logb a), donde a>0, a!=1, b>0, b!=1
		//logaritmo base b de x; log significa log10

		//logn(x,b)=log(x)/log(b)

		//Trigonométricas

csc(x)=1/sin(x);
       1/sin(x)=csc(x);
sec(x)=1/cos(x);
       1/cos(x)=sec(x);
ctg(x)=1/tan(x);
       1/tan(x)=ctg(x);
tan(x)=sin(x)/cos(x);
       sin(x)/cos(x)=tan(x);
ctg(x)=cos(x)/sin(x);
       cos(x)/sin(x)=ctg(x);
sin(x)^2+cos(x)^2=1;
1+tan(x)^2=sec(x)^2;
	   sec(x)^2=1+tan(x)^2;
1+ctg(x)^2=csc(x)^2;
	   csc(x)^2=1+ctg(x)^2;

		//Hiperbólicas
/*
sinh(x)=(e^x-e^-x)/2;
cosh(x)=(e^x+e^-x)/2;
tanh(x)=sinh(x)/cosh(x)=(e^x-e^-x)/(e^x+e^-x);
ctgh(x)=1/tanh(x);
sech(x)=1/cosh(x);
csch(x)=1/sinh(x);
cosh(x)^2-sinh(x)^2=1;
e^x=cosh(x)+sinh(x);
e^-x=cosh(x)-sinh(x);
1-tanh(x)^2=sech(x)^2;
ctgh(x)^2-1=csch(x)^2;

sinh(-x)=-sinh(x);
cosh(-x)=cosh(x);
tanh(-x)=-tanh(x);
ctgh(-x)=-ctgh(x);
sech(-x)=sech(x);
csch(-x)=-csch(x);

*/
		//...

		//Adicion y sustracción

sin(x+y)=sin(x)*cos(y)+cos(x)*sin(y);
	 sin(x)*cos(y)+cos(x)*sin(y)=sin(x+y);
sin(x-y)=sin(x)*cos(y)-cos(x)*sin(y);
	 sin(x)*cos(y)-cos(x)*sin(y)=sin(x-y);

cos(x+y)=cos(x)*cos(y)-sin(x)*sin(y);
	 cos(x)*cos(y)-sin(x)*sin(y)=cos(x+y);
cos(x-y)=cos(x)*cos(y)+sin(x)*sin(y);
	 cos(x)*cos(y)+sin(x)*sin(y)=cos(x-y);

tan(x+y)=(tan(x)+tan(y))/(1-tan(x)*tan(y));
	 (tan(x)+tan(y))/(1-tan(x)*tan(y))=tan(x+y);
tan(x-y)=(tan(x)-tan(y))/(1+tan(x)*tan(y));
	 (tan(x)-tan(y))/(1+tan(x)*tan(y))=tan(x-y);

		//Angulo doble

sin(2*x)=2*sin(x)*cos(x);
	 2*sin(x)*cos(x)=sin(2*x);

cos(2*x)=cos(x)^2-sin(x)^2;
	 cos(x)^2-sin(x)^2=cos(2*x);
cos(2*x)=1-2*sin(x)^2;
	 1-2*sin(x)^2=cos(2*x);
cos(2*x)=2*cos(x)^2-1;
	 2*cos(x)^2-1=cos(2*x);

tan(2*x)=(2*tan(x))/(1-tan(x)^2);
	 (2*tan(x))/(1-tan(x)^2)=tan(2*x);

		//Angulo mitad

sin(x/2)=((1-cos(x))/2)^(1/2);
	 ((1-cos(x))/2)^(1/2)=sin(x/2);
sin(x/2)=-(((1-cos(x))/2)^(1/2));
	 -(((1-cos(x))/2)^(1/2))=sin(x/2);

cos(x/2)=((1+cos(x))/2)^(1/2);
	 ((1+cos(x))/2)^(1/2)=cos(x/2);
cos(x/2)=-(((1+cos(x))/2)^(1/2));
	 -(((1+cos(x))/2)^(1/2))=cos(x/2);

tan(x/2)=((1-cos(x))/(1+cos(x)))^(1/2);
	 ((1-cos(x))/(1+cos(x)))^(1/2)=tan(x/2);
tan(x/2)=-(((1-cos(x))/(1+cos(x)))^(1/2));
	 -(((1-cos(x))/(1+cos(x)))^(1/2))=tan(x/2);
tan(x/2)=sin(x)/(1+cos(x));
	 sin(x)/(1+cos(x))=tan(x/2);
tan(x/2)=(1-cos(x))/sin(x);
	 (1-cos(x))/sin(x)=tan(x/2);

		//cuadrado de seno y coseno

sin(x)^2=1/2-1/2*cos(2*x);
	 1/2-1/2*cos(2*x)=sin(x)^2;
cos(x)^2=1/2+1/2*cos(2*x);
	 1/2+1/2*cos(2*x)=cos(x)^2;

		//Relaciones importantes

		//a sen x+b cos x=sqrt(a^2+b^2)sen (x+y), donde y=arc tg (b/a)

a*sin(x)+b*cos(x)=(a^2+b^2)^(1/2)*sin(x+atan(b/a));
		  (a^2+b^2)^(1/2)*sin(x+atan(b/a))=a*sin(x)+b*cos(x);

		//a sen x+b cos x=sqrt(a^2+b^2)cos (x-y), donde y=arc tg (a/b)

a*sin(x)+b*cos(x)=(a^2+b^2)^(1/2)*cos(x-atan(a/b));
		  (a^2+b^2)^(1/2)*cos(x-atan(a/b))=a*sin(x)+b*cos(x);

		//para simplificar raíces en denominador

x/root(n,y)=(y^(1-1/n)*x)/y;
	    (y^(1-1/n)*x)/y=x/root(n,y);

		//Transformación de sumas y diferencias de senos y cosenos en productos

sin(x)+sin(y)=2*sin((1/2)*(x+y))*cos((1/2)*(x-y));
	      2*sin((1/2)*(x+y))*cos((1/2)*(x-y))=sin(x)+sin(y);
sin(x)-sin(y)=2*cos((1/2)*(x+y))*sin((1/2)*(x-y));
	      2*cos((1/2)*(x+y))*sin((1/2)*(x-y))=sin(x)-sin(y);
cos(x)+cos(y)=2*cos((1/2)*(x+y))*cos((1/2)*(x-y));
	      2*cos((1/2)*(x+y))*cos((1/2)*(x-y))=cos(x)+cos(y);
cos(x)-cos(y)=-2*sin((1/2)*(x+y))*sin((1/2)*(x-y));
	      -2*sin((1/2)*(x+y))*sin((1/2)*(x-y))=cos(x)-cos(y);


/*
Granville, lehmann
*/