text:
using Rubin
using Tests
using Elliptic
using HypergeometricFunctions
using Polylogarithms
using SpecialFunctions

@test integrate((c+d*x)^m*cos(a+b*x)*sin(a+b*x), x) == :(-1*2^(-3+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,2*im*b*d^-1*(c+d*x))*exp(-2*im*(a+-1*b*c*d^-1))+-1*2^(-3+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-2*im*b*d^-1*(c+d*x))*exp(2*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^4+(1/2)*b^-1*(c+d*x)^4*sin(a+b*x)^2+3//4*b^-5*d^4*sin(a+b*x)^2+3//4*b^-3*d^4*x^2+-3//2*b^-3*d^2*(c+d*x)^2*sin(a+b*x)^2+3//2*c*x*b^-3*d^3+d*b^-2*(c+d*x)^3*cos(a+b*x)*sin(a+b*x)+-3//2*b^-4*d^3*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^3+(1/2)*b^-1*(c+d*x)^3*sin(a+b*x)^2+3//8*x*b^-3*d^3+-3//4*b^-3*d^2*sin(a+b*x)^2*(c+d*x)+-3//8*b^-4*d^3*cos(a+b*x)*sin(a+b*x)+3//4*d*b^-2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^2*cos(a+b*x)*sin(a+b*x), x) == :((1/2)*b^-1*(c+d*x)^2*sin(a+b*x)^2+-1//4*b^-1*d^2*x^2+-1//4*b^-3*d^2*sin(a+b*x)^2+-1//2*c*d*x*b^-1+(1/2)*d*b^-2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)*cos(a+b*x)*sin(a+b*x), x) == :((1/2)*b^-1*sin(a+b*x)^2*(c+d*x)+-1//4*d*x*b^-1+1//4*d*b^-2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)*sin(a+b*x), x) == :((1/2)*d^-1*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+(1/2)*d^-1*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)*sin(a+b*x), x) == :(-1//2*d^-1*(c+d*x)^-1*sin(2a+2*b*x)+b*d^-2*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+-1*b*d^-2*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*d^-1*(c+d*x)^-2*sin(2a+2*b*x)+-1*b^2*d^-3*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+-1*b^2*d^-3*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1)+-1//2*b*d^-2*(c+d*x)^-1*cos(2a+2*b*x))
@test integrate((c+d*x)^-4*cos(a+b*x)*sin(a+b*x), x) == :(-1//6*d^-1*(c+d*x)^-3*sin(2a+2*b*x)+-2//3*b^3*d^-4*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+-1//6*b*d^-2*(c+d*x)^-2*cos(2a+2*b*x)+1//3*b^2*d^-3*(c+d*x)^-1*sin(2a+2*b*x)+2//3*b^3*d^-4*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1))
@test integrate(x^-1*cos(x)*sin(x), x) == :((1/2)*sinintegral(2x))
@test integrate(x^-2*cos(x)*sin(x), x) == :(-1//2*x^-1*sin(2x)+cosintegral(2x))
@test integrate(x^-3*cos(x)*sin(x), x) == :(-1*sinintegral(2x)+-1//2*x^-1*cos(2x)+-1//4*x^-2*sin(2x))
@test integrate((c+d*x)^m*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//8*im*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-1*im*b*d^-1*(c+d*x))*exp(im*(a+-1*b*c*d^-1))+1//8*im*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,im*b*d^-1*(c+d*x))*exp(-1*im*(a+-1*b*c*d^-1))+-1//8*im*3^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,3*im*b*d^-1*(c+d*x))*exp(-3*im*(a+-1*b*c*d^-1))+1//8*im*3^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-3*im*b*d^-1*(c+d*x))*exp(3*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*sin(a+b*x)^2*cos(a+b*x), x) == :(1//3*b^-1*(c+d*x)^4*sin(a+b*x)^3+8//81*b^-5*d^4*sin(a+b*x)^3+160//27*b^-5*d^4*sin(a+b*x)+-160//27*b^-4*d^3*(c+d*x)*cos(a+b*x)+-8//3*b^-3*d^2*(c+d*x)^2*sin(a+b*x)+-4//9*b^-3*d^2*(c+d*x)^2*sin(a+b*x)^3+8//9*d*b^-2*(c+d*x)^3*cos(a+b*x)+-8//27*b^-4*d^3*sin(a+b*x)^2*(c+d*x)*cos(a+b*x)+4//9*d*b^-2*(c+d*x)^3*sin(a+b*x)^2*cos(a+b*x))
@test integrate((c+d*x)^3*sin(a+b*x)^2*cos(a+b*x), x) == :(-14//9*b^-4*d^3*cos(a+b*x)+1//3*b^-1*(c+d*x)^3*sin(a+b*x)^3+2//27*b^-4*d^3*cos(a+b*x)^3+-4//3*b^-3*d^2*(c+d*x)*sin(a+b*x)+-2//9*b^-3*d^2*sin(a+b*x)^3*(c+d*x)+2//3*d*b^-2*(c+d*x)^2*cos(a+b*x)+1//3*d*b^-2*(c+d*x)^2*sin(a+b*x)^2*cos(a+b*x))
@test integrate((c+d*x)^2*sin(a+b*x)^2*cos(a+b*x), x) == :(-4//9*b^-3*d^2*sin(a+b*x)+-2//27*b^-3*d^2*sin(a+b*x)^3+1//3*b^-1*(c+d*x)^2*sin(a+b*x)^3+4//9*d*b^-2*(c+d*x)*cos(a+b*x)+2//9*d*b^-2*sin(a+b*x)^2*(c+d*x)*cos(a+b*x))
@test integrate(sin(a+b*x)^2*(c+d*x)*cos(a+b*x), x) == :(-1//9*d*b^-2*cos(a+b*x)^3+1//3*d*b^-2*cos(a+b*x)+1//3*b^-1*sin(a+b*x)^3*(c+d*x))
@test integrate((c+d*x)^-1*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//4*d^-1*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1)+-1//4*d^-1*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//4*d^-1*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+1//4*d^-1*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1))
@test integrate((c+d*x)^-2*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//4*d^-1*(c+d*x)^-1*cos(a+b*x)+1//4*d^-1*(c+d*x)^-1*cos(3a+3*b*x)+-1//4*b*d^-2*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+-1//4*b*d^-2*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1)+3//4*b*d^-2*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+3//4*b*d^-2*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^-3*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//8*d^-1*(c+d*x)^-2*cos(a+b*x)+1//8*d^-1*(c+d*x)^-2*cos(3a+3*b*x)+-9//8*b^2*d^-3*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-3//8*b*d^-2*(c+d*x)^-1*sin(3a+3*b*x)+-1//8*b^2*d^-3*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+1//8*b*d^-2*(c+d*x)^-1*sin(a+b*x)+1//8*b^2*d^-3*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+9//8*b^2*d^-3*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1))
@test integrate((c+d*x)^-4*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*d^-1*(c+d*x)^-3*cos(a+b*x)+1//12*d^-1*(c+d*x)^-3*cos(3a+3*b*x)+-9//8*b^3*d^-4*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-9//8*b^3*d^-4*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1)+-3//8*b^2*d^-3*(c+d*x)^-1*cos(3a+3*b*x)+-1//8*b*d^-2*(c+d*x)^-2*sin(3a+3*b*x)+1//24*b*d^-2*(c+d*x)^-2*sin(a+b*x)+1//24*b^2*d^-3*(c+d*x)^-1*cos(a+b*x)+1//24*b^3*d^-4*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//24*b^3*d^-4*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^m*sin(a+b*x)^3*cos(a+b*x), x) == :(2^(-6+-2m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,4*im*b*d^-1*(c+d*x))*exp(-4*im*(a+-1*b*c*d^-1))+2^(-6+-2m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-4*im*b*d^-1*(c+d*x))*exp(4*im*(a+-1*b*c*d^-1))+-1*2^(-4+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,2*im*b*d^-1*(c+d*x))*exp(-2*im*(a+-1*b*c*d^-1))+-1*2^(-4+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-2*im*b*d^-1*(c+d*x))*exp(2*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*sin(a+b*x)^3*cos(a+b*x), x) == :(-3//32*b^-1*(c+d*x)^4+1//4*b^-1*(c+d*x)^4*sin(a+b*x)^4+3//128*b^-5*d^4*sin(a+b*x)^4+45//128*b^-5*d^4*sin(a+b*x)^2+45//128*b^-3*d^4*x^2+-9//16*b^-3*d^2*(c+d*x)^2*sin(a+b*x)^2+-3//16*b^-3*d^2*(c+d*x)^2*sin(a+b*x)^4+45//64*c*x*b^-3*d^3+-45//64*b^-4*d^3*(c+d*x)*cos(a+b*x)*sin(a+b*x)+-3//32*b^-4*d^3*sin(a+b*x)^3*(c+d*x)*cos(a+b*x)+1//4*d*b^-2*(c+d*x)^3*sin(a+b*x)^3*cos(a+b*x)+3//8*d*b^-2*(c+d*x)^3*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*sin(a+b*x)^3*cos(a+b*x), x) == :(-3//32*b^-1*(c+d*x)^3+1//4*b^-1*(c+d*x)^3*sin(a+b*x)^4+45//256*x*b^-3*d^3+-45//256*b^-4*d^3*cos(a+b*x)*sin(a+b*x)+-9//32*b^-3*d^2*sin(a+b*x)^2*(c+d*x)+-3//32*b^-3*d^2*sin(a+b*x)^4*(c+d*x)+-3//128*b^-4*d^3*sin(a+b*x)^3*cos(a+b*x)+3//16*d*b^-2*(c+d*x)^2*sin(a+b*x)^3*cos(a+b*x)+9//32*d*b^-2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^2*sin(a+b*x)^3*cos(a+b*x), x) == :(-3//32*b^-1*d^2*x^2+-3//32*b^-3*d^2*sin(a+b*x)^2+-1//32*b^-3*d^2*sin(a+b*x)^4+1//4*b^-1*(c+d*x)^2*sin(a+b*x)^4+-3//16*c*d*x*b^-1+1//8*d*b^-2*sin(a+b*x)^3*(c+d*x)*cos(a+b*x)+3//16*d*b^-2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate(sin(a+b*x)^3*(c+d*x)*cos(a+b*x), x) == :(-3//32*d*x*b^-1+1//4*b^-1*sin(a+b*x)^4*(c+d*x)+1//16*d*b^-2*sin(a+b*x)^3*cos(a+b*x)+3//32*d*b^-2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^-1*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*d^-1*cos(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+-1//8*d^-1*cosintegral(4*b*x+4*b*c*d^-1)*sin(4a+-4*b*c*d^-1)+1//4*d^-1*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+1//4*d^-1*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^-2*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//4*d^-1*(c+d*x)^-1*sin(2a+2*b*x)+1//8*d^-1*(c+d*x)^-1*sin(4a+4*b*x)+(1/2)*b*d^-2*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+(1/2)*b*d^-2*sin(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+-1//2*b*d^-2*cos(4a+-4*b*c*d^-1)*cosintegral(4*b*x+4*b*c*d^-1)+-1//2*b*d^-2*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1))
@test integrate((c+d*x)^-3*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*d^-1*(c+d*x)^-2*sin(2a+2*b*x)+1//16*d^-1*(c+d*x)^-2*sin(4a+4*b*x)+b^2*d^-3*cos(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+b^2*d^-3*cosintegral(4*b*x+4*b*c*d^-1)*sin(4a+-4*b*c*d^-1)+-1//2*b^2*d^-3*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+-1//2*b^2*d^-3*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1)+-1//4*b*d^-2*(c+d*x)^-1*cos(2a+2*b*x)+1//4*b*d^-2*(c+d*x)^-1*cos(4a+4*b*x))
@test integrate((c+d*x)^-4*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//12*d^-1*(c+d*x)^-3*sin(2a+2*b*x)+1//24*d^-1*(c+d*x)^-3*sin(4a+4*b*x)+-4//3*b^3*d^-4*sin(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+-1//3*b^2*d^-3*(c+d*x)^-1*sin(4a+4*b*x)+-1//3*b^3*d^-4*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+-1//12*b*d^-2*(c+d*x)^-2*cos(2a+2*b*x)+1//3*b^3*d^-4*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+1//6*b^2*d^-3*(c+d*x)^-1*sin(2a+2*b*x)+1//12*b*d^-2*(c+d*x)^-2*cos(4a+4*b*x)+4//3*b^3*d^-4*cos(4a+-4*b*c*d^-1)*cosintegral(4*b*x+4*b*c*d^-1))
@test integrate((c+d*x)^4*cos(a+b*x)*csc(a+b*x), x) == :(b^-1*(c+d*x)^4*log(1+-1*exp(2*im*(a+b*x)))+-3//2*b^-5*d^4*Polylogarithms.polylog(5,exp(2*im*(a+b*x)))+-1//5*im*d^-1*(c+d*x)^5+3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*cos(a+b*x)*csc(a+b*x), x) == :(b^-1*(c+d*x)^3*log(1+-1*exp(2*im*(a+b*x)))+-1//4*im*d^-1*(c+d*x)^4+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*cos(a+b*x)*csc(a+b*x), x) == :(b^-1*(c+d*x)^2*log(1+-1*exp(2*im*(a+b*x)))+(1/2)*b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-1//3*im*d^-1*(c+d*x)^3+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)*cos(a+b*x)*csc(a+b*x), x) == :(b^-1*(c+d*x)*log(1+-1*exp(2*im*(a+b*x)))+-1//2*im*d^-1*(c+d*x)^2+-1//2*im*d*b^-2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^4*csc(a+b*x)^2*cos(a+b*x), x) == :(-1*b^-1*(c+d*x)^4*csc(a+b*x)+-24*im*b^-5*d^4*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-8*d*b^-2*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+24*im*b^-5*d^4*Polylogarithms.polylog(4,exp(im*(a+b*x)))+24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^2*cos(a+b*x), x) == :(-1*b^-1*(c+d*x)^3*csc(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-6*d*b^-2*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^2*cos(a+b*x), x) == :(-1*b^-1*(c+d*x)^2*csc(a+b*x)+-4*d*b^-2*(c+d*x)*arctanh(exp(im*(a+b*x)))+-2*im*b^-3*d^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate(csc(a+b*x)^2*(c+d*x)*cos(a+b*x), x) == :(-1*d*b^-2*arctanh(cos(a+b*x))+-1*b^-1*(c+d*x)*csc(a+b*x))
@test integrate((c+d*x)^4*csc(a+b*x)^3*cos(a+b*x), x) == :(3*b^-5*d^4*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-1//2*b^-1*(c+d*x)^4*csc(a+b*x)^2+-2*im*d*b^-2*(c+d*x)^3+-2*d*b^-2*(c+d*x)^3*cot(a+b*x)+6*b^-3*d^2*(c+d*x)^2*log(1+-1*exp(2*im*(a+b*x)))+-6*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^3*cos(a+b*x), x) == :(-1//2*b^-1*(c+d*x)^3*csc(a+b*x)^2+3*b^-3*d^2*(c+d*x)*log(1+-1*exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2+-3//2*im*b^-4*d^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*cot(a+b*x))
@test integrate((c+d*x)^2*csc(a+b*x)^3*cos(a+b*x), x) == :(b^-3*d^2*log(sin(a+b*x))+-1//2*b^-1*(c+d*x)^2*csc(a+b*x)^2+-1*d*b^-2*(c+d*x)*cot(a+b*x))
@test integrate(csc(a+b*x)^3*(c+d*x)*cos(a+b*x), x) == :(-1//2*d*b^-2*cot(a+b*x)+-1//2*b^-1*csc(a+b*x)^2*(c+d*x))
@test integrate((c+d*x)^5//2*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+5//16*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+15//64*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+-15//128*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//128*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+3//16*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+-3//32*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//32*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+-1//8*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//8*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+-1//8*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//8*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^3//2*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+3//16*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+-3//32*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//32*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+5//16*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+15//64*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+-15//128*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//128*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^5//2*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*b^-1*(c+d*x)^5//2*sin(3a+3*b*x)+1//4*b^-1*(c+d*x)^5//2*sin(a+b*x)+-15//16*b^-3*d^2*(c+d*x)^(1/2)*sin(a+b*x)+-5//72*d*b^-2*(c+d*x)^3//2*cos(3a+3*b*x)+5//8*d*b^-2*(c+d*x)^3//2*cos(a+b*x)+5//144*b^-3*d^2*(c+d*x)^(1/2)*sin(3a+3*b*x)+-5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^3//2*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*b^-1*(c+d*x)^3//2*sin(3a+3*b*x)+1//4*b^-1*(c+d*x)^3//2*sin(a+b*x)+-1//24*d*b^-2*(c+d*x)^(1/2)*cos(3a+3*b*x)+3//8*d*b^-2*(c+d*x)^(1/2)*cos(a+b*x)+-3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*b^-1*(c+d*x)^(1/2)*sin(3a+3*b*x)+1//4*b^-1*(c+d*x)^(1/2)*sin(a+b*x)+-1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*b^-1*(c+d*x)^(1/2)*sin(3a+3*b*x)+1//4*b^-1*(c+d*x)^(1/2)*sin(a+b*x)+-1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^3//2*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*b^-1*(c+d*x)^3//2*sin(3a+3*b*x)+1//4*b^-1*(c+d*x)^3//2*sin(a+b*x)+-1//24*d*b^-2*(c+d*x)^(1/2)*cos(3a+3*b*x)+3//8*d*b^-2*(c+d*x)^(1/2)*cos(a+b*x)+-3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^5//2*sin(a+b*x)^2*cos(a+b*x), x) == :(-1//12*b^-1*(c+d*x)^5//2*sin(3a+3*b*x)+1//4*b^-1*(c+d*x)^5//2*sin(a+b*x)+-15//16*b^-3*d^2*(c+d*x)^(1/2)*sin(a+b*x)+-5//72*d*b^-2*(c+d*x)^3//2*cos(3a+3*b*x)+5//8*d*b^-2*(c+d*x)^3//2*cos(a+b*x)+5//144*b^-3*d^2*(c+d*x)^(1/2)*sin(3a+3*b*x)+-5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^5//2*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+1//32*b^-1*(c+d*x)^5//2*cos(4a+4*b*x)+-15//2048*b^-3*d^2*(c+d*x)^(1/2)*cos(4a+4*b*x)+-5//256*d*b^-2*(c+d*x)^3//2*sin(4a+4*b*x)+5//32*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+15//128*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+-15//256*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//256*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1)+15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^3//2*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+1//32*b^-1*(c+d*x)^3//2*cos(4a+4*b*x)+-3//256*d*b^-2*(c+d*x)^(1/2)*sin(4a+4*b*x)+3//32*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+-3//64*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//64*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+1//32*b^-1*(c+d*x)^(1/2)*cos(4a+4*b*x)+-1//16*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//16*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+1//32*b^-1*(c+d*x)^(1/2)*cos(4a+4*b*x)+-1//16*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//16*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^3//2*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+1//32*b^-1*(c+d*x)^3//2*cos(4a+4*b*x)+-3//256*d*b^-2*(c+d*x)^(1/2)*sin(4a+4*b*x)+3//32*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+-3//64*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//64*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^5//2*sin(a+b*x)^3*cos(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+1//32*b^-1*(c+d*x)^5//2*cos(4a+4*b*x)+-15//2048*b^-3*d^2*(c+d*x)^(1/2)*cos(4a+4*b*x)+-5//256*d*b^-2*(c+d*x)^3//2*sin(4a+4*b*x)+5//32*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+15//128*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+-15//256*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//256*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1)+15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^m*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//8*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,im*b*d^-1*(c+d*x))*exp(-1*im*(a+-1*b*c*d^-1))+-1//8*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-1*im*b*d^-1*(c+d*x))*exp(im*(a+-1*b*c*d^-1))+-1//8*3^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,3*im*b*d^-1*(c+d*x))*exp(-3*im*(a+-1*b*c*d^-1))+-1//8*3^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-3*im*b*d^-1*(c+d*x))*exp(3*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)^2*sin(a+b*x), x) == :(-160//27*b^-5*d^4*cos(a+b*x)+-8//81*b^-5*d^4*cos(a+b*x)^3+-1//3*b^-1*(c+d*x)^4*cos(a+b*x)^3+-160//27*b^-4*d^3*(c+d*x)*sin(a+b*x)+4//9*b^-3*d^2*(c+d*x)^2*cos(a+b*x)^3+8//3*b^-3*d^2*(c+d*x)^2*cos(a+b*x)+8//9*d*b^-2*(c+d*x)^3*sin(a+b*x)+-8//27*b^-4*d^3*cos(a+b*x)^2*(c+d*x)*sin(a+b*x)+4//9*d*b^-2*(c+d*x)^3*cos(a+b*x)^2*sin(a+b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^2*sin(a+b*x), x) == :(-14//9*b^-4*d^3*sin(a+b*x)+-1//3*b^-1*(c+d*x)^3*cos(a+b*x)^3+2//27*b^-4*d^3*sin(a+b*x)^3+2//3*d*b^-2*(c+d*x)^2*sin(a+b*x)+2//9*b^-3*d^2*cos(a+b*x)^3*(c+d*x)+4//3*b^-3*d^2*(c+d*x)*cos(a+b*x)+1//3*d*b^-2*(c+d*x)^2*cos(a+b*x)^2*sin(a+b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//3*b^-1*(c+d*x)^2*cos(a+b*x)^3+2//27*b^-3*d^2*cos(a+b*x)^3+4//9*b^-3*d^2*cos(a+b*x)+4//9*d*b^-2*(c+d*x)*sin(a+b*x)+2//9*d*b^-2*cos(a+b*x)^2*(c+d*x)*sin(a+b*x))
@test integrate(cos(a+b*x)^2*(c+d*x)*sin(a+b*x), x) == :(-1//3*b^-1*cos(a+b*x)^3*(c+d*x)+-1//9*d*b^-2*sin(a+b*x)^3+1//3*d*b^-2*sin(a+b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)^2*sin(a+b*x), x) == :(1//4*d^-1*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//4*d^-1*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+1//4*d^-1*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1)+1//4*d^-1*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*d^-1*(c+d*x)^-1*sin(a+b*x)+-1//4*d^-1*(c+d*x)^-1*sin(3a+3*b*x)+-3//4*b*d^-2*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-1//4*b*d^-2*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//4*b*d^-2*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+3//4*b*d^-2*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//8*d^-1*(c+d*x)^-2*sin(a+b*x)+-1//8*d^-1*(c+d*x)^-2*sin(3a+3*b*x)+-9//8*b^2*d^-3*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-9//8*b^2*d^-3*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1)+-3//8*b*d^-2*(c+d*x)^-1*cos(3a+3*b*x)+-1//8*b*d^-2*(c+d*x)^-1*cos(a+b*x)+-1//8*b^2*d^-3*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+-1//8*b^2*d^-3*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^-4*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//12*d^-1*(c+d*x)^-3*sin(a+b*x)+-1//12*d^-1*(c+d*x)^-3*sin(3a+3*b*x)+-9//8*b^3*d^-4*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1)+-1//8*b*d^-2*(c+d*x)^-2*cos(3a+3*b*x)+-1//24*b*d^-2*(c+d*x)^-2*cos(a+b*x)+-1//24*b^3*d^-4*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+1//24*b^2*d^-3*(c+d*x)^-1*sin(a+b*x)+1//24*b^3*d^-4*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+3//8*b^2*d^-3*(c+d*x)^-1*sin(3a+3*b*x)+9//8*b^3*d^-4*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1))
@test integrate((c+d*x)^m*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//8*d^-1*(1+m)^-1*(c+d*x)^(1+m)+im*2^(-6+-2m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-4*im*b*d^-1*(c+d*x))*exp(4*im*(a+-1*b*c*d^-1))+-1*im*2^(-6+-2m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,4*im*b*d^-1*(c+d*x))*exp(-4*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//40*d^-1*(c+d*x)^5+-3//1024*b^-5*d^4*sin(4a+4*b*x)+-1//32*b^-1*(c+d*x)^4*sin(4a+4*b*x)+-1//32*d*b^-2*(c+d*x)^3*cos(4a+4*b*x)+3//128*b^-3*d^2*(c+d*x)^2*sin(4a+4*b*x)+3//256*b^-4*d^3*(c+d*x)*cos(4a+4*b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//32*d^-1*(c+d*x)^4+-1//32*b^-1*(c+d*x)^3*sin(4a+4*b*x)+3//1024*b^-4*d^3*cos(4a+4*b*x)+-3//128*d*b^-2*(c+d*x)^2*cos(4a+4*b*x)+3//256*b^-3*d^2*(c+d*x)*sin(4a+4*b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//24*d^-1*(c+d*x)^3+-1//32*b^-1*(c+d*x)^2*sin(4a+4*b*x)+1//256*b^-3*d^2*sin(4a+4*b*x)+-1//64*d*b^-2*(c+d*x)*cos(4a+4*b*x))
@test integrate(cos(a+b*x)^2*sin(a+b*x)^2*(c+d*x), x) == :(1//16*d^-1*(c+d*x)^2+-1//32*b^-1*(c+d*x)*sin(4a+4*b*x)+-1//128*d*b^-2*cos(4a+4*b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//8*d^-1*log(c+d*x)+-1//8*d^-1*cos(4a+-4*b*c*d^-1)*cosintegral(4*b*x+4*b*c*d^-1)+1//8*d^-1*sin(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(-1//8*d^-1*(c+d*x)^-1+1//8*d^-1*(c+d*x)^-1*cos(4a+4*b*x)+(1/2)*b*d^-2*cos(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+(1/2)*b*d^-2*cosintegral(4*b*x+4*b*c*d^-1)*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(-1//16*d^-1*(c+d*x)^-2+1//16*d^-1*(c+d*x)^-2*cos(4a+4*b*x)+b^2*d^-3*cos(4a+-4*b*c*d^-1)*cosintegral(4*b*x+4*b*c*d^-1)+-1*b^2*d^-3*sin(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+-1//4*b*d^-2*(c+d*x)^-1*sin(4a+4*b*x))
@test integrate((c+d*x)^-4*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(-1//24*d^-1*(c+d*x)^-3+1//24*d^-1*(c+d*x)^-3*cos(4a+4*b*x)+-4//3*b^3*d^-4*cos(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+-4//3*b^3*d^-4*cosintegral(4*b*x+4*b*c*d^-1)*sin(4a+-4*b*c*d^-1)+-1//3*b^2*d^-3*(c+d*x)^-1*cos(4a+4*b*x)+-1//12*b*d^-2*(c+d*x)^-2*sin(4a+4*b*x))
@test integrate((c+d*x)^m*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//16*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,im*b*d^-1*(c+d*x))*exp(-1*im*(a+-1*b*c*d^-1))+-1//16*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-1*im*b*d^-1*(c+d*x))*exp(im*(a+-1*b*c*d^-1))+-1//32*3^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,3*im*b*d^-1*(c+d*x))*exp(-3*im*(a+-1*b*c*d^-1))+-1//32*3^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-3*im*b*d^-1*(c+d*x))*exp(3*im*(a+-1*b*c*d^-1))+1//32*5^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,5*im*b*d^-1*(c+d*x))*exp(-5*im*(a+-1*b*c*d^-1))+1//32*5^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-5*im*b*d^-1*(c+d*x))*exp(5*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-3*b^-5*d^4*cos(a+b*x)+-1//8*b^-1*(c+d*x)^4*cos(a+b*x)+-1//48*b^-1*(c+d*x)^4*cos(3a+3*b*x)+-1//162*b^-5*d^4*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^4*cos(5a+5*b*x)+3//6250*b^-5*d^4*cos(5a+5*b*x)+(1/2)*d*b^-2*(c+d*x)^3*sin(a+b*x)+-3*b^-4*d^3*(c+d*x)*sin(a+b*x)+-3//500*b^-3*d^2*(c+d*x)^2*cos(5a+5*b*x)+-1//54*b^-4*d^3*(c+d*x)*sin(3a+3*b*x)+-1//100*d*b^-2*(c+d*x)^3*sin(5a+5*b*x)+1//36*d*b^-2*(c+d*x)^3*sin(3a+3*b*x)+1//36*b^-3*d^2*(c+d*x)^2*cos(3a+3*b*x)+3//2*b^-3*d^2*(c+d*x)^2*cos(a+b*x)+3//1250*b^-4*d^3*(c+d*x)*sin(5a+5*b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-3//4*b^-4*d^3*sin(a+b*x)+-1//8*b^-1*(c+d*x)^3*cos(a+b*x)+-1//48*b^-1*(c+d*x)^3*cos(3a+3*b*x)+-1//216*b^-4*d^3*sin(3a+3*b*x)+1//80*b^-1*(c+d*x)^3*cos(5a+5*b*x)+3//5000*b^-4*d^3*sin(5a+5*b*x)+-3//400*d*b^-2*(c+d*x)^2*sin(5a+5*b*x)+-3//1000*b^-3*d^2*(c+d*x)*cos(5a+5*b*x)+1//48*d*b^-2*(c+d*x)^2*sin(3a+3*b*x)+1//72*b^-3*d^2*(c+d*x)*cos(3a+3*b*x)+3//4*b^-3*d^2*(c+d*x)*cos(a+b*x)+3//8*d*b^-2*(c+d*x)^2*sin(a+b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^2*cos(a+b*x)+-1//48*b^-1*(c+d*x)^2*cos(3a+3*b*x)+-1//1000*b^-3*d^2*cos(5a+5*b*x)+1//4*b^-3*d^2*cos(a+b*x)+1//80*b^-1*(c+d*x)^2*cos(5a+5*b*x)+1//216*b^-3*d^2*cos(3a+3*b*x)+-1//200*d*b^-2*(c+d*x)*sin(5a+5*b*x)+1//4*d*b^-2*(c+d*x)*sin(a+b*x)+1//72*d*b^-2*(c+d*x)*sin(3a+3*b*x))
@test integrate(cos(a+b*x)^2*sin(a+b*x)^3*(c+d*x), x) == :(-1//8*b^-1*(c+d*x)*cos(a+b*x)+-1//48*b^-1*(c+d*x)*cos(3a+3*b*x)+-1//400*d*b^-2*sin(5a+5*b*x)+1//8*d*b^-2*sin(a+b*x)+1//80*b^-1*(c+d*x)*cos(5a+5*b*x)+1//144*d*b^-2*sin(3a+3*b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//16*d^-1*cos(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1)+-1//16*d^-1*cosintegral(5*b*x+5*b*c*d^-1)*sin(5a+-5*b*c*d^-1)+1//8*d^-1*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//8*d^-1*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1)+1//16*d^-1*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+1//16*d^-1*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*d^-1*(c+d*x)^-1*sin(a+b*x)+-1//16*d^-1*(c+d*x)^-1*sin(3a+3*b*x)+1//16*d^-1*(c+d*x)^-1*sin(5a+5*b*x)+-5//16*b*d^-2*cos(5a+-5*b*c*d^-1)*cosintegral(5*b*x+5*b*c*d^-1)+-3//16*b*d^-2*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-1//8*b*d^-2*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//8*b*d^-2*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+3//16*b*d^-2*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1)+5//16*b*d^-2*sin(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//16*d^-1*(c+d*x)^-2*sin(a+b*x)+-1//32*d^-1*(c+d*x)^-2*sin(3a+3*b*x)+1//32*d^-1*(c+d*x)^-2*sin(5a+5*b*x)+-9//32*b^2*d^-3*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-9//32*b^2*d^-3*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1)+-3//32*b*d^-2*(c+d*x)^-1*cos(3a+3*b*x)+-1//16*b*d^-2*(c+d*x)^-1*cos(a+b*x)+-1//16*b^2*d^-3*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+-1//16*b^2*d^-3*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1)+5//32*b*d^-2*(c+d*x)^-1*cos(5a+5*b*x)+25//32*b^2*d^-3*cos(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1)+25//32*b^2*d^-3*cosintegral(5*b*x+5*b*c*d^-1)*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^-4*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//24*d^-1*(c+d*x)^-3*sin(a+b*x)+-1//48*d^-1*(c+d*x)^-3*sin(3a+3*b*x)+1//48*d^-1*(c+d*x)^-3*sin(5a+5*b*x)+-125//96*b^3*d^-4*sin(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1)+-25//96*b^2*d^-3*(c+d*x)^-1*sin(5a+5*b*x)+-9//32*b^3*d^-4*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1)+-1//32*b*d^-2*(c+d*x)^-2*cos(3a+3*b*x)+-1//48*b*d^-2*(c+d*x)^-2*cos(a+b*x)+-1//48*b^3*d^-4*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+1//48*b^2*d^-3*(c+d*x)^-1*sin(a+b*x)+1//48*b^3*d^-4*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+3//32*b^2*d^-3*(c+d*x)^-1*sin(3a+3*b*x)+5//96*b*d^-2*(c+d*x)^-2*cos(5a+5*b*x)+9//32*b^3*d^-4*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+125//96*b^3*d^-4*cos(5a+-5*b*c*d^-1)*cosintegral(5*b*x+5*b*c*d^-1))
@test integrate((c+d*x)^4*cos(a+b*x)*cot(a+b*x), x) == :(b^-1*(c+d*x)^4*cos(a+b*x)+-24*b^-5*d^4*Polylogarithms.polylog(5,exp(im*(a+b*x)))+-2*b^-1*(c+d*x)^4*arctanh(exp(im*(a+b*x)))+24*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(im*(a+b*x)))+24*b^-5*d^4*cos(a+b*x)+-12*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-12*b^-3*d^2*(c+d*x)^2*cos(a+b*x)+-4*d*b^-2*(c+d*x)^3*sin(a+b*x)+12*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+24*b^-4*d^3*(c+d*x)*sin(a+b*x)+-24*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-4*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(im*(a+b*x)))+4*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+24*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(im*(a+b*x))))
@test integrate((c+d*x)^3*cos(a+b*x)*cot(a+b*x), x) == :(b^-1*(c+d*x)^3*cos(a+b*x)+-2*b^-1*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+6*b^-4*d^3*sin(a+b*x)+-6*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*cos(a+b*x)+-3*d*b^-2*(c+d*x)^2*sin(a+b*x)+6*im*b^-4*d^3*Polylogarithms.polylog(4,exp(im*(a+b*x)))+6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*cos(a+b*x)*cot(a+b*x), x) == :(b^-1*(c+d*x)^2*cos(a+b*x)+-2*b^-1*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-2*b^-3*d^2*cos(a+b*x)+2*b^-3*d^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-2*d*b^-2*(c+d*x)*sin(a+b*x)+-2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)*cos(a+b*x)*cot(a+b*x), x) == :(b^-1*(c+d*x)*cos(a+b*x)+-1*d*b^-2*sin(a+b*x)+-1*b^-1*(2c+2*d*x)*arctanh(exp(im*(a+b*x)))+im*d*b^-2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+-1*im*d*b^-2*Polylogarithms.polylog(2,exp(im*(a+b*x))))
@test integrate((c+d*x)^4*cot(a+b*x)^2, x) == :(-1//5*d^-1*(c+d*x)^5+-1*im*b^-1*(c+d*x)^4+-1*b^-1*(c+d*x)^4*cot(a+b*x)+3*im*b^-5*d^4*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+4*d*b^-2*(c+d*x)^3*log(1+-1*exp(2*im*(a+b*x)))+6*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*cot(a+b*x)^2, x) == :(-1//4*d^-1*(c+d*x)^4+-1*im*b^-1*(c+d*x)^3+-1*b^-1*(c+d*x)^3*cot(a+b*x)+3//2*b^-4*d^3*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+3*d*b^-2*(c+d*x)^2*log(1+-1*exp(2*im*(a+b*x)))+-3*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*cot(a+b*x)^2, x) == :(-1//3*d^-1*(c+d*x)^3+-1*im*b^-1*(c+d*x)^2+-1*b^-1*(c+d*x)^2*cot(a+b*x)+-1*im*b^-3*d^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+2*d*b^-2*(c+d*x)*log(1+-1*exp(2*im*(a+b*x))))
@test integrate(cot(a+b*x)^2*(c+d*x), x) == :(-1*c*x+-1//2*d*x^2+d*b^-2*log(sin(a+b*x))+-1*b^-1*(c+d*x)*cot(a+b*x))
@test integrate((c+d*x)^4*cot(a+b*x)^2*csc(a+b*x), x) == :(b^-1*(c+d*x)^4*arctanh(exp(im*(a+b*x)))+-12*b^-5*d^4*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-12*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(im*(a+b*x)))+12*b^-5*d^4*Polylogarithms.polylog(3,exp(im*(a+b*x)))+12*b^-5*d^4*Polylogarithms.polylog(5,exp(im*(a+b*x)))+-12*b^-3*d^2*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-2*d*b^-2*(c+d*x)^3*csc(a+b*x)+6*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-1//2*b^-1*(c+d*x)^4*cot(a+b*x)*csc(a+b*x)+-12*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-12*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(im*(a+b*x)))+12*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+12*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^3*cot(a+b*x)^2*csc(a+b*x), x) == :(b^-1*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*arctanh(exp(im*(a+b*x)))+-3*im*b^-4*d^3*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-3*im*b^-4*d^3*Polylogarithms.polylog(4,exp(im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+3*im*b^-4*d^3*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+3*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+3*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*csc(a+b*x)+-1//2*b^-1*(c+d*x)^3*cot(a+b*x)*csc(a+b*x)+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x))))
@test integrate((c+d*x)^2*cot(a+b*x)^2*csc(a+b*x), x) == :(b^-1*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+b^-3*d^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-1*b^-3*d^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-1*b^-3*d^2*arctanh(cos(a+b*x))+-1*d*b^-2*(c+d*x)*csc(a+b*x)+-1//2*b^-1*(c+d*x)^2*cot(a+b*x)*csc(a+b*x)+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate(cot(a+b*x)^2*(c+d*x)*csc(a+b*x), x) == :(b^-1*(c+d*x)*arctanh(exp(im*(a+b*x)))+-1//2*d*b^-2*csc(a+b*x)+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-1//2*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+-1//2*b^-1*(c+d*x)*cot(a+b*x)*csc(a+b*x))
@test integrate((c+d*x)^5//2*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^5//2*cos(a+b*x)+-1//12*b^-1*(c+d*x)^5//2*cos(3a+3*b*x)+5//8*d*b^-2*(c+d*x)^3//2*sin(a+b*x)+5//72*d*b^-2*(c+d*x)^3//2*sin(3a+3*b*x)+5//144*b^-3*d^2*(c+d*x)^(1/2)*cos(3a+3*b*x)+15//16*b^-3*d^2*(c+d*x)^(1/2)*cos(a+b*x)+-15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^3//2*cos(a+b*x)+-1//12*b^-1*(c+d*x)^3//2*cos(3a+3*b*x)+1//24*d*b^-2*(c+d*x)^(1/2)*sin(3a+3*b*x)+3//8*d*b^-2*(c+d*x)^(1/2)*sin(a+b*x)+-3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^(1/2)*cos(a+b*x)+-1//12*b^-1*(c+d*x)^(1/2)*cos(3a+3*b*x)+-1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^(1/2)*cos(a+b*x)+-1//12*b^-1*(c+d*x)^(1/2)*cos(3a+3*b*x)+-1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//8*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//72*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^3//2*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^3//2*cos(a+b*x)+-1//12*b^-1*(c+d*x)^3//2*cos(3a+3*b*x)+1//24*d*b^-2*(c+d*x)^(1/2)*sin(3a+3*b*x)+3//8*d*b^-2*(c+d*x)^(1/2)*sin(a+b*x)+-3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//16*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//144*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^2*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^5//2*cos(a+b*x)+-1//12*b^-1*(c+d*x)^5//2*cos(3a+3*b*x)+5//8*d*b^-2*(c+d*x)^3//2*sin(a+b*x)+5//72*d*b^-2*(c+d*x)^3//2*sin(3a+3*b*x)+5//144*b^-3*d^2*(c+d*x)^(1/2)*cos(3a+3*b*x)+15//16*b^-3*d^2*(c+d*x)^(1/2)*cos(a+b*x)+-15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+5//864*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+15//32*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//28*d^-1*(c+d*x)^7//2+-1//32*b^-1*(c+d*x)^5//2*sin(4a+4*b*x)+-5//256*d*b^-2*(c+d*x)^3//2*cos(4a+4*b*x)+15//2048*b^-3*d^2*(c+d*x)^(1/2)*sin(4a+4*b*x)+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//20*d^-1*(c+d*x)^5//2+-1//32*b^-1*(c+d*x)^3//2*sin(4a+4*b*x)+-3//256*d*b^-2*(c+d*x)^(1/2)*cos(4a+4*b*x)+-3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1)+3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//12*d^-1*(c+d*x)^3//2+-1//32*b^-1*(c+d*x)^(1/2)*sin(4a+4*b*x)+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//12*d^-1*(c+d*x)^3//2+-1//32*b^-1*(c+d*x)^(1/2)*sin(4a+4*b*x)+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//20*d^-1*(c+d*x)^5//2+-1//32*b^-1*(c+d*x)^3//2*sin(4a+4*b*x)+-3//256*d*b^-2*(c+d*x)^(1/2)*cos(4a+4*b*x)+-3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1)+3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^5//2*cos(a+b*x)^2*sin(a+b*x)^2, x) == :(1//28*d^-1*(c+d*x)^7//2+-1//32*b^-1*(c+d*x)^5//2*sin(4a+4*b*x)+-5//256*d*b^-2*(c+d*x)^3//2*cos(4a+4*b*x)+15//2048*b^-3*d^2*(c+d*x)^(1/2)*sin(4a+4*b*x)+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^5//2*cos(a+b*x)+-1//48*b^-1*(c+d*x)^5//2*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^5//2*cos(5a+5*b*x)+-3//1600*b^-3*d^2*(c+d*x)^(1/2)*cos(5a+5*b*x)+-1//160*d*b^-2*(c+d*x)^3//2*sin(5a+5*b*x)+5//16*d*b^-2*(c+d*x)^3//2*sin(a+b*x)+5//288*d*b^-2*(c+d*x)^3//2*sin(3a+3*b*x)+5//576*b^-3*d^2*(c+d*x)^(1/2)*cos(3a+3*b*x)+15//32*b^-3*d^2*(c+d*x)^(1/2)*cos(a+b*x)+-15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1)+3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(5a+-5*b*c*d^-1)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^3//2*cos(a+b*x)+-1//48*b^-1*(c+d*x)^3//2*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^3//2*cos(5a+5*b*x)+-3//800*d*b^-2*(c+d*x)^(1/2)*sin(5a+5*b*x)+1//96*d*b^-2*(c+d*x)^(1/2)*sin(3a+3*b*x)+3//16*d*b^-2*(c+d*x)^(1/2)*sin(a+b*x)+-3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(5a+-5*b*c*d^-1)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^(1/2)*cos(a+b*x)+-1//48*b^-1*(c+d*x)^(1/2)*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^(1/2)*cos(5a+5*b*x)+-1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+-1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(5a+-5*b*c*d^-1)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^(1/2)*cos(a+b*x)+-1//48*b^-1*(c+d*x)^(1/2)*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^(1/2)*cos(5a+5*b*x)+-1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+-1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(5a+-5*b*c*d^-1)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^3//2*cos(a+b*x)+-1//48*b^-1*(c+d*x)^3//2*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^3//2*cos(5a+5*b*x)+-3//800*d*b^-2*(c+d*x)^(1/2)*sin(5a+5*b*x)+1//96*d*b^-2*(c+d*x)^(1/2)*sin(3a+3*b*x)+3//16*d*b^-2*(c+d*x)^(1/2)*sin(a+b*x)+-3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+-1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(5a+-5*b*c*d^-1)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^2*sin(a+b*x)^3, x) == :(-1//8*b^-1*(c+d*x)^5//2*cos(a+b*x)+-1//48*b^-1*(c+d*x)^5//2*cos(3a+3*b*x)+1//80*b^-1*(c+d*x)^5//2*cos(5a+5*b*x)+-3//1600*b^-3*d^2*(c+d*x)^(1/2)*cos(5a+5*b*x)+-1//160*d*b^-2*(c+d*x)^3//2*sin(5a+5*b*x)+5//16*d*b^-2*(c+d*x)^3//2*sin(a+b*x)+5//288*d*b^-2*(c+d*x)^3//2*sin(3a+3*b*x)+5//576*b^-3*d^2*(c+d*x)^(1/2)*cos(3a+3*b*x)+15//32*b^-3*d^2*(c+d*x)^(1/2)*cos(a+b*x)+-15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1)+3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(5a+-5*b*c*d^-1)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^m*cos(a+b*x)^3*sin(a+b*x), x) == :(-1*2^(-6+-2m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,4*im*b*d^-1*(c+d*x))*exp(-4*im*(a+-1*b*c*d^-1))+-1*2^(-6+-2m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-4*im*b*d^-1*(c+d*x))*exp(4*im*(a+-1*b*c*d^-1))+-1*2^(-4+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,2*im*b*d^-1*(c+d*x))*exp(-2*im*(a+-1*b*c*d^-1))+-1*2^(-4+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-2*im*b*d^-1*(c+d*x))*exp(2*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)^3*sin(a+b*x), x) == :(3//32*b^-1*(c+d*x)^4+-45//128*b^-5*d^4*cos(a+b*x)^2+-45//128*b^-3*d^4*x^2+-3//128*b^-5*d^4*cos(a+b*x)^4+-1//4*b^-1*(c+d*x)^4*cos(a+b*x)^4+-45//64*c*x*b^-3*d^3+3//16*b^-3*d^2*(c+d*x)^2*cos(a+b*x)^4+9//16*b^-3*d^2*(c+d*x)^2*cos(a+b*x)^2+-45//64*b^-4*d^3*(c+d*x)*cos(a+b*x)*sin(a+b*x)+-3//32*b^-4*d^3*cos(a+b*x)^3*(c+d*x)*sin(a+b*x)+1//4*d*b^-2*(c+d*x)^3*cos(a+b*x)^3*sin(a+b*x)+3//8*d*b^-2*(c+d*x)^3*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^3*sin(a+b*x), x) == :(3//32*b^-1*(c+d*x)^3+-45//256*x*b^-3*d^3+-1//4*b^-1*(c+d*x)^3*cos(a+b*x)^4+-45//256*b^-4*d^3*cos(a+b*x)*sin(a+b*x)+-3//128*b^-4*d^3*cos(a+b*x)^3*sin(a+b*x)+3//32*b^-3*d^2*cos(a+b*x)^4*(c+d*x)+9//32*b^-3*d^2*cos(a+b*x)^2*(c+d*x)+3//16*d*b^-2*(c+d*x)^2*cos(a+b*x)^3*sin(a+b*x)+9//32*d*b^-2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//4*b^-1*(c+d*x)^2*cos(a+b*x)^4+1//32*b^-3*d^2*cos(a+b*x)^4+3//32*b^-1*d^2*x^2+3//32*b^-3*d^2*cos(a+b*x)^2+3//16*c*d*x*b^-1+1//8*d*b^-2*cos(a+b*x)^3*(c+d*x)*sin(a+b*x)+3//16*d*b^-2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate(cos(a+b*x)^3*(c+d*x)*sin(a+b*x), x) == :(-1//4*b^-1*cos(a+b*x)^4*(c+d*x)+3//32*d*x*b^-1+1//16*d*b^-2*cos(a+b*x)^3*sin(a+b*x)+3//32*d*b^-2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)^3*sin(a+b*x), x) == :(1//4*d^-1*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+1//4*d^-1*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1)+1//8*d^-1*cos(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+1//8*d^-1*cosintegral(4*b*x+4*b*c*d^-1)*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//4*d^-1*(c+d*x)^-1*sin(2a+2*b*x)+-1//8*d^-1*(c+d*x)^-1*sin(4a+4*b*x)+(1/2)*b*d^-2*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+(1/2)*b*d^-2*cos(4a+-4*b*c*d^-1)*cosintegral(4*b*x+4*b*c*d^-1)+-1//2*b*d^-2*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+-1//2*b*d^-2*sin(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*d^-1*(c+d*x)^-2*sin(2a+2*b*x)+-1//16*d^-1*(c+d*x)^-2*sin(4a+4*b*x)+-1*b^2*d^-3*cos(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1)+-1*b^2*d^-3*cosintegral(4*b*x+4*b*c*d^-1)*sin(4a+-4*b*c*d^-1)+-1//2*b^2*d^-3*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+-1//2*b^2*d^-3*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1)+-1//4*b*d^-2*(c+d*x)^-1*cos(2a+2*b*x)+-1//4*b*d^-2*(c+d*x)^-1*cos(4a+4*b*x))
@test integrate((c+d*x)^-4*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//12*d^-1*(c+d*x)^-3*sin(2a+2*b*x)+-1//24*d^-1*(c+d*x)^-3*sin(4a+4*b*x)+-4//3*b^3*d^-4*cos(4a+-4*b*c*d^-1)*cosintegral(4*b*x+4*b*c*d^-1)+-1//3*b^3*d^-4*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+-1//12*b*d^-2*(c+d*x)^-2*cos(2a+2*b*x)+-1//12*b*d^-2*(c+d*x)^-2*cos(4a+4*b*x)+1//3*b^2*d^-3*(c+d*x)^-1*sin(4a+4*b*x)+1//3*b^3*d^-4*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+1//6*b^2*d^-3*(c+d*x)^-1*sin(2a+2*b*x)+4//3*b^3*d^-4*sin(4a+-4*b*c*d^-1)*sinintegral(4*b*x+4*b*c*d^-1))
@test integrate((c+d*x)^m*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//16*im*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-1*im*b*d^-1*(c+d*x))*exp(im*(a+-1*b*c*d^-1))+1//16*im*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,im*b*d^-1*(c+d*x))*exp(-1*im*(a+-1*b*c*d^-1))+-1//32*im*3^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,3*im*b*d^-1*(c+d*x))*exp(-3*im*(a+-1*b*c*d^-1))+-1//32*im*5^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,5*im*b*d^-1*(c+d*x))*exp(-5*im*(a+-1*b*c*d^-1))+1//32*im*3^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-3*im*b*d^-1*(c+d*x))*exp(3*im*(a+-1*b*c*d^-1))+1//32*im*5^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-5*im*b*d^-1*(c+d*x))*exp(5*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(3*b^-5*d^4*sin(a+b*x)+-3//6250*b^-5*d^4*sin(5a+5*b*x)+-1//48*b^-1*(c+d*x)^4*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^4*sin(5a+5*b*x)+-1//162*b^-5*d^4*sin(3a+3*b*x)+1//8*b^-1*(c+d*x)^4*sin(a+b*x)+(1/2)*d*b^-2*(c+d*x)^3*cos(a+b*x)+-3*b^-4*d^3*(c+d*x)*cos(a+b*x)+-3//2*b^-3*d^2*(c+d*x)^2*sin(a+b*x)+-1//36*d*b^-2*(c+d*x)^3*cos(3a+3*b*x)+-1//100*d*b^-2*(c+d*x)^3*cos(5a+5*b*x)+1//36*b^-3*d^2*(c+d*x)^2*sin(3a+3*b*x)+1//54*b^-4*d^3*(c+d*x)*cos(3a+3*b*x)+3//500*b^-3*d^2*(c+d*x)^2*sin(5a+5*b*x)+3//1250*b^-4*d^3*(c+d*x)*cos(5a+5*b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-3//4*b^-4*d^3*cos(a+b*x)+-1//48*b^-1*(c+d*x)^3*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^3*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^3*sin(a+b*x)+1//216*b^-4*d^3*cos(3a+3*b*x)+3//5000*b^-4*d^3*cos(5a+5*b*x)+-3//4*b^-3*d^2*(c+d*x)*sin(a+b*x)+-3//400*d*b^-2*(c+d*x)^2*cos(5a+5*b*x)+-1//48*d*b^-2*(c+d*x)^2*cos(3a+3*b*x)+1//72*b^-3*d^2*(c+d*x)*sin(3a+3*b*x)+3//8*d*b^-2*(c+d*x)^2*cos(a+b*x)+3//1000*b^-3*d^2*(c+d*x)*sin(5a+5*b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//4*b^-3*d^2*sin(a+b*x)+-1//48*b^-1*(c+d*x)^2*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^2*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^2*sin(a+b*x)+1//216*b^-3*d^2*sin(3a+3*b*x)+1//1000*b^-3*d^2*sin(5a+5*b*x)+-1//72*d*b^-2*(c+d*x)*cos(3a+3*b*x)+-1//200*d*b^-2*(c+d*x)*cos(5a+5*b*x)+1//4*d*b^-2*(c+d*x)*cos(a+b*x))
@test integrate(cos(a+b*x)^3*sin(a+b*x)^2*(c+d*x), x) == :(-1//48*b^-1*(c+d*x)*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)*sin(5a+5*b*x)+-1//144*d*b^-2*cos(3a+3*b*x)+-1//400*d*b^-2*cos(5a+5*b*x)+1//8*d*b^-2*cos(a+b*x)+1//8*b^-1*(c+d*x)*sin(a+b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//8*d^-1*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+-1//16*d^-1*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1)+-1//16*d^-1*cos(5a+-5*b*c*d^-1)*cosintegral(5*b*x+5*b*c*d^-1)+1//8*d^-1*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+1//16*d^-1*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+1//16*d^-1*sin(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//8*d^-1*(c+d*x)^-1*cos(a+b*x)+1//16*d^-1*(c+d*x)^-1*cos(3a+3*b*x)+1//16*d^-1*(c+d*x)^-1*cos(5a+5*b*x)+-1//8*b*d^-2*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+-1//8*b*d^-2*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1)+3//16*b*d^-2*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+3//16*b*d^-2*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1)+5//16*b*d^-2*cos(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1)+5//16*b*d^-2*cosintegral(5*b*x+5*b*c*d^-1)*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//16*d^-1*(c+d*x)^-2*cos(a+b*x)+1//32*d^-1*(c+d*x)^-2*cos(3a+3*b*x)+1//32*d^-1*(c+d*x)^-2*cos(5a+5*b*x)+-25//32*b^2*d^-3*sin(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1)+-9//32*b^2*d^-3*sin(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-5//32*b*d^-2*(c+d*x)^-1*sin(5a+5*b*x)+-3//32*b*d^-2*(c+d*x)^-1*sin(3a+3*b*x)+-1//16*b^2*d^-3*cos(a+-1*b*c*d^-1)*cosintegral(b*x+b*c*d^-1)+1//16*b*d^-2*(c+d*x)^-1*sin(a+b*x)+1//16*b^2*d^-3*sin(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+9//32*b^2*d^-3*cos(3a+-3*b*c*d^-1)*cosintegral(3*b*x+3*b*c*d^-1)+25//32*b^2*d^-3*cos(5a+-5*b*c*d^-1)*cosintegral(5*b*x+5*b*c*d^-1))
@test integrate((c+d*x)^-4*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//24*d^-1*(c+d*x)^-3*cos(a+b*x)+1//48*d^-1*(c+d*x)^-3*cos(3a+3*b*x)+1//48*d^-1*(c+d*x)^-3*cos(5a+5*b*x)+-125//96*b^3*d^-4*cos(5a+-5*b*c*d^-1)*sinintegral(5*b*x+5*b*c*d^-1)+-125//96*b^3*d^-4*cosintegral(5*b*x+5*b*c*d^-1)*sin(5a+-5*b*c*d^-1)+-25//96*b^2*d^-3*(c+d*x)^-1*cos(5a+5*b*x)+-9//32*b^3*d^-4*cos(3a+-3*b*c*d^-1)*sinintegral(3*b*x+3*b*c*d^-1)+-9//32*b^3*d^-4*cosintegral(3*b*x+3*b*c*d^-1)*sin(3a+-3*b*c*d^-1)+-5//96*b*d^-2*(c+d*x)^-2*sin(5a+5*b*x)+-3//32*b^2*d^-3*(c+d*x)^-1*cos(3a+3*b*x)+-1//32*b*d^-2*(c+d*x)^-2*sin(3a+3*b*x)+1//48*b*d^-2*(c+d*x)^-2*sin(a+b*x)+1//48*b^2*d^-3*(c+d*x)^-1*cos(a+b*x)+1//48*b^3*d^-4*cos(a+-1*b*c*d^-1)*sinintegral(b*x+b*c*d^-1)+1//48*b^3*d^-4*cosintegral(b*x+b*c*d^-1)*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^m*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3*2^(-7+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,2*im*b*d^-1*(c+d*x))*exp(-2*im*(a+-1*b*c*d^-1))+-3*2^(-7+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-2*im*b*d^-1*(c+d*x))*exp(2*im*(a+-1*b*c*d^-1))+2^(-7+-1m)*3^(-1+-1m)*b^-1*(im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,6*im*b*d^-1*(c+d*x))*exp(-6*im*(a+-1*b*c*d^-1))+2^(-7+-1m)*3^(-1+-1m)*b^-1*(-1*im*b*d^-1*(c+d*x))^(-1m)*(c+d*x)^m*SpecialFunctions.gamma(1+m,-6*im*b*d^-1*(c+d*x))*exp(6*im*(a+-1*b*c*d^-1)))
@test integrate((c+d*x)^4*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-9//128*b^-5*d^4*cos(2a+2*b*x)+-3//64*b^-1*(c+d*x)^4*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^4*cos(6a+6*b*x)+1//10368*b^-5*d^4*cos(6a+6*b*x)+-9//64*b^-4*d^3*(c+d*x)*sin(2a+2*b*x)+-1//288*d*b^-2*(c+d*x)^3*sin(6a+6*b*x)+-1//576*b^-3*d^2*(c+d*x)^2*cos(6a+6*b*x)+1//1728*b^-4*d^3*(c+d*x)*sin(6a+6*b*x)+3//32*d*b^-2*(c+d*x)^3*sin(2a+2*b*x)+9//64*b^-3*d^2*(c+d*x)^2*cos(2a+2*b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-9//256*b^-4*d^3*sin(2a+2*b*x)+-3//64*b^-1*(c+d*x)^3*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^3*cos(6a+6*b*x)+1//6912*b^-4*d^3*sin(6a+6*b*x)+-1//384*d*b^-2*(c+d*x)^2*sin(6a+6*b*x)+-1//1152*b^-3*d^2*(c+d*x)*cos(6a+6*b*x)+9//128*d*b^-2*(c+d*x)^2*sin(2a+2*b*x)+9//128*b^-3*d^2*(c+d*x)*cos(2a+2*b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^2*cos(2a+2*b*x)+-1//3456*b^-3*d^2*cos(6a+6*b*x)+1//192*b^-1*(c+d*x)^2*cos(6a+6*b*x)+3//128*b^-3*d^2*cos(2a+2*b*x)+-1//576*d*b^-2*(c+d*x)*sin(6a+6*b*x)+3//64*d*b^-2*(c+d*x)*sin(2a+2*b*x))
@test integrate(cos(a+b*x)^3*sin(a+b*x)^3*(c+d*x), x) == :(-1//1152*d*b^-2*sin(6a+6*b*x)+1//64*b^-1*(-3c+-3*d*x)*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)*cos(6a+6*b*x)+3//128*d*b^-2*sin(2a+2*b*x))
@test integrate((c+d*x)^-1*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-1//32*d^-1*cos(6a+-6*b*c*d^-1)*sinintegral(6*b*x+6*b*c*d^-1)+-1//32*d^-1*cosintegral(6*b*x+6*b*c*d^-1)*sin(6a+-6*b*c*d^-1)+3//32*d^-1*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+3//32*d^-1*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^-2*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//32*d^-1*(c+d*x)^-1*sin(2a+2*b*x)+1//32*d^-1*(c+d*x)^-1*sin(6a+6*b*x)+-3//16*b*d^-2*cos(6a+-6*b*c*d^-1)*cosintegral(6*b*x+6*b*c*d^-1)+-3//16*b*d^-2*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+3//16*b*d^-2*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+3//16*b*d^-2*sin(6a+-6*b*c*d^-1)*sinintegral(6*b*x+6*b*c*d^-1))
@test integrate((c+d*x)^-3*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*d^-1*(c+d*x)^-2*sin(2a+2*b*x)+1//64*d^-1*(c+d*x)^-2*sin(6a+6*b*x)+-3//16*b^2*d^-3*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+-3//16*b^2*d^-3*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1)+-3//32*b*d^-2*(c+d*x)^-1*cos(2a+2*b*x)+3//32*b*d^-2*(c+d*x)^-1*cos(6a+6*b*x)+9//16*b^2*d^-3*cos(6a+-6*b*c*d^-1)*sinintegral(6*b*x+6*b*c*d^-1)+9//16*b^2*d^-3*cosintegral(6*b*x+6*b*c*d^-1)*sin(6a+-6*b*c*d^-1))
@test integrate((c+d*x)^-4*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-1//32*d^-1*(c+d*x)^-3*sin(2a+2*b*x)+1//96*d^-1*(c+d*x)^-3*sin(6a+6*b*x)+-9//8*b^3*d^-4*sin(6a+-6*b*c*d^-1)*sinintegral(6*b*x+6*b*c*d^-1)+-3//16*b^2*d^-3*(c+d*x)^-1*sin(6a+6*b*x)+-1//8*b^3*d^-4*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+-1//32*b*d^-2*(c+d*x)^-2*cos(2a+2*b*x)+1//8*b^3*d^-4*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+1//16*b^2*d^-3*(c+d*x)^-1*sin(2a+2*b*x)+1//32*b*d^-2*(c+d*x)^-2*cos(6a+6*b*x)+9//8*b^3*d^-4*cos(6a+-6*b*c*d^-1)*cosintegral(6*b*x+6*b*c*d^-1))
@test integrate((c+d*x)^4*cos(a+b*x)^2*cot(a+b*x), x) == :(1//4*b^-1*(c+d*x)^4+b^-1*(c+d*x)^4*log(1+-1*exp(2*im*(a+b*x)))+-3//2*b^-5*d^4*Polylogarithms.polylog(5,exp(2*im*(a+b*x)))+-3//4*b^-5*d^4*sin(a+b*x)^2+-3//4*b^-3*d^4*x^2+-1//2*b^-1*(c+d*x)^4*sin(a+b*x)^2+-1//5*im*d^-1*(c+d*x)^5+3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-3//2*c*x*b^-3*d^3+3//2*b^-3*d^2*(c+d*x)^2*sin(a+b*x)^2+-1*d*b^-2*(c+d*x)^3*cos(a+b*x)*sin(a+b*x)+-2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+3//2*b^-4*d^3*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*cos(a+b*x)^2*cot(a+b*x), x) == :(1//4*b^-1*(c+d*x)^3+b^-1*(c+d*x)^3*log(1+-1*exp(2*im*(a+b*x)))+-3//8*x*b^-3*d^3+-1//2*b^-1*(c+d*x)^3*sin(a+b*x)^2+-1//4*im*d^-1*(c+d*x)^4+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+3//4*b^-3*d^2*sin(a+b*x)^2*(c+d*x)+3//8*b^-4*d^3*cos(a+b*x)*sin(a+b*x)+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-3//4*d*b^-2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^2*cos(a+b*x)^2*cot(a+b*x), x) == :(b^-1*(c+d*x)^2*log(1+-1*exp(2*im*(a+b*x)))+(1/2)*b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-1//2*b^-1*(c+d*x)^2*sin(a+b*x)^2+-1//3*im*d^-1*(c+d*x)^3+1//4*b^-1*d^2*x^2+1//4*b^-3*d^2*sin(a+b*x)^2+(1/2)*c*d*x*b^-1+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-1//2*d*b^-2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate(cos(a+b*x)^2*(c+d*x)*cot(a+b*x), x) == :(b^-1*(c+d*x)*log(1+-1*exp(2*im*(a+b*x)))+-1//2*im*d^-1*(c+d*x)^2+-1//2*b^-1*sin(a+b*x)^2*(c+d*x)+1//4*d*x*b^-1+-1//2*im*d*b^-2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-1//4*d*b^-2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^4*cot(a+b*x)^2*cos(a+b*x), x) == :(-1*b^-1*(c+d*x)^4*csc(a+b*x)+-1*b^-1*(c+d*x)^4*sin(a+b*x)+-24*b^-5*d^4*sin(a+b*x)+-24*im*b^-5*d^4*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-8*d*b^-2*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+-4*d*b^-2*(c+d*x)^3*cos(a+b*x)+12*b^-3*d^2*(c+d*x)^2*sin(a+b*x)+24*im*b^-5*d^4*Polylogarithms.polylog(4,exp(im*(a+b*x)))+24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+24*b^-4*d^3*(c+d*x)*cos(a+b*x)+-12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^3*cot(a+b*x)^2*cos(a+b*x), x) == :(-1*b^-1*(c+d*x)^3*csc(a+b*x)+-1*b^-1*(c+d*x)^3*sin(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,exp(im*(a+b*x)))+6*b^-4*d^3*cos(a+b*x)+-6*d*b^-2*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-3*d*b^-2*(c+d*x)^2*cos(a+b*x)+6*b^-3*d^2*(c+d*x)*sin(a+b*x)+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*cot(a+b*x)^2*cos(a+b*x), x) == :(-1*b^-1*(c+d*x)^2*csc(a+b*x)+-1*b^-1*(c+d*x)^2*sin(a+b*x)+2*b^-3*d^2*sin(a+b*x)+-4*d*b^-2*(c+d*x)*arctanh(exp(im*(a+b*x)))+-2*im*b^-3*d^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-2*d*b^-2*(c+d*x)*cos(a+b*x)+2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate(cot(a+b*x)^2*(c+d*x)*cos(a+b*x), x) == :(-1*d*b^-2*arctanh(cos(a+b*x))+-1*d*b^-2*cos(a+b*x)+-1*b^-1*(c+d*x)*csc(a+b*x)+-1*b^-1*(c+d*x)*sin(a+b*x))
@test integrate((c+d*x)^4*cot(a+b*x)^3, x) == :(-1//2*b^-1*(c+d*x)^4+-1*b^-1*(c+d*x)^4*log(1+-1*exp(2*im*(a+b*x)))+3*b^-5*d^4*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-1//2*b^-1*(c+d*x)^4*cot(a+b*x)^2+1//5*im*d^-1*(c+d*x)^5+3//2*b^-5*d^4*Polylogarithms.polylog(5,exp(2*im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)^3+-2*d*b^-2*(c+d*x)^3*cot(a+b*x)+6*b^-3*d^2*(c+d*x)^2*log(1+-1*exp(2*im*(a+b*x)))+-6*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*cot(a+b*x)^3, x) == :(-1//2*b^-1*(c+d*x)^3+-1*b^-1*(c+d*x)^3*log(1+-1*exp(2*im*(a+b*x)))+-1//2*b^-1*(c+d*x)^3*cot(a+b*x)^2+1//4*im*d^-1*(c+d*x)^4+3*b^-3*d^2*(c+d*x)*log(1+-1*exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2+-3//2*im*b^-4*d^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*cot(a+b*x)+-3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-3//4*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*cot(a+b*x)^3, x) == :(b^-3*d^2*log(sin(a+b*x))+-1*b^-1*(c+d*x)^2*log(1+-1*exp(2*im*(a+b*x)))+-1//2*b^-1*d^2*x^2+-1//2*b^-1*(c+d*x)^2*cot(a+b*x)^2+-1//2*b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+1//3*im*d^-1*(c+d*x)^3+-1*c*d*x*b^-1+-1*d*b^-2*(c+d*x)*cot(a+b*x)+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate(cot(a+b*x)^3*(c+d*x), x) == :((1/2)*im*d^-1*(c+d*x)^2+-1*b^-1*(c+d*x)*log(1+-1*exp(2*im*(a+b*x)))+-1//2*d*x*b^-1+-1//2*d*b^-2*cot(a+b*x)+-1//2*b^-1*cot(a+b*x)^2*(c+d*x)+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^5//2*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+-1//32*b^-1*(c+d*x)^5//2*cos(4a+4*b*x)+5//32*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+5//256*d*b^-2*(c+d*x)^3//2*sin(4a+4*b*x)+15//128*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+15//2048*b^-3*d^2*(c+d*x)^(1/2)*cos(4a+4*b*x)+-15//256*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//256*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+-1//32*b^-1*(c+d*x)^3//2*cos(4a+4*b*x)+3//32*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+3//256*d*b^-2*(c+d*x)^(1/2)*sin(4a+4*b*x)+-3//64*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//64*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+-1//32*b^-1*(c+d*x)^(1/2)*cos(4a+4*b*x)+-1//16*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//16*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1)+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+-1//32*b^-1*(c+d*x)^(1/2)*cos(4a+4*b*x)+-1//16*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//16*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1)+1//128*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^3//2*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+-1//32*b^-1*(c+d*x)^3//2*cos(4a+4*b*x)+3//32*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+3//256*d*b^-2*(c+d*x)^(1/2)*sin(4a+4*b*x)+-3//64*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//64*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(4a+-4*b*c*d^-1)*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//1024*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^3*sin(a+b*x), x) == :(-1//8*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+-1//32*b^-1*(c+d*x)^5//2*cos(4a+4*b*x)+5//32*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+5//256*d*b^-2*(c+d*x)^3//2*sin(4a+4*b*x)+15//128*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+15//2048*b^-3*d^2*(c+d*x)^(1/2)*cos(4a+4*b*x)+-15//256*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//256*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(4a+-4*b*c*d^-1)*fresnelc(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//8192*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(4a+-4*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//48*b^-1*(c+d*x)^5//2*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^5//2*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^5//2*sin(a+b*x)+-15//32*b^-3*d^2*(c+d*x)^(1/2)*sin(a+b*x)+-5//288*d*b^-2*(c+d*x)^3//2*cos(3a+3*b*x)+-1//160*d*b^-2*(c+d*x)^3//2*cos(5a+5*b*x)+3//1600*b^-3*d^2*(c+d*x)^(1/2)*sin(5a+5*b*x)+5//16*d*b^-2*(c+d*x)^3//2*cos(a+b*x)+5//576*b^-3*d^2*(c+d*x)^(1/2)*sin(3a+3*b*x)+-5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+-3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(5a+-5*b*c*d^-1)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1)+15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//48*b^-1*(c+d*x)^3//2*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^3//2*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^3//2*sin(a+b*x)+-3//800*d*b^-2*(c+d*x)^(1/2)*cos(5a+5*b*x)+-1//96*d*b^-2*(c+d*x)^(1/2)*cos(3a+3*b*x)+3//16*d*b^-2*(c+d*x)^(1/2)*cos(a+b*x)+-3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1)+-1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(5a+-5*b*c*d^-1)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//48*b^-1*(c+d*x)^(1/2)*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^(1/2)*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^(1/2)*sin(a+b*x)+-1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(5a+-5*b*c*d^-1)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//48*b^-1*(c+d*x)^(1/2)*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^(1/2)*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^(1/2)*sin(a+b*x)+-1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//16*2^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//288*6^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(5a+-5*b*c*d^-1)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//800*10^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//48*b^-1*(c+d*x)^3//2*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^3//2*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^3//2*sin(a+b*x)+-3//800*d*b^-2*(c+d*x)^(1/2)*cos(5a+5*b*x)+-1//96*d*b^-2*(c+d*x)^(1/2)*cos(3a+3*b*x)+3//16*d*b^-2*(c+d*x)^(1/2)*cos(a+b*x)+-3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(a+-1*b*c*d^-1)*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1)+-1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+1//576*6^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(3a+-3*b*c*d^-1)*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+3//32*2^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1)+3//8000*10^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(5a+-5*b*c*d^-1)*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^5//2*cos(a+b*x)^3*sin(a+b*x)^2, x) == :(-1//48*b^-1*(c+d*x)^5//2*sin(3a+3*b*x)+-1//80*b^-1*(c+d*x)^5//2*sin(5a+5*b*x)+1//8*b^-1*(c+d*x)^5//2*sin(a+b*x)+-15//32*b^-3*d^2*(c+d*x)^(1/2)*sin(a+b*x)+-5//288*d*b^-2*(c+d*x)^3//2*cos(3a+3*b*x)+-1//160*d*b^-2*(c+d*x)^3//2*cos(5a+5*b*x)+3//1600*b^-3*d^2*(c+d*x)^(1/2)*sin(5a+5*b*x)+5//16*d*b^-2*(c+d*x)^3//2*cos(a+b*x)+5//576*b^-3*d^2*(c+d*x)^(1/2)*sin(3a+3*b*x)+-5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(3a+-3*b*c*d^-1)*fresnels(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-5//3456*6^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(6^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(3a+-3*b*c*d^-1)+-3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(5a+-5*b*c*d^-1)*fresnels(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-3//16000*10^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(10^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(5a+-5*b*c*d^-1)+15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(a+-1*b*c*d^-1)*fresnels(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+15//64*2^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnelc(2^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(a+-1*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^5//2*cos(6a+6*b*x)+-5//2304*d*b^-2*(c+d*x)^3//2*sin(6a+6*b*x)+-5//9216*b^-3*d^2*(c+d*x)^(1/2)*cos(6a+6*b*x)+15//256*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+45//1024*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+-45//2048*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+45//2048*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-5//55296*3^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(6a+-6*b*c*d^-1)+5//55296*3^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(6a+-6*b*c*d^-1)*fresnelc(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate((c+d*x)^3//2*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^3//2*cos(6a+6*b*x)+-1//768*d*b^-2*(c+d*x)^(1/2)*sin(6a+6*b*x)+9//256*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+-9//512*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-9//512*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//4608*3^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(6a+-6*b*c*d^-1)*fresnels(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//4608*3^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(6a+-6*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^(1/2)*cos(6a+6*b*x)+-3//128*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+3//128*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//1152*3^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(6a+-6*b*c*d^-1)*fresnelc(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//1152*3^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(6a+-6*b*c*d^-1))
@test integrate((c+d*x)^(1/2)*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^(1/2)*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^(1/2)*cos(6a+6*b*x)+-3//128*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+3//128*pi^(1/2)*b^-3//2*d^(1/2)*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-1//1152*3^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*cos(6a+-6*b*c*d^-1)*fresnelc(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//1152*3^(1/2)*pi^(1/2)*b^-3//2*d^(1/2)*fresnels(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(6a+-6*b*c*d^-1))
@test integrate((c+d*x)^3//2*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^3//2*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^3//2*cos(6a+6*b*x)+-1//768*d*b^-2*(c+d*x)^(1/2)*sin(6a+6*b*x)+9//256*d*b^-2*(c+d*x)^(1/2)*sin(2a+2*b*x)+-9//512*pi^(1/2)*b^-5//2*d^3//2*cos(2a+-2*b*c*d^-1)*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+-9//512*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+1//4608*3^(1/2)*pi^(1/2)*b^-5//2*d^3//2*cos(6a+-6*b*c*d^-1)*fresnels(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+1//4608*3^(1/2)*pi^(1/2)*b^-5//2*d^3//2*fresnelc(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(6a+-6*b*c*d^-1))
@test integrate((c+d*x)^5//2*cos(a+b*x)^3*sin(a+b*x)^3, x) == :(-3//64*b^-1*(c+d*x)^5//2*cos(2a+2*b*x)+1//192*b^-1*(c+d*x)^5//2*cos(6a+6*b*x)+-5//2304*d*b^-2*(c+d*x)^3//2*sin(6a+6*b*x)+-5//9216*b^-3*d^2*(c+d*x)^(1/2)*cos(6a+6*b*x)+15//256*d*b^-2*(c+d*x)^3//2*sin(2a+2*b*x)+45//1024*b^-3*d^2*(c+d*x)^(1/2)*cos(2a+2*b*x)+-45//2048*pi^(1/2)*b^-7//2*d^5//2*cos(2a+-2*b*c*d^-1)*fresnelc(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))+45//2048*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(2a+-2*b*c*d^-1)+-5//55296*3^(1/2)*pi^(1/2)*b^-7//2*d^5//2*fresnels(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2))*sin(6a+-6*b*c*d^-1)+5//55296*3^(1/2)*pi^(1/2)*b^-7//2*d^5//2*cos(6a+-6*b*c*d^-1)*fresnelc(2*3^(1/2)*pi^-1//2*b^(1/2)*d^-1//2*(c+d*x)^(1/2)))
@test integrate(x^3*cos(x)^2*cot(x)^2, x) == :(-3//8*x^4+3//2*Polylogarithms.polylog(3,exp(2*im*x))+3//8*x^2+3//8*cos(x)^2+-1*im*x^3+-1*x^3*cot(x)+3*x^2*log(1+-1*exp(2*im*x))+-3//4*x^2*cos(x)^2+-3*im*x*Polylogarithms.polylog(2,exp(2*im*x))+-1//2*x^3*cos(x)*sin(x)+3//4*x*cos(x)*sin(x))
@test integrate(x^2*cos(x)^2*cot(x)^2, x) == :(-1//2*x^3+1//4*x+-1*im*x^2+-1*im*Polylogarithms.polylog(2,exp(2*im*x))+-1*x^2*cot(x)+2*x*log(1+-1*exp(2*im*x))+-1//2*x*cos(x)^2+1//4*cos(x)*sin(x)+-1//2*x^2*cos(x)*sin(x))
@test integrate(x*cos(x)^2*cot(x)^2, x) == :(-3//4*x^2+-1//4*cos(x)^2+-1*x*cot(x)+-1//2*x*cos(x)*sin(x)+log(sin(x)))
@test integrate(x^3*cos(x)^2*cot(x)^3, x) == :(-3//4*x^3+3//8*x+(1/2)*im*x^4+(1/2)*x^3*sin(x)^2+-3*x*Polylogarithms.polylog(3,exp(2*im*x))+-2*x^3*log(1+-1*exp(2*im*x))+3*x*log(1+-1*exp(2*im*x))+-3//2*im*x^2+-3//2*im*Polylogarithms.polylog(2,exp(2*im*x))+-3//2*im*Polylogarithms.polylog(4,exp(2*im*x))+-3//2*x^2*cot(x)+-3//4*x*sin(x)^2+-3//8*cos(x)*sin(x)+-1//2*x^3*cot(x)^2+3*im*x^2*Polylogarithms.polylog(2,exp(2*im*x))+3//4*x^2*cos(x)*sin(x))
@test integrate(x^2*cos(x)^2*cot(x)^3, x) == :(-1*Polylogarithms.polylog(3,exp(2*im*x))+-3//4*x^2+-1//4*sin(x)^2+(1/2)*x^2*sin(x)^2+-1*x*cot(x)+-2*x^2*log(1+-1*exp(2*im*x))+-1//2*x^2*cot(x)^2+2//3*im*x^3+(1/2)*x*cos(x)*sin(x)+2*im*x*Polylogarithms.polylog(2,exp(2*im*x))+log(sin(x)))
@test integrate(x*cos(x)^2*cot(x)^3, x) == :(-3//4*x+-1//2*cot(x)+im*x^2+im*Polylogarithms.polylog(2,exp(2*im*x))+(1/2)*x*sin(x)^2+-2*x*log(1+-1*exp(2*im*x))+-1//2*x*cot(x)^2+1//4*cos(x)*sin(x))
@test integrate((c+d*x)^4*sec(a+b*x)*sin(a+b*x), x) == :(-1*b^-1*(c+d*x)^4*log(1+exp(2*im*(a+b*x)))+1//5*im*d^-1*(c+d*x)^5+3//2*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(2*im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*sec(a+b*x)*sin(a+b*x), x) == :(-1*b^-1*(c+d*x)^3*log(1+exp(2*im*(a+b*x)))+1//4*im*d^-1*(c+d*x)^4+-3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)*sin(a+b*x), x) == :(-1*b^-1*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+-1//2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+1//3*im*d^-1*(c+d*x)^3+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)*sec(a+b*x)*sin(a+b*x), x) == :((1/2)*im*d^-1*(c+d*x)^2+-1*b^-1*(c+d*x)*log(1+exp(2*im*(a+b*x)))+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*sin(a+b*x)^2*sec(a+b*x), x) == :(-1*b^-1*(c+d*x)^3*sin(a+b*x)+6*b^-4*d^3*cos(a+b*x)+-6*im*b^-4*d^3*Polylogarithms.polylog(4,-1*im*exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-3*d*b^-2*(c+d*x)^2*cos(a+b*x)+-2*im*b^-1*(c+d*x)^3*arctan(exp(im*(a+b*x)))+6*im*b^-4*d^3*Polylogarithms.polylog(4,im*exp(im*(a+b*x)))+6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+6*b^-3*d^2*(c+d*x)*sin(a+b*x)+-3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*sin(a+b*x)^2*sec(a+b*x), x) == :(-1*b^-1*(c+d*x)^2*sin(a+b*x)+-2*b^-3*d^2*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+2*b^-3*d^2*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+2*b^-3*d^2*sin(a+b*x)+-2*im*b^-1*(c+d*x)^2*arctan(exp(im*(a+b*x)))+-2*d*b^-2*(c+d*x)*cos(a+b*x)+-2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate(sin(a+b*x)^2*(c+d*x)*sec(a+b*x), x) == :(-1*d*b^-2*cos(a+b*x)+-1*b^-1*(c+d*x)*sin(a+b*x)+im*d*b^-2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-1*im*d*b^-2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+-2*im*b^-1*(c+d*x)*arctan(exp(im*(a+b*x))))
@test integrate((c+d*x)^3*sin(a+b*x)^3*sec(a+b*x), x) == :(1//4*b^-1*(c+d*x)^3+-1*b^-1*(c+d*x)^3*log(1+exp(2*im*(a+b*x)))+-3//8*x*b^-3*d^3+-1//2*b^-1*(c+d*x)^3*sin(a+b*x)^2+1//4*im*d^-1*(c+d*x)^4+-3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3//4*b^-3*d^2*sin(a+b*x)^2*(c+d*x)+3//8*b^-4*d^3*cos(a+b*x)*sin(a+b*x)+-3//4*d*b^-2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x)+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*sin(a+b*x)^3*sec(a+b*x), x) == :(-1*b^-1*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+-1//2*b^-1*(c+d*x)^2*sin(a+b*x)^2+-1//2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+1//3*im*d^-1*(c+d*x)^3+1//4*b^-1*d^2*x^2+1//4*b^-3*d^2*sin(a+b*x)^2+(1/2)*c*d*x*b^-1+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1//2*d*b^-2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate(sin(a+b*x)^3*(c+d*x)*sec(a+b*x), x) == :((1/2)*im*d^-1*(c+d*x)^2+-1*b^-1*(c+d*x)*log(1+exp(2*im*(a+b*x)))+-1//2*b^-1*sin(a+b*x)^2*(c+d*x)+1//4*d*x*b^-1+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1//4*d*b^-2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^4*csc(a+b*x)*sec(a+b*x), x) == :(-2*b^-1*(c+d*x)^4*arctanh(exp(2*im*(a+b*x)))+-3//2*b^-5*d^4*Polylogarithms.polylog(5,exp(2*im*(a+b*x)))+3//2*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(2*im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)*sec(a+b*x), x) == :(-2*b^-1*(c+d*x)^3*arctanh(exp(2*im*(a+b*x)))+-3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)*sec(a+b*x), x) == :((1/2)*b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-2*b^-1*(c+d*x)^2*arctanh(exp(2*im*(a+b*x)))+-1//2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)*csc(a+b*x)*sec(a+b*x), x) == :(-1*b^-1*(2c+2*d*x)*arctanh(exp(2*im*(a+b*x)))+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1//2*im*d*b^-2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^2*sec(a+b*x), x) == :(-1*b^-1*(c+d*x)^3*csc(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-6*im*b^-4*d^3*Polylogarithms.polylog(4,-1*im*exp(im*(a+b*x)))+-6*d*b^-2*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-2*im*b^-1*(c+d*x)^3*arctan(exp(im*(a+b*x)))+6*im*b^-4*d^3*Polylogarithms.polylog(4,im*exp(im*(a+b*x)))+6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^2*sec(a+b*x), x) == :(-1*b^-1*(c+d*x)^2*csc(a+b*x)+-2*b^-3*d^2*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+2*b^-3*d^2*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-4*d*b^-2*(c+d*x)*arctanh(exp(im*(a+b*x)))+-2*im*b^-1*(c+d*x)^2*arctan(exp(im*(a+b*x)))+-2*im*b^-3*d^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate(csc(a+b*x)^2*(c+d*x)*sec(a+b*x), x) == :(b^-1*(c+d*x)*arctanh(sin(a+b*x))+-1*d*b^-2*arctanh(cos(a+b*x))+-1*b^-1*(c+d*x)*csc(a+b*x)+im*d*b^-2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-1*im*d*b^-2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+-1*d*x*b^-1*arctanh(sin(a+b*x))+-2*im*d*x*b^-1*arctan(exp(im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^3*sec(a+b*x), x) == :(-1//2*b^-1*(c+d*x)^3+-2*b^-1*(c+d*x)^3*arctanh(exp(2*im*(a+b*x)))+-1//2*b^-1*(c+d*x)^3*cot(a+b*x)^2+3*b^-3*d^2*(c+d*x)*log(1+-1*exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2+-3//2*im*b^-4*d^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*cot(a+b*x)+-3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^3*sec(a+b*x), x) == :(b^-3*d^2*log(sin(a+b*x))+(1/2)*b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-2*b^-1*(c+d*x)^2*arctanh(exp(2*im*(a+b*x)))+-1//2*b^-1*d^2*x^2+-1//2*b^-1*(c+d*x)^2*cot(a+b*x)^2+-1//2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-1*c*d*x*b^-1+-1*d*b^-2*(c+d*x)*cot(a+b*x)+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate(csc(a+b*x)^3*(c+d*x)*sec(a+b*x), x) == :(b^-1*(c+d*x)*log(tan(a+b*x))+-1//2*d*x*b^-1+-1//2*d*b^-2*cot(a+b*x)+-1//2*b^-1*cot(a+b*x)^2*(c+d*x)+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1*d*x*b^-1*log(tan(a+b*x))+-2*d*x*b^-1*arctanh(exp(2*im*(a+b*x)))+-1//2*im*d*b^-2*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^4*sec(a+b*x)*tan(a+b*x), x) == :(b^-1*(c+d*x)^4*sec(a+b*x)+-24*im*b^-5*d^4*Polylogarithms.polylog(4,im*exp(im*(a+b*x)))+-24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+24*im*b^-5*d^4*Polylogarithms.polylog(4,-1*im*exp(im*(a+b*x)))+24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+8*im*d*b^-2*(c+d*x)^3*arctan(exp(im*(a+b*x)))+12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x))))
@test integrate((c+d*x)^3*sec(a+b*x)*tan(a+b*x), x) == :(b^-1*(c+d*x)^3*sec(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+6*im*d*b^-2*(c+d*x)^2*arctan(exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)*tan(a+b*x), x) == :(b^-1*(c+d*x)^2*sec(a+b*x)+-2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+2*im*b^-3*d^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+4*im*d*b^-2*(c+d*x)*arctan(exp(im*(a+b*x))))
@test integrate((c+d*x)*sec(a+b*x)*tan(a+b*x), x) == :(b^-1*(c+d*x)*sec(a+b*x)+-1*d*b^-2*arctanh(sin(a+b*x)))
@test integrate((c+d*x)^3*tan(a+b*x)^2, x) == :(-1//4*d^-1*(c+d*x)^4+b^-1*(c+d*x)^3*tan(a+b*x)+-1*im*b^-1*(c+d*x)^3+3//2*b^-4*d^3*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+3*d*b^-2*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+-3*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*tan(a+b*x)^2, x) == :(-1//3*d^-1*(c+d*x)^3+b^-1*(c+d*x)^2*tan(a+b*x)+-1*im*b^-1*(c+d*x)^2+-1*im*b^-3*d^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+2*d*b^-2*(c+d*x)*log(1+exp(2*im*(a+b*x))))
@test integrate(tan(a+b*x)^2*(c+d*x), x) == :(-1*c*x+-1//2*d*x^2+d*b^-2*log(cos(a+b*x))+b^-1*(c+d*x)*tan(a+b*x))
@test integrate((c+d*x)^3*tan(a+b*x)^2*sin(a+b*x), x) == :(b^-1*(c+d*x)^3*cos(a+b*x)+b^-1*(c+d*x)^3*sec(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+6*b^-4*d^3*sin(a+b*x)+-6*b^-3*d^2*(c+d*x)*cos(a+b*x)+-3*d*b^-2*(c+d*x)^2*sin(a+b*x)+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+6*im*d*b^-2*(c+d*x)^2*arctan(exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*tan(a+b*x)^2*sin(a+b*x), x) == :(b^-1*(c+d*x)^2*cos(a+b*x)+b^-1*(c+d*x)^2*sec(a+b*x)+-2*b^-3*d^2*cos(a+b*x)+-2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-2*d*b^-2*(c+d*x)*sin(a+b*x)+2*im*b^-3*d^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+4*im*d*b^-2*(c+d*x)*arctan(exp(im*(a+b*x))))
@test integrate(tan(a+b*x)^2*(c+d*x)*sin(a+b*x), x) == :(b^-1*(c+d*x)*cos(a+b*x)+b^-1*(c+d*x)*sec(a+b*x)+-1*d*b^-2*arctanh(sin(a+b*x))+-1*d*b^-2*sin(a+b*x))
@test integrate((c+d*x)^4*sec(a+b*x)^2*csc(a+b*x), x) == :(b^-1*(c+d*x)^4*sec(a+b*x)+-24*b^-5*d^4*Polylogarithms.polylog(5,exp(im*(a+b*x)))+-2*b^-1*(c+d*x)^4*arctanh(exp(im*(a+b*x)))+24*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(im*(a+b*x)))+-24*im*b^-5*d^4*Polylogarithms.polylog(4,im*exp(im*(a+b*x)))+-24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-12*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+12*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+24*im*b^-5*d^4*Polylogarithms.polylog(4,-1*im*exp(im*(a+b*x)))+24*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-24*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-4*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(im*(a+b*x)))+4*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+8*im*d*b^-2*(c+d*x)^3*arctan(exp(im*(a+b*x)))+12*im*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+24*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(im*(a+b*x))))
@test integrate((c+d*x)^3*sec(a+b*x)^2*csc(a+b*x), x) == :(b^-1*(c+d*x)^3*sec(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-2*b^-1*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-6*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+6*im*b^-4*d^3*Polylogarithms.polylog(4,exp(im*(a+b*x)))+6*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+6*im*d*b^-2*(c+d*x)^2*arctan(exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)^2*csc(a+b*x), x) == :(b^-1*(c+d*x)^2*sec(a+b*x)+-2*b^-1*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+2*b^-3*d^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+2*im*b^-3*d^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+4*im*d*b^-2*(c+d*x)*arctan(exp(im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^2*sec(a+b*x)^2, x) == :(-2*im*b^-1*(c+d*x)^3+-2*b^-1*(c+d*x)^3*cot(2a+2*b*x)+3//8*b^-4*d^3*Polylogarithms.polylog(3,exp(4*im*(a+b*x)))+3*d*b^-2*(c+d*x)^2*log(1+-1*exp(4*im*(a+b*x)))+-3//2*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,exp(4*im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^2*sec(a+b*x)^2, x) == :(-2*im*b^-1*(c+d*x)^2+-2*b^-1*(c+d*x)^2*cot(2a+2*b*x)+2*d*b^-2*(c+d*x)*log(1+-1*exp(4*im*(a+b*x)))+-1//2*im*b^-3*d^2*Polylogarithms.polylog(2,exp(4*im*(a+b*x))))
@test integrate(csc(a+b*x)^2*sec(a+b*x)^2*(c+d*x), x) == :(d*b^-2*log(sin(2a+2*b*x))+-1*b^-1*(2c+2*d*x)*cot(2a+2*b*x))
@test integrate((c+d*x)^3*csc(a+b*x)^3*sec(a+b*x)^2, x) == :(-6*b^-4*d^3*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-3*b^-1*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+3//2*b^-1*(c+d*x)^3*sec(a+b*x)+-9*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-9*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-6*x*b^-3*d^3*arctanh(exp(im*(a+b*x)))+-3*im*b^-4*d^3*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-3*c*b^-3*d^2*arctanh(cos(a+b*x))+-3*d*b^-2*c^2*arctanh(sin(a+b*x))+3*im*b^-4*d^3*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+9*im*b^-4*d^3*Polylogarithms.polylog(4,exp(im*(a+b*x)))+9*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-3//2*d*b^-2*c^2*csc(a+b*x)+-3//2*b^-2*d^3*x^2*csc(a+b*x)+-1//2*b^-1*(c+d*x)^3*csc(a+b*x)^2*sec(a+b*x)+-6*im*c*b^-3*d^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-6*im*x*b^-3*d^3*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-3*c*x*b^-2*d^2*csc(a+b*x)+6*im*c*b^-3*d^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+6*im*x*b^-3*d^3*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+6*im*b^-2*d^3*x^2*arctan(exp(im*(a+b*x)))+-9//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+9//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+12*im*c*x*b^-2*d^2*arctan(exp(im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^3*sec(a+b*x)^2, x) == :(-1*b^-3*d^2*arctanh(cos(a+b*x))+-3*b^-1*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-3*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+3*b^-3*d^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+3//2*b^-1*(c+d*x)^2*sec(a+b*x)+-1*c*d*b^-2*csc(a+b*x)+-1*x*b^-2*d^2*csc(a+b*x)+-2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+-2*c*d*b^-2*arctanh(sin(a+b*x))+2*im*b^-3*d^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+-1//2*b^-1*(c+d*x)^2*csc(a+b*x)^2*sec(a+b*x)+-3*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+3*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+4*im*x*b^-2*d^2*arctan(exp(im*(a+b*x))))
@test integrate(x^3*csc(a+b*x)^3*sec(a+b*x)^2, x) == :(-6*b^-4*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+6*b^-4*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-9*im*b^-4*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-9*x*b^-3*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-6*x*b^-3*arctanh(exp(im*(a+b*x)))+-3*im*b^-4*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-3*b^-1*x^3*arctanh(exp(im*(a+b*x)))+3*im*b^-4*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+9*im*b^-4*Polylogarithms.polylog(4,exp(im*(a+b*x)))+9*x*b^-3*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-3//2*b^-2*x^2*csc(a+b*x)+3//2*b^-1*x^3*sec(a+b*x)+-6*im*x*b^-3*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+6*im*x*b^-3*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+6*im*b^-2*x^2*arctan(exp(im*(a+b*x)))+-9//2*im*b^-2*x^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-1//2*b^-1*x^3*csc(a+b*x)^2*sec(a+b*x)+9//2*im*b^-2*x^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate(x^2*csc(a+b*x)^3*sec(a+b*x)^2, x) == :(-1*b^-3*arctanh(cos(a+b*x))+-3*b^-3*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+3*b^-3*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-1*x*b^-2*csc(a+b*x)+-3*b^-1*x^2*arctanh(exp(im*(a+b*x)))+-2*im*b^-3*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+2*im*b^-3*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+3//2*b^-1*x^2*sec(a+b*x)+-3*im*x*b^-2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+3*im*x*b^-2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+4*im*x*b^-2*arctan(exp(im*(a+b*x)))+-1//2*b^-1*x^2*csc(a+b*x)^2*sec(a+b*x))
@test integrate(x*csc(a+b*x)^3*sec(a+b*x)^2, x) == :(-1*b^-2*arctanh(sin(a+b*x))+-1//2*b^-2*csc(a+b*x)+-3*x*b^-1*arctanh(exp(im*(a+b*x)))+-3//2*im*b^-2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+3//2*im*b^-2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+3//2*x*b^-1*sec(a+b*x)+-1//2*x*b^-1*csc(a+b*x)^2*sec(a+b*x))
@test integrate((c+d*x)^4*sec(a+b*x)^2*tan(a+b*x), x) == :((1/2)*b^-1*(c+d*x)^4*sec(a+b*x)^2+-3*b^-5*d^4*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+-2*d*b^-2*(c+d*x)^3*tan(a+b*x)+2*im*d*b^-2*(c+d*x)^3+6*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*sec(a+b*x)^2*tan(a+b*x), x) == :((1/2)*b^-1*(c+d*x)^3*sec(a+b*x)^2+-3*b^-3*d^2*(c+d*x)*log(1+exp(2*im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*tan(a+b*x)+3//2*im*d*b^-2*(c+d*x)^2+3//2*im*b^-4*d^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)^2*tan(a+b*x), x) == :((1/2)*b^-1*(c+d*x)^2*sec(a+b*x)^2+-1*b^-3*d^2*log(cos(a+b*x))+-1*d*b^-2*(c+d*x)*tan(a+b*x))
@test integrate(sec(a+b*x)^2*(c+d*x)*tan(a+b*x), x) == :((1/2)*b^-1*sec(a+b*x)^2*(c+d*x)+-1//2*d*b^-2*tan(a+b*x))
@test integrate((c+d*x)^3*tan(a+b*x)^2*sec(a+b*x), x) == :(im*b^-1*(c+d*x)^3*arctan(exp(im*(a+b*x)))+(1/2)*b^-1*(c+d*x)^3*sec(a+b*x)*tan(a+b*x)+-3*im*b^-4*d^3*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+-3*im*b^-4*d^3*Polylogarithms.polylog(4,im*exp(im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+3*im*b^-4*d^3*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+3*im*b^-4*d^3*Polylogarithms.polylog(4,-1*im*exp(im*(a+b*x)))+3*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*sec(a+b*x)+-6*im*b^-3*d^2*(c+d*x)*arctan(exp(im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*tan(a+b*x)^2*sec(a+b*x), x) == :(b^-3*d^2*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+b^-3*d^2*arctanh(sin(a+b*x))+-1*b^-3*d^2*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+im*b^-1*(c+d*x)^2*arctan(exp(im*(a+b*x)))+(1/2)*b^-1*(c+d*x)^2*sec(a+b*x)*tan(a+b*x)+-1*d*b^-2*(c+d*x)*sec(a+b*x)+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate(tan(a+b*x)^2*(c+d*x)*sec(a+b*x), x) == :(-1//2*d*b^-2*sec(a+b*x)+im*b^-1*(c+d*x)*arctan(exp(im*(a+b*x)))+(1/2)*im*d*b^-2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+(1/2)*b^-1*(c+d*x)*sec(a+b*x)*tan(a+b*x)+-1//2*im*d*b^-2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate((c+d*x)^3*tan(a+b*x)^3, x) == :((1/2)*b^-1*(c+d*x)^3+b^-1*(c+d*x)^3*log(1+exp(2*im*(a+b*x)))+(1/2)*b^-1*(c+d*x)^3*tan(a+b*x)^2+-1//4*im*d^-1*(c+d*x)^4+-3*b^-3*d^2*(c+d*x)*log(1+exp(2*im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*tan(a+b*x)+3//2*im*d*b^-2*(c+d*x)^2+3//2*im*b^-4*d^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*tan(a+b*x)^3, x) == :(b^-1*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+(1/2)*b^-1*d^2*x^2+(1/2)*b^-1*(c+d*x)^2*tan(a+b*x)^2+(1/2)*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-1*b^-3*d^2*log(cos(a+b*x))+-1//3*im*d^-1*(c+d*x)^3+c*d*x*b^-1+-1*d*b^-2*(c+d*x)*tan(a+b*x)+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate(tan(a+b*x)^3*(c+d*x), x) == :(b^-1*(c+d*x)*log(1+exp(2*im*(a+b*x)))+(1/2)*d*x*b^-1+(1/2)*b^-1*tan(a+b*x)^2*(c+d*x)+-1//2*im*d^-1*(c+d*x)^2+-1//2*d*b^-2*tan(a+b*x)+-1//2*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^4*sec(a+b*x)^3*csc(a+b*x), x) == :((1/2)*b^-1*(c+d*x)^4+(1/2)*b^-1*(c+d*x)^4*tan(a+b*x)^2+-3*b^-5*d^4*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-2*b^-1*(c+d*x)^4*arctanh(exp(2*im*(a+b*x)))+-3//2*b^-5*d^4*Polylogarithms.polylog(5,exp(2*im*(a+b*x)))+3//2*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(2*im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-2*d*b^-2*(c+d*x)^3*tan(a+b*x)+2*im*d*b^-2*(c+d*x)^3+3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+-2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+6*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*sec(a+b*x)^3*csc(a+b*x), x) == :((1/2)*b^-1*(c+d*x)^3+(1/2)*b^-1*(c+d*x)^3*tan(a+b*x)^2+-2*b^-1*(c+d*x)^3*arctanh(exp(2*im*(a+b*x)))+-3*b^-3*d^2*(c+d*x)*log(1+exp(2*im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*tan(a+b*x)+-3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2+3//2*im*b^-4*d^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)^3*csc(a+b*x), x) == :((1/2)*b^-1*d^2*x^2+(1/2)*b^-1*(c+d*x)^2*tan(a+b*x)^2+(1/2)*b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-1*b^-3*d^2*log(cos(a+b*x))+-2*b^-1*(c+d*x)^2*arctanh(exp(2*im*(a+b*x)))+-1//2*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+c*d*x*b^-1+-1*d*b^-2*(c+d*x)*tan(a+b*x)+im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^2*sec(a+b*x)^3, x) == :(-6*b^-4*d^3*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+6*b^-4*d^3*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-3//2*b^-1*(c+d*x)^3*csc(a+b*x)+(1/2)*b^-1*(c+d*x)^3*sec(a+b*x)^2*csc(a+b*x)+-9*im*b^-4*d^3*Polylogarithms.polylog(4,-1*im*exp(im*(a+b*x)))+-9*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-6*d*b^-2*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-3*im*b^-1*(c+d*x)^3*arctan(exp(im*(a+b*x)))+-3*im*b^-4*d^3*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+3*im*b^-4*d^3*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+9*im*b^-4*d^3*Polylogarithms.polylog(4,im*exp(im*(a+b*x)))+9*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-3//2*d*b^-2*(c+d*x)^2*sec(a+b*x)+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)*arctan(exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+-9//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+9//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^2*sec(a+b*x)^3, x) == :(b^-3*d^2*arctanh(sin(a+b*x))+-3*b^-3*d^2*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+3*b^-3*d^2*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+-3//2*b^-1*(c+d*x)^2*csc(a+b*x)+d*b^-2*(c+d*x)*arctanh(cos(a+b*x))+(1/2)*b^-1*(c+d*x)^2*sec(a+b*x)^2*csc(a+b*x)+-1*d*b^-2*(c+d*x)*sec(a+b*x)+-1*x*b^-2*d^2*arctanh(cos(a+b*x))+-6*d*b^-2*(c+d*x)*arctanh(exp(im*(a+b*x)))+-3*im*b^-1*(c+d*x)^2*arctan(exp(im*(a+b*x)))+-2*im*b^-3*d^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x)))+2*x*b^-2*d^2*arctanh(exp(im*(a+b*x)))+-3*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+3*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate((c+d*x)^3*csc(a+b*x)^3*sec(a+b*x)^3, x) == :(-4*b^-1*(c+d*x)^3*arctanh(exp(2*im*(a+b*x)))+-6*b^-3*d^2*(c+d*x)*arctanh(exp(2*im*(a+b*x)))+-3*d*b^-2*(c+d*x)^2*csc(2a+2*b*x)+-3*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-2*b^-1*(c+d*x)^3*cot(2a+2*b*x)*csc(2a+2*b*x)+3*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-3//2*im*b^-4*d^3*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-3//2*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3//2*im*b^-4*d^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+3//2*im*b^-4*d^3*Polylogarithms.polylog(4,exp(2*im*(a+b*x)))+-3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+3*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^3*sec(a+b*x)^3, x) == :(b^-3*d^2*Polylogarithms.polylog(3,exp(2*im*(a+b*x)))+-1*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-1*b^-3*d^2*arctanh(cos(2a+2*b*x))+-4*b^-1*(c+d*x)^2*arctanh(exp(2*im*(a+b*x)))+-2*d*b^-2*(c+d*x)*csc(2a+2*b*x)+-2*b^-1*(c+d*x)^2*cot(2a+2*b*x)*csc(2a+2*b*x)+-2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+2*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate(csc(a+b*x)^3*sec(a+b*x)^3*(c+d*x), x) == :(-1*d*b^-2*csc(2a+2*b*x)+-1*b^-1*(4c+4*d*x)*arctanh(exp(2*im*(a+b*x)))+im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+-1*im*d*b^-2*Polylogarithms.polylog(2,exp(2*im*(a+b*x)))+-1*b^-1*(2c+2*d*x)*cot(2a+2*b*x)*csc(2a+2*b*x))
@test integrate(x*cos(a+b*x)^5//2*sin(a+b*x), x) == :(20//147*b^-2*Elliptic.F((1/2)*a+(1/2)*b*x,2)+-2//7*x*b^-1*cos(a+b*x)^7//2+4//49*b^-2*cos(a+b*x)^5//2*sin(a+b*x)+20//147*b^-2*cos(a+b*x)^(1/2)*sin(a+b*x))
@test integrate(x*cos(a+b*x)^3//2*sin(a+b*x), x) == :(12//25*b^-2*Elliptic.E((1/2)*a+(1/2)*b*x,2)+-2//5*x*b^-1*cos(a+b*x)^5//2+4//25*b^-2*cos(a+b*x)^3//2*sin(a+b*x))
@test integrate(x*cos(a+b*x)^(1/2)*sin(a+b*x), x) == :(4//9*b^-2*Elliptic.F((1/2)*a+(1/2)*b*x,2)+-2//3*x*b^-1*cos(a+b*x)^3//2+4//9*b^-2*cos(a+b*x)^(1/2)*sin(a+b*x))
@test integrate(x*cos(a+b*x)^-1//2*sin(a+b*x), x) == :(4*b^-2*Elliptic.E((1/2)*a+(1/2)*b*x,2)+-2*x*b^-1*cos(a+b*x)^(1/2))
@test integrate(x*cos(a+b*x)^-3//2*sin(a+b*x), x) == :(-4*b^-2*Elliptic.F((1/2)*a+(1/2)*b*x,2)+2*x*b^-1*cos(a+b*x)^-1//2)
@test integrate(x*cos(a+b*x)^-5//2*sin(a+b*x), x) == :(4//3*b^-2*Elliptic.E((1/2)*a+(1/2)*b*x,2)+-4//3*b^-2*cos(a+b*x)^-1//2*sin(a+b*x)+2//3*x*b^-1*cos(a+b*x)^-3//2)
@test integrate(x*cos(a+b*x)^-7//2*sin(a+b*x), x) == :(-4//15*b^-2*Elliptic.F((1/2)*a+(1/2)*b*x,2)+-4//15*b^-2*cos(a+b*x)^-3//2*sin(a+b*x)+2//5*x*b^-1*cos(a+b*x)^-5//2)
@test integrate(x*cos(a+b*x)^-9//2*sin(a+b*x), x) == :(12//35*b^-2*Elliptic.E((1/2)*a+(1/2)*b*x,2)+-12//35*b^-2*cos(a+b*x)^-1//2*sin(a+b*x)+-4//35*b^-2*cos(a+b*x)^-5//2*sin(a+b*x)+2//7*x*b^-1*cos(a+b*x)^-7//2)
@test integrate(x*sec(a+b*x)^9//2*sin(a+b*x), x) == :(-12//35*b^-2*sec(a+b*x)^(1/2)*sin(a+b*x)+-4//35*b^-2*sec(a+b*x)^5//2*sin(a+b*x)+2//7*x*b^-1*sec(a+b*x)^7//2+12//35*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.E((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^7//2*sin(a+b*x), x) == :(-4//15*b^-2*sec(a+b*x)^3//2*sin(a+b*x)+2//5*x*b^-1*sec(a+b*x)^5//2+-4//15*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.F((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^5//2*sin(a+b*x), x) == :(-4//3*b^-2*sec(a+b*x)^(1/2)*sin(a+b*x)+2//3*x*b^-1*sec(a+b*x)^3//2+4//3*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.E((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^3//2*sin(a+b*x), x) == :(2*x*b^-1*sec(a+b*x)^(1/2)+-4*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.F((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^(1/2)*sin(a+b*x), x) == :(-2*x*b^-1*sec(a+b*x)^-1//2+4*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.E((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^-1//2*sin(a+b*x), x) == :(-2//3*x*b^-1*sec(a+b*x)^-3//2+4//9*b^-2*sec(a+b*x)^-1//2*sin(a+b*x)+4//9*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.F((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^-3//2*sin(a+b*x), x) == :(-2//5*x*b^-1*sec(a+b*x)^-5//2+4//25*b^-2*sec(a+b*x)^-3//2*sin(a+b*x)+12//25*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.E((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sec(a+b*x)^-5//2*sin(a+b*x), x) == :(-2//7*x*b^-1*sec(a+b*x)^-7//2+4//49*b^-2*sec(a+b*x)^-5//2*sin(a+b*x)+20//147*b^-2*sec(a+b*x)^-1//2*sin(a+b*x)+20//147*b^-2*cos(a+b*x)^(1/2)*sec(a+b*x)^(1/2)*Elliptic.F((1/2)*a+(1/2)*b*x,2))
@test integrate(x*sin(a+b*x)^5//2*cos(a+b*x), x) == :(-20//147*b^-2*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2)+2//7*x*b^-1*sin(a+b*x)^7//2+4//49*b^-2*sin(a+b*x)^5//2*cos(a+b*x)+20//147*b^-2*sin(a+b*x)^(1/2)*cos(a+b*x))
@test integrate(x*sin(a+b*x)^3//2*cos(a+b*x), x) == :(-12//25*b^-2*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2)+2//5*x*b^-1*sin(a+b*x)^5//2+4//25*b^-2*sin(a+b*x)^3//2*cos(a+b*x))
@test integrate(x*sin(a+b*x)^(1/2)*cos(a+b*x), x) == :(-4//9*b^-2*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2)+2//3*x*b^-1*sin(a+b*x)^3//2+4//9*b^-2*sin(a+b*x)^(1/2)*cos(a+b*x))
@test integrate(x*sin(a+b*x)^-1//2*cos(a+b*x), x) == :(-4*b^-2*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2)+2*x*b^-1*sin(a+b*x)^(1/2))
@test integrate(x*sin(a+b*x)^-3//2*cos(a+b*x), x) == :(4*b^-2*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2)+-2*x*b^-1*sin(a+b*x)^-1//2)
@test integrate(x*sin(a+b*x)^-5//2*cos(a+b*x), x) == :(-4//3*b^-2*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2)+-4//3*b^-2*sin(a+b*x)^-1//2*cos(a+b*x)+-2//3*x*b^-1*sin(a+b*x)^-3//2)
@test integrate(x*sin(a+b*x)^-7//2*cos(a+b*x), x) == :(4//15*b^-2*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2)+-4//15*b^-2*sin(a+b*x)^-3//2*cos(a+b*x)+-2//5*x*b^-1*sin(a+b*x)^-5//2)
@test integrate(x*sin(a+b*x)^-9//2*cos(a+b*x), x) == :(-12//35*b^-2*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2)+-12//35*b^-2*sin(a+b*x)^-1//2*cos(a+b*x)+-4//35*b^-2*sin(a+b*x)^-5//2*cos(a+b*x)+-2//7*x*b^-1*sin(a+b*x)^-7//2)
@test integrate(x*csc(a+b*x)^9//2*cos(a+b*x), x) == :(-12//35*b^-2*csc(a+b*x)^(1/2)*cos(a+b*x)+-4//35*b^-2*csc(a+b*x)^5//2*cos(a+b*x)+-2//7*x*b^-1*csc(a+b*x)^7//2+-12//35*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^7//2*cos(a+b*x), x) == :(-4//15*b^-2*csc(a+b*x)^3//2*cos(a+b*x)+-2//5*x*b^-1*csc(a+b*x)^5//2+4//15*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^5//2*cos(a+b*x), x) == :(-4//3*b^-2*csc(a+b*x)^(1/2)*cos(a+b*x)+-2//3*x*b^-1*csc(a+b*x)^3//2+-4//3*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^3//2*cos(a+b*x), x) == :(-2*x*b^-1*csc(a+b*x)^(1/2)+4*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^(1/2)*cos(a+b*x), x) == :(2*x*b^-1*csc(a+b*x)^-1//2+-4*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^-1//2*cos(a+b*x), x) == :(2//3*x*b^-1*csc(a+b*x)^-3//2+4//9*b^-2*csc(a+b*x)^-1//2*cos(a+b*x)+-4//9*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^-3//2*cos(a+b*x), x) == :(2//5*x*b^-1*csc(a+b*x)^-5//2+4//25*b^-2*csc(a+b*x)^-3//2*cos(a+b*x)+-12//25*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.E((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(a+b*x)^-5//2*cos(a+b*x), x) == :(2//7*x*b^-1*csc(a+b*x)^-7//2+4//49*b^-2*csc(a+b*x)^-5//2*cos(a+b*x)+20//147*b^-2*csc(a+b*x)^-1//2*cos(a+b*x)+-20//147*b^-2*csc(a+b*x)^(1/2)*sin(a+b*x)^(1/2)*Elliptic.F((1/2)*a+-1//4*pi+(1/2)*b*x,2))
@test integrate(x*csc(x)*sin(3x), x) == :((1/2)*x^2+-1//4*sin(x)^2+3//4*cos(x)^2+2*x*cos(x)*sin(x))
@test integrate((c+d*x)^4*csc(x)*sin(3x), x) == :(-1*d*(c+d*x)^3+1//5*d^-1*(c+d*x)^5+3//2*x*d^4+-1*d*(c+d*x)^3*sin(x)^2+2*(c+d*x)^4*cos(x)*sin(x)+3*d*(c+d*x)^3*cos(x)^2+3*d^4*cos(x)*sin(x)+-9//2*d^3*cos(x)^2*(c+d*x)+3//2*d^3*sin(x)^2*(c+d*x)+-6*d^2*(c+d*x)^2*cos(x)*sin(x))
@test integrate((c+d*x)^3*csc(x)*sin(3x), x) == :(-9//8*d^3*cos(x)^2+-3//4*d^3*x^2+1//4*d^-1*(c+d*x)^4+3//8*d^3*sin(x)^2+2*(c+d*x)^3*cos(x)*sin(x)+-3//2*c*x*d^2+-3//4*d*(c+d*x)^2*sin(x)^2+9//4*d*(c+d*x)^2*cos(x)^2+-3*d^2*(c+d*x)*cos(x)*sin(x))
@test integrate((c+d*x)^2*csc(x)*sin(3x), x) == :(-1//2*x*d^2+1//3*d^-1*(c+d*x)^3+-1*d^2*cos(x)*sin(x)+2*(c+d*x)^2*cos(x)*sin(x)+-1//2*d*sin(x)^2*(c+d*x)+3//2*d*cos(x)^2*(c+d*x))
@test integrate((c+d*x)*csc(x)*sin(3x), x) == :(c*x+(1/2)*d*x^2+-1//4*d*sin(x)^2+3//4*d*cos(x)^2+(2c+2*d*x)*cos(x)*sin(x))
@test integrate((c+d*x)^-1*csc(x)*sin(3x), x) == :(d^-1*log(c+d*x)+2*d^-1*cos(2*c*d^-1)*cosintegral(2x+2*c*d^-1)+2*d^-1*sin(2*c*d^-1)*sinintegral(2x+2*c*d^-1))
@test integrate((c+d*x)^-2*csc(x)*sin(3x), x) == :(d^-1*(c+d*x)^-1*sin(x)^2+-4*d^-2*cos(2*c*d^-1)*sinintegral(2x+2*c*d^-1)+-3*d^-1*(c+d*x)^-1*cos(x)^2+4*d^-2*cosintegral(2x+2*c*d^-1)*sin(2*c*d^-1))
@test integrate((c+d*x)^-3*csc(x)*sin(3x), x) == :((1/2)*d^-1*(c+d*x)^-2*sin(x)^2+-4*d^-3*cos(2*c*d^-1)*cosintegral(2x+2*c*d^-1)+-4*d^-3*sin(2*c*d^-1)*sinintegral(2x+2*c*d^-1)+-3//2*d^-1*(c+d*x)^-2*cos(x)^2+4*d^-2*(c+d*x)^-1*cos(x)*sin(x))
@test integrate((c+d*x)^4*csc(a+b*x)*sin(3a+3*b*x), x) == :(1//5*d^-1*(c+d*x)^5+-1*d*b^-2*(c+d*x)^3+3//2*x*b^-4*d^4+-1*d*b^-2*(c+d*x)^3*sin(a+b*x)^2+2*b^-1*(c+d*x)^4*cos(a+b*x)*sin(a+b*x)+3*d*b^-2*(c+d*x)^3*cos(a+b*x)^2+3*b^-5*d^4*cos(a+b*x)*sin(a+b*x)+-9//2*b^-4*d^3*cos(a+b*x)^2*(c+d*x)+3//2*b^-4*d^3*sin(a+b*x)^2*(c+d*x)+-6*b^-3*d^2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*csc(a+b*x)*sin(3a+3*b*x), x) == :(1//4*d^-1*(c+d*x)^4+-9//8*b^-4*d^3*cos(a+b*x)^2+-3//4*b^-2*d^3*x^2+3//8*b^-4*d^3*sin(a+b*x)^2+2*b^-1*(c+d*x)^3*cos(a+b*x)*sin(a+b*x)+-3//2*c*x*b^-2*d^2+-3//4*d*b^-2*(c+d*x)^2*sin(a+b*x)^2+9//4*d*b^-2*(c+d*x)^2*cos(a+b*x)^2+-3*b^-3*d^2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^2*csc(a+b*x)*sin(3a+3*b*x), x) == :(1//3*d^-1*(c+d*x)^3+-1//2*x*b^-2*d^2+-1*b^-3*d^2*cos(a+b*x)*sin(a+b*x)+2*b^-1*(c+d*x)^2*cos(a+b*x)*sin(a+b*x)+-1//2*d*b^-2*sin(a+b*x)^2*(c+d*x)+3//2*d*b^-2*cos(a+b*x)^2*(c+d*x))
@test integrate((c+d*x)*csc(a+b*x)*sin(3a+3*b*x), x) == :(c*x+(1/2)*d*x^2+-1//4*d*b^-2*sin(a+b*x)^2+3//4*d*b^-2*cos(a+b*x)^2+b^-1*(2c+2*d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^-1*csc(a+b*x)*sin(3a+3*b*x), x) == :(d^-1*log(c+d*x)+-2*d^-1*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+2*d^-1*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1))
@test integrate((c+d*x)^-2*csc(a+b*x)*sin(3a+3*b*x), x) == :(d^-1*(c+d*x)^-1*sin(a+b*x)^2+-3*d^-1*(c+d*x)^-1*cos(a+b*x)^2+-4*b*d^-2*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+-4*b*d^-2*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1))
@test integrate((c+d*x)^-3*csc(a+b*x)*sin(3a+3*b*x), x) == :((1/2)*d^-1*(c+d*x)^-2*sin(a+b*x)^2+-3//2*d^-1*(c+d*x)^-2*cos(a+b*x)^2+-4*b^2*d^-3*cos(2a+-2*b*c*d^-1)*cosintegral(2*b*x+2*b*c*d^-1)+4*b^2*d^-3*sin(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+4*b*d^-2*(c+d*x)^-1*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^-4*csc(a+b*x)*sin(3a+3*b*x), x) == :(-1*d^-1*(c+d*x)^-3*cos(a+b*x)^2+-2//3*b^2*d^-3*(c+d*x)^-1+1//3*d^-1*(c+d*x)^-3*sin(a+b*x)^2+2*b^2*d^-3*(c+d*x)^-1*cos(a+b*x)^2+-2//3*b^2*d^-3*(c+d*x)^-1*sin(a+b*x)^2+8//3*b^3*d^-4*cos(2a+-2*b*c*d^-1)*sinintegral(2*b*x+2*b*c*d^-1)+8//3*b^3*d^-4*cosintegral(2*b*x+2*b*c*d^-1)*sin(2a+-2*b*c*d^-1)+4//3*b*d^-2*(c+d*x)^-2*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*csc(a+b*x)^2*sin(3a+3*b*x), x) == :(-6*b^-1*(c+d*x)^3*arctanh(exp(im*(a+b*x)))+4*b^-1*(c+d*x)^3*cos(a+b*x)+24*b^-4*d^3*sin(a+b*x)+-24*b^-3*d^2*(c+d*x)*cos(a+b*x)+-18*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(im*(a+b*x)))+-18*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+-12*d*b^-2*(c+d*x)^2*sin(a+b*x)+18*im*b^-4*d^3*Polylogarithms.polylog(4,exp(im*(a+b*x)))+18*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-9*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+9*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*csc(a+b*x)^2*sin(3a+3*b*x), x) == :(-8*b^-3*d^2*cos(a+b*x)+-6*b^-1*(c+d*x)^2*arctanh(exp(im*(a+b*x)))+-6*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(im*(a+b*x)))+4*b^-1*(c+d*x)^2*cos(a+b*x)+6*b^-3*d^2*Polylogarithms.polylog(3,exp(im*(a+b*x)))+-8*d*b^-2*(c+d*x)*sin(a+b*x)+-6*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,exp(im*(a+b*x)))+6*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate(csc(a+b*x)^2*(c+d*x)*sin(3a+3*b*x), x) == :(b^-1*(4c+4*d*x)*cos(a+b*x)+-1*b^-1*(6c+6*d*x)*arctanh(exp(im*(a+b*x)))+-4*d*b^-2*sin(a+b*x)+-3*im*d*b^-2*Polylogarithms.polylog(2,exp(im*(a+b*x)))+3*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(im*(a+b*x))))
@test integrate((c+d*x)^4*sec(a+b*x)*sin(3a+3*b*x), x) == :(-1*b^-1*(c+d*x)^4+b^-1*(c+d*x)^4*log(1+exp(2*im*(a+b*x)))+2*b^-1*(c+d*x)^4*sin(a+b*x)^2+3*b^-5*d^4*sin(a+b*x)^2+3*b^-3*d^4*x^2+-3//2*b^-5*d^4*Polylogarithms.polylog(5,-1*exp(2*im*(a+b*x)))+-1//5*im*d^-1*(c+d*x)^5+-6*b^-3*d^2*(c+d*x)^2*sin(a+b*x)^2+3*b^-3*d^2*(c+d*x)^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+6*c*x*b^-3*d^3+-6*b^-4*d^3*(c+d*x)*cos(a+b*x)*sin(a+b*x)+-2*im*d*b^-2*(c+d*x)^3*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+3*im*b^-4*d^3*(c+d*x)*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+4*d*b^-2*(c+d*x)^3*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)^3*sec(a+b*x)*sin(3a+3*b*x), x) == :(-1*b^-1*(c+d*x)^3+b^-1*(c+d*x)^3*log(1+exp(2*im*(a+b*x)))+2*b^-1*(c+d*x)^3*sin(a+b*x)^2+-1//4*im*d^-1*(c+d*x)^4+3//2*x*b^-3*d^3+-3*b^-3*d^2*sin(a+b*x)^2*(c+d*x)+-3//2*b^-4*d^3*cos(a+b*x)*sin(a+b*x)+3//2*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+3//4*im*b^-4*d^3*Polylogarithms.polylog(4,-1*exp(2*im*(a+b*x)))+3*d*b^-2*(c+d*x)^2*cos(a+b*x)*sin(a+b*x)+-3//2*im*d*b^-2*(c+d*x)^2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)*sin(3a+3*b*x), x) == :(b^-1*(c+d*x)^2*log(1+exp(2*im*(a+b*x)))+(1/2)*b^-3*d^2*Polylogarithms.polylog(3,-1*exp(2*im*(a+b*x)))+-1*b^-1*d^2*x^2+-1*b^-3*d^2*sin(a+b*x)^2+2*b^-1*(c+d*x)^2*sin(a+b*x)^2+-1//3*im*d^-1*(c+d*x)^3+-2*c*d*x*b^-1+-1*im*d*b^-2*(c+d*x)*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x)))+2*d*b^-2*(c+d*x)*cos(a+b*x)*sin(a+b*x))
@test integrate((c+d*x)*sec(a+b*x)*sin(3a+3*b*x), x) == :(b^-1*sin(a+b*x)^2*(2c+2*d*x)+b^-1*(c+d*x)*log(1+exp(2*im*(a+b*x)))+-1*d*x*b^-1+-1//2*im*d^-1*(c+d*x)^2+d*b^-2*cos(a+b*x)*sin(a+b*x)+-1//2*im*d*b^-2*Polylogarithms.polylog(2,-1*exp(2*im*(a+b*x))))
@test integrate((c+d*x)^3*sec(a+b*x)^2*sin(3a+3*b*x), x) == :(-1*b^-1*(c+d*x)^3*sec(a+b*x)+-24*b^-4*d^3*sin(a+b*x)+-6*b^-4*d^3*Polylogarithms.polylog(3,-1*im*exp(im*(a+b*x)))+-4*b^-1*(c+d*x)^3*cos(a+b*x)+6*b^-4*d^3*Polylogarithms.polylog(3,im*exp(im*(a+b*x)))+12*d*b^-2*(c+d*x)^2*sin(a+b*x)+24*b^-3*d^2*(c+d*x)*cos(a+b*x)+-6*im*d*b^-2*(c+d*x)^2*arctan(exp(im*(a+b*x)))+-6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+6*im*b^-3*d^2*(c+d*x)*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x))))
@test integrate((c+d*x)^2*sec(a+b*x)^2*sin(3a+3*b*x), x) == :(-1*b^-1*(c+d*x)^2*sec(a+b*x)+-4*b^-1*(c+d*x)^2*cos(a+b*x)+8*b^-3*d^2*cos(a+b*x)+-2*im*b^-3*d^2*Polylogarithms.polylog(2,im*exp(im*(a+b*x)))+2*im*b^-3*d^2*Polylogarithms.polylog(2,-1*im*exp(im*(a+b*x)))+8*d*b^-2*(c+d*x)*sin(a+b*x)+-4*im*d*b^-2*(c+d*x)*arctan(exp(im*(a+b*x))))
@test integrate(sec(a+b*x)^2*(c+d*x)*sin(3a+3*b*x), x) == :(d*b^-2*arctanh(sin(a+b*x))+-1*b^-1*(c+d*x)*sec(a+b*x)+-1*b^-1*(4c+4*d*x)*cos(a+b*x)+4*d*b^-2*sin(a+b*x))
@test integrate(x*cos(2x)*sec(x), x) == :(2*cos(x)+im*Polylogarithms.polylog(2,im*exp(im*x))+-1*im*Polylogarithms.polylog(2,-1*im*exp(im*x))+2*x*sin(x)+2*im*x*arctan(exp(im*x)))
@test integrate(x*sec(x)^2*cos(2x), x) == :(x^2+-1*log(cos(x))+-1*x*tan(x))
@test integrate(x*sec(x)^3*cos(2x), x) == :((1/2)*sec(x)+-3//2*im*Polylogarithms.polylog(2,im*exp(im*x))+3//2*im*Polylogarithms.polylog(2,-1*im*exp(im*x))+-3*im*x*arctan(exp(im*x))+-1//2*x*sec(x)*tan(x))

max_stars_repo_path: test/4 Trig functions/4.7 Miscellaneous/4.7.3 (c+d x)^m trig^n trig^p.jl