The choice of first function and second function is arbitrary in case of most functions.
Here, we have #f(x) = x^3*Sin x# and we will choose #x^3# as the first function and #Sin x# as the second.
Thus, #int f(x)*dx = int x^3*Sin x*dx#
#implies int f(x)*dx = x^3 int Sin x*dx - int (d(x^3)/dx*int Sin x*dx)*dx#
#= -x^3*Cos x + int 3x^2*Cos x*dx#
#= -x^3*Cos x + 3[x^2int Cos x*dx - int (d/dx(x^2) intCos x*dx)*dx]#
#= -x^3*Cos x + 3[x^2Sin x - int 2xSin x*dx]#
#= -x^3*Cos x + 3[x^2Sin x - 2(x int Sin x*dx - int (d/dx(x)int Sin x*dx)*dx]#
#= -x^3Cos x + 3[x^2Sin x - 2(-xCos x + int Cos x*dx)]#
#= -x^3Cos x + 3[x^2Sin x + 2xCos x - 2Sin x]#
Since it is an indefinite integral, we add an arbitrary constant to it.
#int x^3Sin x*dx = - x^3Cos x + 3x^2Sin x + 6xCos x - 6Sin x + C# where #C# is the integration constant.