+ // Sometimes we may obtain negative powers, they need to be placed to denominator
+ if (is_a<power>(result) && result.op(1).info(info_flags::negative))
+ return dynallocate<lst>({_ex1, power(result.op(0), -result.op(1))});
+ else
+ return dynallocate<lst>({result, _ex1});