﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
4630	Rethink mathematical simplifications	Henning Kiel	somebody	"I propose to have in this ticket a list of (more complex) mathematical simplifications to be implemented in OMC (ExpressionSimplify).

To quote sjoelund.se from github discussion:
{{{
acos(cos(x)) is not equal to x...
For example acos(cos(13)) = 0.4336293856408271

And cos(acos(13)) is an error, not 13...

acos(cos(x)) could be mod(x, pi)?
}}}

The same argumentation holds for typical math simplification
{{{e^(ln(x)) = x}}} which is an error for {{{x<0}}}

'''always correct simplifications''' - implement
* ln(e^x^) = x
* sin^2^(x)+cos^2^(x) = 1
* cosh^2^(x) - sinh^2^(x) = 1
* sin(acos(x)) = sqrt(1-x^2^)
* cos(asin(x)) = sqrt(1-x^2^)
* tan(atan(x)) = x

questionable simplifications
* asin(sin(x)) = ?
* atan(tan(x)) = ?
* sin(asin(x)) = ?
* acos(cos(x)) = mod(x, pi) -> is wrong, it is a triangle function
* asin(sin(x)) is shifted triangle function

'''incorrect simplifications''' - do not implement
* cos(acos(x)) = x (only true for -1<=x<=1)
* sin(asin(x)) = x (only true for -1<=x<=1)
* e^ln(x)^= x (only true for x>0)
"	defect	new	high		*unknown*	v1.13.0-dev-nightly			Martin Sjölund Francesco Casella Patrick Täuber Lennart Ochel Willi Braun Volker Waurich
