I have the following function

```
f1(x_,y_) = 1/( x^9 y (x^2 + y^2)^10) (1215 x^19 y + 144865 x^17 y^3 - 72524 x^15 y^5 + 587340 x^13 y^7 + 486330 x^11 y^9 + 465990 x^9 y^11 + 280500 x^7 y^13 + 109900 x^5 y^15 + 25375 x^3 y^17 + 2625 x y^19 + 2625 (x^2 + y^2)^10 ArcTan(y/x))
```

and i want to calculate $ int_ {x_0} ^ {+ infty} f_1 (x, y) dx $ for $ y> 0 $ and some real $ x_0> 0 $. So, I define the following `$Assumptions`

```
$Assumptions = y > 0 && x0 > 0;
```

and calculate

```
Integrate(f1(x, y), {x, x0, +(Infinity)}) // AbsoluteTiming
```

With this command, Mathematica seems to be blocked and does not return the result. However, if I drag the function `f1(x,y)`

in two pieces like

```
f2(x_, y_) = f1(x, y) // Collect(#, ArcTan(y/x), Simplify) &
```

and calculate

```
Integrate(f2(x, y)((1)), {x, x0, +(Infinity)}) + Integrate(f2(x, y)((2)), {x, x0, +(Infinity)}) // AbsoluteTiming
```

I get the right answer in just 6 seconds

```
(*Out: {5.82698, (1/(x0^7 (x0^2 + y^2)^9))(135 x0^16 + 13280 x0^14 y^2 + 1572 x0^12 y^4 + 39680 x0^10 y^6 + 35610 x0^8 y^8 + 26400 x0^6 y^10 + 12100 x0^4 y^12 + 3200 x0^2 y^14 + 375 y^16) + (25 (105 x0^7 y - 35 x0^5 y^3 + 21 x0^3 y^5 - 15 x0 y^7 + 105 (-x0^8 + y^8) ArcTan(y/x0)))/(8 x0^8 y^9)} *)
```

What is the reason?