Hi,


When subsiting x by a float in a sin(x)^2 expression, I get the following error:

libc++abi.dylib: terminating with uncaught exception of type cln::notreached_exception: Internal error: statement in file float/elem/cl_F_square.cc, line 21 has been reached!!


using this code:


symbol x;

ex exTest = sin(x)*sin(x);

exmap map;

map[x] = 1.0;

cout << exTest.subs(map) << endl;


I need to do similar substitutions in a matrix, and they allways fail for expressions that contain cos(x)^2 or sin(x)^2, but no for ones that contain cos(x)*sin(x), for example.


Can you help me understanding this error and/or getting around it?


Regards