See this example:
AA = {x} \[Function] Normalize[x]
BB = {x} \[Function] Evaluate[AA[x]*5]
I need BB to be Normalize[x]*5.
Some context:I call evaluate because I'm using CForm later to do some optimizations, so my functions need not to call other user-defined functions which would translate into something that is not really valid C code.
Normalize though just evaluates to a version which makes some sense only for complex numbers, this is not what the definition of Normalize does... Also, afaik Evaluate doesn't take assumptions, so I don't know how to "hint" it not to incorrectly expand Normalize...
I've tried various hold/replace/single step evaluate tricks, all not working. Any ideas?