sympy/sympy — pull request #1863 by skirpichev (2013-03-04 11:05:01+00:00)
Title: An attempt to fix #2969

Actually, this fixes two things.

First, let's compute correct number of series terms for expansion of (f(x))**a in case when limit(f(x), x, 0) = 0. An example: sqrt(sin(x)).

Second, this patch implements additional simplifications of powers in the order term:
* O(x**a * (-x)**b) -> O(x**(a + b))
* O(x**a * (-(x)**c)**b) -> O(x**(a + b*c))
* O(x**a * ((-x)**c)**b) -> O(x**(a + b*c))
* O(x**a * (-(-x)**c)**b) -> O(x**(a + b*c))
This should fix some failures, related to getn() calculation, e.g. sqrt(sin(x**3)).series(x,0,7).