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

@test integrate(x^2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x^7*(1//7*A*c+1//7*B*b)+1//5*A*b*x^5+1//9*B*c*x^9)
@test integrate(x*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x^6*(1//6*A*c+1//6*B*b)+1//4*A*b*x^4+1//8*B*c*x^8)
@test integrate((A+B*x^2)*(b*x^2+c*x^4), x) == :(x^5*(1//5*A*c+1//5*B*b)+1//3*A*b*x^3+1//7*B*c*x^7)
@test integrate(x^-1*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x^4*(1//4*A*c+1//4*B*b)+(1/2)*A*b*x^2+1//6*B*c*x^6)
@test integrate(x^-2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x^3*(1//3*A*c+1//3*B*b)+A*b*x+1//5*B*c*x^5)
@test integrate(x^-3*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x^2*((1/2)*A*c+(1/2)*B*b)+A*b*log(x)+1//4*B*c*x^4)
@test integrate(x^-4*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x*(A*c+B*b)+-1*A*b*x^-1+1//3*B*c*x^3)
@test integrate(x^-5*(A+B*x^2)*(b*x^2+c*x^4), x) == :((A*c+B*b)*log(x)+(1/2)*B*c*x^2+-1//2*A*b*x^-2)
@test integrate(x^-6*(A+B*x^2)*(b*x^2+c*x^4), x) == :(-1*x^-1*(A*c+B*b)+B*c*x+-1//3*A*b*x^-3)
@test integrate(x^-7*(A+B*x^2)*(b*x^2+c*x^4), x) == :(-1//2*x^-2*(A*c+B*b)+B*c*log(x)+-1//4*A*b*x^-4)
@test integrate(x^-8*(A+B*x^2)*(b*x^2+c*x^4), x) == :(-1//3*x^-3*(A*c+B*b)+-1*B*c*x^-1+-1//5*A*b*x^-5)
@test integrate((b*x^2+c*x^4)^2*(A+B*x^2), x) == :(1//5*A*b^2*x^5+1//7*b*x^7*(B*b+2*A*c)+1//9*c*x^9*(A*c+2*B*b)+1//11*B*c^2*x^11)
@test integrate(x^-1*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(1//4*A*b^2*x^4+1//6*b*x^6*(B*b+2*A*c)+1//8*c*x^8*(A*c+2*B*b)+1//10*B*c^2*x^10)
@test integrate(x^-2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(1//3*A*b^2*x^3+1//5*b*x^5*(B*b+2*A*c)+1//7*c*x^7*(A*c+2*B*b)+1//9*B*c^2*x^9)
@test integrate(x^-3*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(-1//6*c^-2*(b+c*x^2)^3*(B*b+-1*A*c)+1//8*B*c^-2*(b+c*x^2)^4)
@test integrate(x^-4*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(A*x*b^2+1//3*b*x^3*(B*b+2*A*c)+1//5*c*x^5*(A*c+2*B*b)+1//7*B*c^2*x^7)
@test integrate(x^-5*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(A*b^2*log(x)+1//4*A*c^2*x^4+1//6*B*c^-1*(b+c*x^2)^3+A*b*c*x^2)
@test integrate(x^-6*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(b*x*(B*b+2*A*c)+-1*A*b^2*x^-1+1//3*c*x^3*(A*c+2*B*b)+1//5*B*c^2*x^5)
@test integrate(x^-7*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(b*(B*b+2*A*c)*log(x)+(1/2)*c*x^2*(A*c+2*B*b)+-1//2*A*b^2*x^-2+1//4*B*c^2*x^4)
@test integrate(x^-8*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(c*x*(A*c+2*B*b)+-1*b*x^-1*(B*b+2*A*c)+-1//3*A*b^2*x^-3+1//3*B*c^2*x^3)
@test integrate(x^-9*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(c*(A*c+2*B*b)*log(x)+(1/2)*B*c^2*x^2+-1//2*b*x^-2*(B*b+2*A*c)+-1//4*A*b^2*x^-4)
@test integrate(x^-10*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(B*x*c^2+-1*c*x^-1*(A*c+2*B*b)+-1//3*b*x^-3*(B*b+2*A*c)+-1//5*A*b^2*x^-5)
@test integrate(x^-11*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(B*c^2*log(x)+-1//2*c*x^-2*(A*c+2*B*b)+-1//4*b*x^-4*(B*b+2*A*c)+-1//6*A*b^2*x^-6)
@test integrate(x^-12*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(-1*B*c^2*x^-1+-1//3*c*x^-3*(A*c+2*B*b)+-1//5*b*x^-5*(B*b+2*A*c)+-1//7*A*b^2*x^-7)
@test integrate(x^-2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(1//5*A*b^3*x^5+1//7*b^2*x^7*(B*b+3*A*c)+1//11*c^2*x^11*(A*c+3*B*b)+1//13*B*c^3*x^13+1//3*b*c*x^9*(A*c+B*b))
@test integrate(x^-3*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(-1//10*c^-3*(b+c*x^2)^5*(-1*A*c+2*B*b)+1//12*B*c^-3*(b+c*x^2)^6+1//8*b*c^-3*(b+c*x^2)^4*(B*b+-1*A*c))
@test integrate(x^-4*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(1//3*A*b^3*x^3+1//5*b^2*x^5*(B*b+3*A*c)+1//9*c^2*x^9*(A*c+3*B*b)+1//11*B*c^3*x^11+3//7*b*c*x^7*(A*c+B*b))
@test integrate(x^-5*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(-1//8*c^-2*(b+c*x^2)^4*(B*b+-1*A*c)+1//10*B*c^-2*(b+c*x^2)^5)
@test integrate(x^-6*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(A*x*b^3+1//3*b^2*x^3*(B*b+3*A*c)+1//7*c^2*x^7*(A*c+3*B*b)+1//9*B*c^3*x^9+3//5*b*c*x^5*(A*c+B*b))
@test integrate(x^-7*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(A*b^3*log(x)+1//6*A*c^3*x^6+1//8*B*c^-1*(b+c*x^2)^4+3//2*A*c*b^2*x^2+3//4*A*b*c^2*x^4)
@test integrate(x^-8*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(x*b^2*(B*b+3*A*c)+-1*A*b^3*x^-1+1//5*c^2*x^5*(A*c+3*B*b)+1//7*B*c^3*x^7+b*c*x^3*(A*c+B*b))
@test integrate(x^-9*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(b^2*(B*b+3*A*c)*log(x)+-1//2*A*b^3*x^-2+1//4*c^2*x^4*(A*c+3*B*b)+1//6*B*c^3*x^6+3//2*b*c*x^2*(A*c+B*b))
@test integrate(x^-10*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(-1*b^2*x^-1*(B*b+3*A*c)+-1//3*A*b^3*x^-3+1//3*c^2*x^3*(A*c+3*B*b)+1//5*B*c^3*x^5+3*b*c*x*(A*c+B*b))
@test integrate(x^-11*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :((1/2)*c^2*x^2*(A*c+3*B*b)+-1//2*b^2*x^-2*(B*b+3*A*c)+-1//4*A*b^3*x^-4+1//4*B*c^3*x^4+3*b*c*(A*c+B*b)*log(x))
@test integrate(x^-12*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(x*c^2*(A*c+3*B*b)+-1//3*b^2*x^-3*(B*b+3*A*c)+-1//5*A*b^3*x^-5+1//3*B*c^3*x^3+-3*b*c*x^-1*(A*c+B*b))
@test integrate(x^-13*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(c^2*(A*c+3*B*b)*log(x)+(1/2)*B*c^3*x^2+-1//4*b^2*x^-4*(B*b+3*A*c)+-1//6*A*b^3*x^-6+-3//2*b*c*x^-2*(A*c+B*b))
@test integrate(x^-14*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(B*x*c^3+-1*c^2*x^-1*(A*c+3*B*b)+-1//5*b^2*x^-5*(B*b+3*A*c)+-1//7*A*b^3*x^-7+-1*b*c*x^-3*(A*c+B*b))
@test integrate(x^-15*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(B*c^3*log(x)+-1//6*B*b^3*x^-6+-3//2*B*b*c^2*x^-2+-3//4*B*c*b^2*x^-4+-1//8*A*b^-1*x^-8*(b+c*x^2)^4)
@test integrate(x^-16*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(-1*B*c^3*x^-1+-1//3*c^2*x^-3*(A*c+3*B*b)+-1//7*b^2*x^-7*(B*b+3*A*c)+-1//9*A*b^3*x^-9+-3//5*b*c*x^-5*(A*c+B*b))
@test integrate(x^-17*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(-1//10*A*b^-1*x^-10*(b+c*x^2)^4+-1//40*b^-2*x^-8*(b+c*x^2)^4*(-1*A*c+5*B*b))
@test integrate(x^10*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//7*c^-2*x^7*(B*b+-1*A*c)+1//9*B*c^-1*x^9+x*b^3*c^-5*(B*b+-1*A*c)+-1*b^7//2*c^-11//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2))+-1//3*b^2*c^-4*x^3*(B*b+-1*A*c)+1//5*b*c^-3*x^5*(B*b+-1*A*c))
@test integrate(x^9*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//6*c^-2*x^6*(B*b+-1*A*c)+1//8*B*c^-1*x^8+(1/2)*b^3*c^-5*(B*b+-1*A*c)*log(b+c*x^2)+-1//2*b^2*c^-4*x^2*(B*b+-1*A*c)+1//4*b*c^-3*x^4*(B*b+-1*A*c))
@test integrate(x^8*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//5*c^-2*x^5*(B*b+-1*A*c)+1//7*B*c^-1*x^7+b^5//2*c^-9//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2))+-1*x*b^2*c^-4*(B*b+-1*A*c)+1//3*b*c^-3*x^3*(B*b+-1*A*c))
@test integrate(x^7*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//4*c^-2*x^4*(B*b+-1*A*c)+1//6*B*c^-1*x^6+(1/2)*b*c^-3*x^2*(B*b+-1*A*c)+-1//2*b^2*c^-4*(B*b+-1*A*c)*log(b+c*x^2))
@test integrate(x^6*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//3*c^-2*x^3*(B*b+-1*A*c)+1//5*B*c^-1*x^5+b*x*c^-3*(B*b+-1*A*c)+-1*b^3//2*c^-7//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x^5*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//2*c^-2*x^2*(B*b+-1*A*c)+1//4*B*c^-1*x^4+(1/2)*b*c^-3*(B*b+-1*A*c)*log(b+c*x^2))
@test integrate(x^4*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1*x*c^-2*(B*b+-1*A*c)+1//3*B*c^-1*x^3+b^(1/2)*c^-5//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x^3*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :((1/2)*B*c^-1*x^2+-1//2*c^-2*(B*b+-1*A*c)*log(b+c*x^2))
@test integrate(x^2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(B*x*c^-1+-1*b^-1//2*c^-3//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(A*b^-1*log(x)+(1/2)*b^-1*c^-1*(B*b+-1*A*c)*log(b+c*x^2))
@test integrate((b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1*A*b^-1*x^-1+b^-3//2*c^-1//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate((b*x^2+-1*c*x^4)^-1*(A+B*x^2), x) == :(-1*A*b^-1*x^-1+b^-3//2*c^-1//2*(A*c+B*b)*arctanh(x*b^-1//2*c^(1/2)))
@test integrate(x^-1*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(b^-2*(B*b+-1*A*c)*log(x)+-1//2*A*b^-1*x^-2+-1//2*b^-2*(B*b+-1*A*c)*log(b+c*x^2))
@test integrate(x^-2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1*b^-2*x^-1*(B*b+-1*A*c)+-1//3*A*b^-1*x^-3+-1*b^-5//2*c^(1/2)*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x^-3*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//2*b^-2*x^-2*(B*b+-1*A*c)+-1//4*A*b^-1*x^-4+(1/2)*c*b^-3*(B*b+-1*A*c)*log(b+c*x^2)+-1*c*b^-3*(B*b+-1*A*c)*log(x))
@test integrate(x^-4*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//3*b^-2*x^-3*(B*b+-1*A*c)+-1//5*A*b^-1*x^-5+c*b^-3*x^-1*(B*b+-1*A*c)+b^-7//2*c^3//2*(B*b+-1*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x^-5*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//4*b^-2*x^-4*(B*b+-1*A*c)+-1//6*A*b^-1*x^-6+b^-4*c^2*(B*b+-1*A*c)*log(x)+(1/2)*c*b^-3*x^-2*(B*b+-1*A*c)+-1//2*b^-4*c^2*(B*b+-1*A*c)*log(b+c*x^2))
@test integrate(x^12*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//5*c^-3*x^5*(-1*A*c+2*B*b)+1//7*B*c^-2*x^7+(1/2)*b^5//2*c^-11//2*(-7*A*c+9*B*b)*arctan(x*b^-1//2*c^(1/2))+-1*x*b^2*c^-5*(-3*A*c+4*B*b)+1//3*b*c^-4*x^3*(-2*A*c+3*B*b)+-1//2*x*b^3*c^-5*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^11*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//4*c^-3*x^4*(-1*A*c+2*B*b)+1//6*B*c^-2*x^6+(1/2)*b*c^-4*x^2*(-2*A*c+3*B*b)+-1//2*b^2*c^-5*(-3*A*c+4*B*b)*log(b+c*x^2)+-1//2*b^3*c^-5*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^10*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//3*c^-3*x^3*(-1*A*c+2*B*b)+1//5*B*c^-2*x^5+b*x*c^-4*(-2*A*c+3*B*b)+-1//2*b^3//2*c^-9//2*(-5*A*c+7*B*b)*arctan(x*b^-1//2*c^(1/2))+(1/2)*x*b^2*c^-4*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^9*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//2*c^-3*x^2*(-1*A*c+2*B*b)+1//4*B*c^-2*x^4+(1/2)*b*c^-4*(-2*A*c+3*B*b)*log(b+c*x^2)+(1/2)*b^2*c^-4*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^8*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1*x*c^-3*(-1*A*c+2*B*b)+1//3*B*c^-2*x^3+(1/2)*b^(1/2)*c^-7//2*(-3*A*c+5*B*b)*arctan(x*b^-1//2*c^(1/2))+-1//2*b*x*c^-3*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^7*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :((1/2)*B*c^-2*x^2+-1//2*c^-3*(-1*A*c+2*B*b)*log(b+c*x^2)+-1//2*b*c^-3*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^6*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(B*x*c^-2+(1/2)*x*c^-2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//2*b^-1//2*c^-5//2*(-1*A*c+3*B*b)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x^5*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :((1/2)*B*c^-2*log(b+c*x^2)+(1/2)*c^-2*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^4*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :((1/2)*b^-3//2*c^-3//2*(A*c+B*b)*arctan(x*b^-1//2*c^(1/2))+-1//2*x*b^-1*c^-1*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^3*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(A*b^-2*log(x)+-1//2*A*b^-2*log(b+c*x^2)+-1//2*b^-1*c^-1*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1*A*b^-2*x^-1+(1/2)*x*b^-2*(b+c*x^2)^-1*(B*b+-1*A*c)+(1/2)*b^-5//2*c^-1//2*(B*b+-3*A*c)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(b^-3*(B*b+-2*A*c)*log(x)+(1/2)*b^-2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//2*A*b^-2*x^-2+-1//2*b^-3*(B*b+-2*A*c)*log(b+c*x^2))
@test integrate((b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1*b^-3*x^-1*(B*b+-2*A*c)+-1//3*A*b^-2*x^-3+-1//2*b^-7//2*c^(1/2)*(-5*A*c+3*B*b)*arctan(x*b^-1//2*c^(1/2))+-1//2*c*x*b^-3*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^-1*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//2*b^-3*x^-2*(B*b+-2*A*c)+-1//4*A*b^-2*x^-4+(1/2)*c*b^-4*(-3*A*c+2*B*b)*log(b+c*x^2)+-1*c*b^-4*(-3*A*c+2*B*b)*log(x)+-1//2*c*b^-3*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^-2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//3*b^-3*x^-3*(B*b+-2*A*c)+-1//5*A*b^-2*x^-5+c*b^-4*x^-1*(-3*A*c+2*B*b)+(1/2)*b^-9//2*c^3//2*(-7*A*c+5*B*b)*arctan(x*b^-1//2*c^(1/2))+(1/2)*x*b^-4*c^2*(b+c*x^2)^-1*(B*b+-1*A*c))
@test integrate(x^14*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//3*c^-4*x^3*(-1*A*c+3*B*b)+1//5*B*c^-3*x^5+3*b*x*c^-5*(-1*A*c+2*B*b)+-7//8*b^3//2*c^-11//2*(-5*A*c+9*B*b)*arctan(x*b^-1//2*c^(1/2))+-1//4*x*b^3*c^-5*(b+c*x^2)^-2*(B*b+-1*A*c)+1//8*x*b^2*c^-5*(b+c*x^2)^-1*(-13*A*c+17*B*b))
@test integrate(x^13*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//2*c^-4*x^2*(-1*A*c+3*B*b)+1//4*B*c^-3*x^4+(1/2)*b^2*c^-5*(b+c*x^2)^-1*(-3*A*c+4*B*b)+-1//4*b^3*c^-5*(b+c*x^2)^-2*(B*b+-1*A*c)+3//2*b*c^-5*(-1*A*c+2*B*b)*log(b+c*x^2))
@test integrate(x^12*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1*x*c^-4*(-1*A*c+3*B*b)+1//3*B*c^-3*x^3+5//8*b^(1/2)*c^-9//2*(-3*A*c+7*B*b)*arctan(x*b^-1//2*c^(1/2))+-1//8*b*x*c^-4*(b+c*x^2)^-1*(-9*A*c+13*B*b)+1//4*x*b^2*c^-4*(b+c*x^2)^-2*(B*b+-1*A*c))
@test integrate(x^11*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :((1/2)*B*c^-3*x^2+-1//2*c^-4*(-1*A*c+3*B*b)*log(b+c*x^2)+-1//2*b*c^-4*(b+c*x^2)^-1*(-2*A*c+3*B*b)+1//4*b^2*c^-4*(b+c*x^2)^-2*(B*b+-1*A*c))
@test integrate(x^10*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(B*x*c^-3+-1//8*b^-1//2*c^-7//2*(-3*A*c+15*B*b)*arctan(x*b^-1//2*c^(1/2))+1//8*x*c^-3*(b+c*x^2)^-1*(-5*A*c+9*B*b)+-1//4*b*x*c^-3*(b+c*x^2)^-2*(B*b+-1*A*c))
@test integrate(x^9*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :((1/2)*B*c^-3*log(b+c*x^2)+(1/2)*c^-3*(b+c*x^2)^-1*(-1*A*c+2*B*b)+-1//4*b*c^-3*(b+c*x^2)^-2*(B*b+-1*A*c))
@test integrate(x^8*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//4*x*c^-2*(b+c*x^2)^-2*(B*b+-1*A*c)+1//8*b^-3//2*c^-5//2*(A*c+3*B*b)*arctan(x*b^-1//2*c^(1/2))+-1//8*x*b^-1*c^-2*(b+c*x^2)^-1*(-1*A*c+5*B*b))
@test integrate(x^7*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :((A+B*x^2)^2*(b+c*x^2)^-2*(-4*A*c+4*B*b)^-1)
@test integrate(x^6*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//8*b^-5//2*c^-3//2*(B*b+3*A*c)*arctan(x*b^-1//2*c^(1/2))+-1//4*x*b^-1*c^-1*(b+c*x^2)^-2*(B*b+-1*A*c)+1//8*x*b^-2*c^-1*(b+c*x^2)^-1*(B*b+3*A*c))
@test integrate(x^5*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(A*b^-3*log(x)+(1/2)*A*b^-2*(b+c*x^2)^-1+-1//2*A*b^-3*log(b+c*x^2)+-1//4*b^-1*c^-1*(b+c*x^2)^-2*(B*b+-1*A*c))
@test integrate(x^4*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1*A*b^-3*x^-1+1//4*x*b^-2*(b+c*x^2)^-2*(B*b+-1*A*c)+1//8*x*b^-3*(b+c*x^2)^-1*(-7*A*c+3*B*b)+1//8*b^-7//2*c^-1//2*(-15*A*c+3*B*b)*arctan(x*b^-1//2*c^(1/2)))
@test integrate(x^3*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(b^-4*(B*b+-3*A*c)*log(x)+(1/2)*b^-3*(b+c*x^2)^-1*(B*b+-2*A*c)+-1//2*A*b^-3*x^-2+-1//2*b^-4*(B*b+-3*A*c)*log(b+c*x^2)+1//4*b^-2*(b+c*x^2)^-2*(B*b+-1*A*c))
@test integrate(x^2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1*b^-4*x^-1*(B*b+-3*A*c)+-1//3*A*b^-3*x^-3+-5//8*b^-9//2*c^(1/2)*(-7*A*c+3*B*b)*arctan(x*b^-1//2*c^(1/2))+-1//4*c*x*b^-3*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//8*c*x*b^-4*(b+c*x^2)^-1*(-11*A*c+7*B*b))
@test integrate(x*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//2*b^-4*x^-2*(B*b+-3*A*c)+-1//4*A*b^-3*x^-4+-3*c*b^-5*(B*b+-2*A*c)*log(x)+-1//2*c*b^-4*(b+c*x^2)^-1*(-3*A*c+2*B*b)+-1//4*c*b^-3*(b+c*x^2)^-2*(B*b+-1*A*c)+3//2*c*b^-5*(B*b+-2*A*c)*log(b+c*x^2))
@test integrate((b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//3*b^-4*x^-3*(B*b+-3*A*c)+-1//5*A*b^-3*x^-5+3*c*b^-5*x^-1*(B*b+-2*A*c)+7//8*b^-11//2*c^3//2*(-9*A*c+5*B*b)*arctan(x*b^-1//2*c^(1/2))+1//4*x*b^-4*c^2*(b+c*x^2)^-2*(B*b+-1*A*c)+1//8*x*b^-5*c^2*(b+c*x^2)^-1*(-15*A*c+11*B*b))
@test integrate(x^-1*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//4*b^-4*x^-4*(B*b+-3*A*c)+-1//6*A*b^-3*x^-6+(1/2)*b^-5*c^2*(b+c*x^2)^-1*(-4*A*c+3*B*b)+-1*b^-6*c^2*(-5*A*c+3*B*b)*log(b+c*x^2)+2*b^-6*c^2*(-5*A*c+3*B*b)*log(x)+1//4*b^-4*c^2*(b+c*x^2)^-2*(B*b+-1*A*c)+3//2*c*b^-5*x^-2*(B*b+-2*A*c))
@test integrate(x^7*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-7//384*b^2*c^-4*(b*x^2+c*x^4)^3//2*(-4*A*c+3*B*b)+-7//1024*b^5*c^-11//2*(-4*A*c+3*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//40*c^-2*x^4*(b*x^2+c*x^4)^3//2*(-4*A*c+3*B*b)+1//12*B*c^-1*x^6*(b*x^2+c*x^4)^3//2+7//320*b*c^-3*x^2*(b*x^2+c*x^4)^3//2*(-4*A*c+3*B*b)+7//1024*b^3*c^-5*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(-4*A*c+3*B*b))
@test integrate(x^5*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//80*c^-2*x^2*(b*x^2+c*x^4)^3//2*(-10*A*c+7*B*b)+1//10*B*c^-1*x^4*(b*x^2+c*x^4)^3//2+1//96*b*c^-3*(b*x^2+c*x^4)^3//2*(-10*A*c+7*B*b)+1//256*b^4*c^-9//2*(-10*A*c+7*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//256*b^2*c^-4*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(-10*A*c+7*B*b))
@test integrate(x^3*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//48*c^-2*(b*x^2+c*x^4)^3//2*(-8*A*c+5*B*b+-6*B*c*x^2)+-1//128*b^3*c^-7//2*(-8*A*c+5*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+1//128*b*c^-3*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(-8*A*c+5*B*b))
@test integrate(x*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(1//6*B*c^-1*(b*x^2+c*x^4)^3//2+-1//16*c^-2*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(B*b+-2*A*c)+1//16*b^2*c^-5//2*(B*b+-2*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2))
@test integrate(x^-1*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//8*c^-1*(b*x^2+c*x^4)^(1/2)*(B*b+-4*A*c)+-1//8*b*c^-3//2*(B*b+-4*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+1//4*B*c^-1*x^-2*(b*x^2+c*x^4)^3//2)
@test integrate(x^-3*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :((1/2)*b^-1*(b*x^2+c*x^4)^(1/2)*(B*b+2*A*c)+(1/2)*c^-1//2*(B*b+2*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1*A*b^-1*x^-4*(b*x^2+c*x^4)^3//2)
@test integrate(x^-5*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(B*c^(1/2)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1*B*x^-2*(b*x^2+c*x^4)^(1/2)+-1//3*A*b^-1*x^-6*(b*x^2+c*x^4)^3//2)
@test integrate(x^-7*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//5*A*b^-1*x^-8*(b*x^2+c*x^4)^3//2+-1//15*b^-2*x^-6*(b*x^2+c*x^4)^3//2*(-2*A*c+5*B*b))
@test integrate(x^-9*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//7*A*b^-1*x^-10*(b*x^2+c*x^4)^3//2+-1//35*b^-2*x^-8*(b*x^2+c*x^4)^3//2*(-4*A*c+7*B*b)+2//105*c*b^-3*x^-6*(b*x^2+c*x^4)^3//2*(-4*A*c+7*B*b))
@test integrate(x^-11*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//9*A*b^-1*x^-12*(b*x^2+c*x^4)^3//2+-1//21*b^-2*x^-10*(b*x^2+c*x^4)^3//2*(-2*A*c+3*B*b)+-8//315*b^-4*c^2*x^-6*(b*x^2+c*x^4)^3//2*(-2*A*c+3*B*b)+4//105*c*b^-3*x^-8*(b*x^2+c*x^4)^3//2*(-2*A*c+3*B*b))
@test integrate(x^-13*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//11*A*b^-1*x^-14*(b*x^2+c*x^4)^3//2+-1//99*b^-2*x^-12*(b*x^2+c*x^4)^3//2*(-8*A*c+11*B*b)+-8//1155*b^-4*c^2*x^-8*(b*x^2+c*x^4)^3//2*(-8*A*c+11*B*b)+2//231*c*b^-3*x^-10*(b*x^2+c*x^4)^3//2*(-8*A*c+11*B*b)+16//3465*b^-5*c^3*x^-6*(b*x^2+c*x^4)^3//2*(-8*A*c+11*B*b))
@test integrate(x^4*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//21*x*c^-2*(b*x^2+c*x^4)^3//2*(-3*A*c+2*B*b)+1//9*B*c^-1*x^3*(b*x^2+c*x^4)^3//2+-8//315*b^2*c^-4*x^-3*(b*x^2+c*x^4)^3//2*(-3*A*c+2*B*b)+4//105*b*c^-3*x^-1*(b*x^2+c*x^4)^3//2*(-3*A*c+2*B*b))
@test integrate(x^2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//35*c^-2*x^-1*(b*x^2+c*x^4)^3//2*(-7*A*c+4*B*b)+1//7*B*x*c^-1*(b*x^2+c*x^4)^3//2+2//105*b*c^-3*x^-3*(b*x^2+c*x^4)^3//2*(-7*A*c+4*B*b))
@test integrate((b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//15*c^-2*x^-3*(b*x^2+c*x^4)^3//2*(-5*A*c+2*B*b)+1//5*B*c^-1*x^-1*(b*x^2+c*x^4)^3//2)
@test integrate(x^-2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(A*x^-1*(b*x^2+c*x^4)^(1/2)+-1*A*b^(1/2)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+1//3*B*c^-1*x^-3*(b*x^2+c*x^4)^3//2)
@test integrate(x^-4*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//2*b^-1//2*(A*c+2*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+(1/2)*b^-1*x^-1*(b*x^2+c*x^4)^(1/2)*(A*c+2*B*b)+-1//2*A*b^-1*x^-5*(b*x^2+c*x^4)^3//2)
@test integrate(x^-6*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//4*A*b^-1*x^-7*(b*x^2+c*x^4)^3//2+-1//8*c*b^-3//2*(-1*A*c+4*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//8*b^-1*x^-3*(b*x^2+c*x^4)^(1/2)*(-1*A*c+4*B*b))
@test integrate(x^5*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//168*c^-2*x^2*(b*x^2+c*x^4)^5//2*(-14*A*c+9*B*b)+-1//2048*b^6*c^-11//2*(-14*A*c+9*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+1//14*B*c^-1*x^4*(b*x^2+c*x^4)^5//2+1//240*b*c^-3*(b*x^2+c*x^4)^5//2*(-14*A*c+9*B*b)+-1//768*b^2*c^-4*(b*x^2+c*x^4)^3//2*(b+2*c*x^2)*(-14*A*c+9*B*b)+1//2048*b^4*c^-5*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(-14*A*c+9*B*b))
@test integrate(x^3*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//120*c^-2*(b*x^2+c*x^4)^5//2*(-12*A*c+7*B*b+-10*B*c*x^2)+1//1024*b^5*c^-9//2*(-12*A*c+7*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//1024*b^3*c^-4*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(-12*A*c+7*B*b)+1//384*b*c^-3*(b*x^2+c*x^4)^3//2*(b+2*c*x^2)*(-12*A*c+7*B*b))
@test integrate(x*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(1//10*B*c^-1*(b*x^2+c*x^4)^5//2+-3//256*b^4*c^-7//2*(B*b+-2*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//32*c^-2*(b*x^2+c*x^4)^3//2*(b+2*c*x^2)*(B*b+-2*A*c)+3//256*b^2*c^-3*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(B*b+-2*A*c))
@test integrate(x^-1*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//48*c^-1*(b*x^2+c*x^4)^3//2*(-8*A*c+3*B*b)+1//8*B*c^-1*x^-2*(b*x^2+c*x^4)^5//2+1//128*b^3*c^-5//2*(-8*A*c+3*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//128*b*c^-2*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(-8*A*c+3*B*b))
@test integrate(x^-3*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(1//6*b^-1*(b*x^2+c*x^4)^3//2*(B*b+-6*A*c)+A*b^-1*x^-4*(b*x^2+c*x^4)^5//2+-1//16*b^2*c^-3//2*(B*b+-6*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+1//16*c^-1*(b*x^2+c*x^4)^(1/2)*(b+2*c*x^2)*(B*b+-6*A*c))
@test integrate(x^-5*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :((b*x^2+c*x^4)^(1/2)*(3//2*A*c+3//8*B*b)+-1*A*b^-1*x^-6*(b*x^2+c*x^4)^5//2+1//4*b^-1*x^-2*(b*x^2+c*x^4)^3//2*(B*b+4*A*c)+3//8*b*c^-1//2*(B*b+4*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2))
@test integrate(x^-7*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :((1/2)*c^(1/2)*(2*A*c+3*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+(1/2)*c*b^-1*(b*x^2+c*x^4)^(1/2)*(2*A*c+3*B*b)+-1//3*A*b^-1*x^-8*(b*x^2+c*x^4)^5//2+-1//3*b^-1*x^-4*(b*x^2+c*x^4)^3//2*(2*A*c+3*B*b))
@test integrate(x^-9*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(B*c^3//2*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//3*B*x^-6*(b*x^2+c*x^4)^3//2+-1*B*c*x^-2*(b*x^2+c*x^4)^(1/2)+-1//5*A*b^-1*x^-10*(b*x^2+c*x^4)^5//2)
@test integrate(x^-11*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//7*A*b^-1*x^-12*(b*x^2+c*x^4)^5//2+-1//35*b^-2*x^-10*(b*x^2+c*x^4)^5//2*(-2*A*c+7*B*b))
@test integrate(x^-13*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//9*A*b^-1*x^-14*(b*x^2+c*x^4)^5//2+-1//63*b^-2*x^-12*(b*x^2+c*x^4)^5//2*(-4*A*c+9*B*b)+2//315*c*b^-3*x^-10*(b*x^2+c*x^4)^5//2*(-4*A*c+9*B*b))
@test integrate(x^-15*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//11*A*b^-1*x^-16*(b*x^2+c*x^4)^5//2+-1//99*b^-2*x^-14*(b*x^2+c*x^4)^5//2*(-6*A*c+11*B*b)+-8//3465*b^-4*c^2*x^-10*(b*x^2+c*x^4)^5//2*(-6*A*c+11*B*b)+4//693*c*b^-3*x^-12*(b*x^2+c*x^4)^5//2*(-6*A*c+11*B*b))
@test integrate(x^-17*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//13*A*b^-1*x^-18*(b*x^2+c*x^4)^5//2+-1//143*b^-2*x^-16*(b*x^2+c*x^4)^5//2*(-8*A*c+13*B*b)+-8//3003*b^-4*c^2*x^-12*(b*x^2+c*x^4)^5//2*(-8*A*c+13*B*b)+2//429*c*b^-3*x^-14*(b*x^2+c*x^4)^5//2*(-8*A*c+13*B*b)+16//15015*b^-5*c^3*x^-10*(b*x^2+c*x^4)^5//2*(-8*A*c+13*B*b))
@test integrate(x^-19*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//15*A*b^-1*x^-20*(b*x^2+c*x^4)^5//2+-1//39*b^-2*x^-18*(b*x^2+c*x^4)^5//2*(-2*A*c+3*B*b)+-128//45045*b^-6*c^4*x^-10*(b*x^2+c*x^4)^5//2*(-2*A*c+3*B*b)+-16//1287*b^-4*c^2*x^-14*(b*x^2+c*x^4)^5//2*(-2*A*c+3*B*b)+8//429*c*b^-3*x^-16*(b*x^2+c*x^4)^5//2*(-2*A*c+3*B*b)+64//9009*b^-5*c^3*x^-12*(b*x^2+c*x^4)^5//2*(-2*A*c+3*B*b))
@test integrate(x^4*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//143*x*c^-2*(b*x^2+c*x^4)^5//2*(-13*A*c+8*B*b)+1//13*B*c^-1*x^3*(b*x^2+c*x^4)^5//2+-8//3003*b^2*c^-4*x^-3*(b*x^2+c*x^4)^5//2*(-13*A*c+8*B*b)+2//429*b*c^-3*x^-1*(b*x^2+c*x^4)^5//2*(-13*A*c+8*B*b)+16//15015*b^3*c^-5*x^-5*(b*x^2+c*x^4)^5//2*(-13*A*c+8*B*b))
@test integrate(x^2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//99*c^-2*x^-1*(b*x^2+c*x^4)^5//2*(-11*A*c+6*B*b)+1//11*B*x*c^-1*(b*x^2+c*x^4)^5//2+-8//3465*b^2*c^-4*x^-5*(b*x^2+c*x^4)^5//2*(-11*A*c+6*B*b)+4//693*b*c^-3*x^-3*(b*x^2+c*x^4)^5//2*(-11*A*c+6*B*b))
@test integrate((b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//63*c^-2*x^-3*(b*x^2+c*x^4)^5//2*(-9*A*c+4*B*b)+1//9*B*c^-1*x^-1*(b*x^2+c*x^4)^5//2+2//315*b*c^-3*x^-5*(b*x^2+c*x^4)^5//2*(-9*A*c+4*B*b))
@test integrate(x^-2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//35*c^-2*x^-5*(b*x^2+c*x^4)^5//2*(-7*A*c+2*B*b)+1//7*B*c^-1*x^-3*(b*x^2+c*x^4)^5//2)
@test integrate(x^-4*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1*A*b^3//2*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+1//3*A*x^-3*(b*x^2+c*x^4)^3//2+A*b*x^-1*(b*x^2+c*x^4)^(1/2)+1//5*B*c^-1*x^-5*(b*x^2+c*x^4)^5//2)
@test integrate(x^-6*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :((1/2)*x^-1*(b*x^2+c*x^4)^(1/2)*(2*B*b+3*A*c)+-1//2*b^(1/2)*(2*B*b+3*A*c)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//2*A*b^-1*x^-7*(b*x^2+c*x^4)^5//2+1//6*b^-1*x^-3*(b*x^2+c*x^4)^3//2*(2*B*b+3*A*c))
@test integrate(x^-8*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-3//8*c*b^-1//2*(A*c+4*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//4*A*b^-1*x^-9*(b*x^2+c*x^4)^5//2+-1//8*b^-1*x^-5*(b*x^2+c*x^4)^3//2*(A*c+4*B*b)+3//8*c*b^-1*x^-1*(b*x^2+c*x^4)^(1/2)*(A*c+4*B*b))
@test integrate(x^-10*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//6*A*b^-1*x^-11*(b*x^2+c*x^4)^5//2+-1//16*b^-3//2*c^2*(-1*A*c+6*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//24*b^-1*x^-7*(b*x^2+c*x^4)^3//2*(-1*A*c+6*B*b)+-1//16*c*b^-1*x^-3*(b*x^2+c*x^4)^(1/2)*(-1*A*c+6*B*b))
@test integrate(x^-12*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//8*A*b^-1*x^-13*(b*x^2+c*x^4)^5//2+-1//48*b^-1*x^-9*(b*x^2+c*x^4)^3//2*(-3*A*c+8*B*b)+1//128*b^-5//2*c^3*(-3*A*c+8*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//64*c*b^-1*x^-5*(b*x^2+c*x^4)^(1/2)*(-3*A*c+8*B*b)+-1//128*b^-2*c^2*x^-3*(b*x^2+c*x^4)^(1/2)*(-3*A*c+8*B*b))
@test integrate(x^-14*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-3//256*b^-7//2*c^4*(-1*A*c+2*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//10*A*b^-1*x^-15*(b*x^2+c*x^4)^5//2+-1//16*b^-1*x^-11*(b*x^2+c*x^4)^3//2*(-1*A*c+2*B*b)+-1//32*c*b^-1*x^-7*(b*x^2+c*x^4)^(1/2)*(-1*A*c+2*B*b)+-1//128*b^-2*c^2*x^-5*(b*x^2+c*x^4)^(1/2)*(-1*A*c+2*B*b)+3//256*b^-3*c^3*x^-3*(b*x^2+c*x^4)^(1/2)*(-1*A*c+2*B*b))
@test integrate(x^-16*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//12*A*b^-1*x^-17*(b*x^2+c*x^4)^5//2+-1//120*b^-1*x^-13*(b*x^2+c*x^4)^3//2*(-7*A*c+12*B*b)+1//1024*b^-9//2*c^5*(-7*A*c+12*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//320*c*b^-1*x^-9*(b*x^2+c*x^4)^(1/2)*(-7*A*c+12*B*b)+-1//1024*b^-4*c^4*x^-3*(b*x^2+c*x^4)^(1/2)*(-7*A*c+12*B*b)+-1//1920*b^-2*c^2*x^-7*(b*x^2+c*x^4)^(1/2)*(-7*A*c+12*B*b)+1//1536*b^-3*c^3*x^-5*(b*x^2+c*x^4)^(1/2)*(-7*A*c+12*B*b))
@test integrate(x^7*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-5//128*b^2*c^-4*(b*x^2+c*x^4)^(1/2)*(-8*A*c+7*B*b)+-1//48*c^-2*x^4*(b*x^2+c*x^4)^(1/2)*(-8*A*c+7*B*b)+1//8*B*c^-1*x^6*(b*x^2+c*x^4)^(1/2)+5//128*b^3*c^-9//2*(-8*A*c+7*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+5//192*b*c^-3*x^2*(b*x^2+c*x^4)^(1/2)*(-8*A*c+7*B*b))
@test integrate(x^5*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//16*b^2*c^-7//2*(-6*A*c+5*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//24*c^-2*x^2*(b*x^2+c*x^4)^(1/2)*(-6*A*c+5*B*b)+1//6*B*c^-1*x^4*(b*x^2+c*x^4)^(1/2)+1//16*b*c^-3*(b*x^2+c*x^4)^(1/2)*(-6*A*c+5*B*b))
@test integrate(x^3*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//8*c^-2*(b*x^2+c*x^4)^(1/2)*(-4*A*c+3*B*b+-2*B*c*x^2)+1//8*b*c^-5//2*(-4*A*c+3*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2))
@test integrate(x*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :((1/2)*B*c^-1*(b*x^2+c*x^4)^(1/2)+-1//2*c^-3//2*(B*b+-2*A*c)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2))
@test integrate(x^-1*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(B*c^-1//2*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1*A*b^-1*x^-2*(b*x^2+c*x^4)^(1/2))
@test integrate(x^-3*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//3*A*b^-1*x^-4*(b*x^2+c*x^4)^(1/2)+-1//3*b^-2*x^-2*(b*x^2+c*x^4)^(1/2)*(-2*A*c+3*B*b))
@test integrate(x^-5*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//5*A*b^-1*x^-6*(b*x^2+c*x^4)^(1/2)+-1//15*b^-2*x^-4*(b*x^2+c*x^4)^(1/2)*(-4*A*c+5*B*b)+2//15*c*b^-3*x^-2*(b*x^2+c*x^4)^(1/2)*(-4*A*c+5*B*b))
@test integrate(x^-7*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//7*A*b^-1*x^-8*(b*x^2+c*x^4)^(1/2)+-1//35*b^-2*x^-6*(b*x^2+c*x^4)^(1/2)*(-6*A*c+7*B*b)+-8//105*b^-4*c^2*x^-2*(b*x^2+c*x^4)^(1/2)*(-6*A*c+7*B*b)+4//105*c*b^-3*x^-4*(b*x^2+c*x^4)^(1/2)*(-6*A*c+7*B*b))
@test integrate(x^-9*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//9*A*b^-1*x^-10*(b*x^2+c*x^4)^(1/2)+-1//63*b^-2*x^-8*(b*x^2+c*x^4)^(1/2)*(-8*A*c+9*B*b)+-8//315*b^-4*c^2*x^-4*(b*x^2+c*x^4)^(1/2)*(-8*A*c+9*B*b)+2//105*c*b^-3*x^-6*(b*x^2+c*x^4)^(1/2)*(-8*A*c+9*B*b)+16//315*b^-5*c^3*x^-2*(b*x^2+c*x^4)^(1/2)*(-8*A*c+9*B*b))
@test integrate(x^6*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//35*c^-2*x^3*(b*x^2+c*x^4)^(1/2)*(-7*A*c+6*B*b)+1//7*B*c^-1*x^5*(b*x^2+c*x^4)^(1/2)+-8//105*b^2*c^-4*x^-1*(b*x^2+c*x^4)^(1/2)*(-7*A*c+6*B*b)+4//105*b*x*c^-3*(b*x^2+c*x^4)^(1/2)*(-7*A*c+6*B*b))
@test integrate(x^4*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//15*x*c^-2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+4*B*b)+1//5*B*c^-1*x^3*(b*x^2+c*x^4)^(1/2)+2//15*b*c^-3*x^-1*(b*x^2+c*x^4)^(1/2)*(-5*A*c+4*B*b))
@test integrate(x^2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//3*c^-2*x^-1*(b*x^2+c*x^4)^(1/2)*(-3*A*c+2*B*b)+1//3*B*x*c^-1*(b*x^2+c*x^4)^(1/2))
@test integrate((b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1*A*b^-1//2*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+B*c^-1*x^-1*(b*x^2+c*x^4)^(1/2))
@test integrate(x^-2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//2*b^-3//2*(-1*A*c+2*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//2*A*b^-1*x^-3*(b*x^2+c*x^4)^(1/2))
@test integrate(x^-4*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//4*A*b^-1*x^-5*(b*x^2+c*x^4)^(1/2)+-1//8*b^-2*x^-3*(b*x^2+c*x^4)^(1/2)*(-3*A*c+4*B*b)+1//8*c*b^-5//2*(-3*A*c+4*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2))
@test integrate(x^9*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-5//16*b^2*c^-9//2*(-6*A*c+7*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1//24*c^-3*x^2*(b*x^2+c*x^4)^(1/2)*(-30*A*c+35*B*b)+5//16*b*c^-4*(b*x^2+c*x^4)^(1/2)*(-6*A*c+7*B*b)+-1*b^-1*c^-1*x^8*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//6*b^-1*c^-2*x^4*(b*x^2+c*x^4)^(1/2)*(-6*A*c+7*B*b))
@test integrate(x^7*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//8*c^-3*(b*x^2+c*x^4)^(1/2)*(-12*A*c+15*B*b)+3//8*b*c^-7//2*(-4*A*c+5*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1*b^-1*c^-1*x^6*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//4*b^-1*c^-2*x^2*(b*x^2+c*x^4)^(1/2)*(-4*A*c+5*B*b))
@test integrate(x^5*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//2*c^-5//2*(-2*A*c+3*B*b)*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+(1/2)*b^-1*c^-2*(b*x^2+c*x^4)^(1/2)*(-2*A*c+3*B*b)+-1*b^-1*c^-1*x^4*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c))
@test integrate(x^3*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(B*c^-3//2*arctanh(c^(1/2)*x^2*(b*x^2+c*x^4)^-1//2)+-1*b^-1*c^-1*x^2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c))
@test integrate(x*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1*b^-2*(b*x^2+c*x^4)^-1//2*(A*b+-1*x^2*(B*b+-2*A*c)))
@test integrate(x^-1*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//3*A*b^-1*x^-2*(b*x^2+c*x^4)^-1//2+-1//3*b^-3*(b*x^2+c*x^4)^-1//2*(b+2*c*x^2)*(-4*A*c+3*B*b))
@test integrate(x^-3*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//5*A*b^-1*x^-4*(b*x^2+c*x^4)^-1//2+-1//15*b^-2*x^-2*(b*x^2+c*x^4)^-1//2*(-6*A*c+5*B*b)+4//15*c*b^-4*(b*x^2+c*x^4)^-1//2*(b+2*c*x^2)*(-6*A*c+5*B*b))
@test integrate(x^-5*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//7*A*b^-1*x^-6*(b*x^2+c*x^4)^-1//2+-1//35*b^-2*x^-4*(b*x^2+c*x^4)^-1//2*(-8*A*c+7*B*b)+-8//35*b^-5*c^2*(b*x^2+c*x^4)^-1//2*(b+2*c*x^2)*(-8*A*c+7*B*b)+2//35*c*b^-3*x^-2*(b*x^2+c*x^4)^-1//2*(-8*A*c+7*B*b))
@test integrate(x^8*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//15*x*c^-3*(b*x^2+c*x^4)^(1/2)*(-20*A*c+24*B*b)+-1*b^-1*c^-1*x^7*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//5*b^-1*c^-2*x^3*(b*x^2+c*x^4)^(1/2)*(-5*A*c+6*B*b)+8//15*b*c^-4*x^-1*(b*x^2+c*x^4)^(1/2)*(-5*A*c+6*B*b))
@test integrate(x^6*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//3*c^-3*x^-1*(b*x^2+c*x^4)^(1/2)*(-6*A*c+8*B*b)+-1*b^-1*c^-1*x^5*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//3*x*b^-1*c^-2*(b*x^2+c*x^4)^(1/2)*(-3*A*c+4*B*b))
@test integrate(x^4*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(b^-1*c^-2*x^-1*(b*x^2+c*x^4)^(1/2)*(-1*A*c+2*B*b)+-1*b^-1*c^-1*x^3*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c))
@test integrate(x^2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1*A*b^-3//2*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1*x*b^-1*c^-1*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c))
@test integrate((b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//2*b^-5//2*(-3*A*c+2*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2)+-1//3*B*c^-1*x^-1*(b*x^2+c*x^4)^-1//2+(1/2)*b^-2*c^-1*x^-3*(b*x^2+c*x^4)^(1/2)*(-3*A*c+2*B*b)+-1//3*b^-1*c^-1*x^-1*(b*x^2+c*x^4)^-1//2*(-3*A*c+2*B*b))
@test integrate(x^-2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//4*A*b^-1*x^-3*(b*x^2+c*x^4)^-1//2+-1//8*b^-3*x^-3*(b*x^2+c*x^4)^(1/2)*(-15*A*c+12*B*b)+1//4*b^-2*x^-1*(b*x^2+c*x^4)^-1//2*(-5*A*c+4*B*b)+3//8*c*b^-7//2*(-5*A*c+4*B*b)*arctanh(x*b^(1/2)*(b*x^2+c*x^4)^-1//2))
@test integrate(x^7//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//17*x^17//2*(2*A*c+2*B*b)+2//13*A*b*x^13//2+2//21*B*c*x^21//2)
@test integrate(x^5//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//15*x^15//2*(2*A*c+2*B*b)+2//11*A*b*x^11//2+2//19*B*c*x^19//2)
@test integrate(x^3//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//13*x^13//2*(2*A*c+2*B*b)+2//9*A*b*x^9//2+2//17*B*c*x^17//2)
@test integrate(x^(1/2)*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//11*x^11//2*(2*A*c+2*B*b)+2//7*A*b*x^7//2+2//15*B*c*x^15//2)
@test integrate(x^-1//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//9*x^9//2*(2*A*c+2*B*b)+2//5*A*b*x^5//2+2//13*B*c*x^13//2)
@test integrate(x^-3//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//7*x^7//2*(2*A*c+2*B*b)+2//3*A*b*x^3//2+2//11*B*c*x^11//2)
@test integrate(x^-5//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//5*x^5//2*(2*A*c+2*B*b)+2*A*b*x^(1/2)+2//9*B*c*x^9//2)
@test integrate(x^-7//2*(A+B*x^2)*(b*x^2+c*x^4), x) == :(1//3*x^3//2*(2*A*c+2*B*b)+-2*A*b*x^-1//2+2//7*B*c*x^7//2)
@test integrate(x^7//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//17*A*b^2*x^17//2+2//21*b*x^21//2*(B*b+2*A*c)+2//25*c*x^25//2*(A*c+2*B*b)+2//29*B*c^2*x^29//2)
@test integrate(x^5//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//15*A*b^2*x^15//2+2//19*b*x^19//2*(B*b+2*A*c)+2//23*c*x^23//2*(A*c+2*B*b)+2//27*B*c^2*x^27//2)
@test integrate(x^3//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//13*A*b^2*x^13//2+2//17*b*x^17//2*(B*b+2*A*c)+2//21*c*x^21//2*(A*c+2*B*b)+2//25*B*c^2*x^25//2)
@test integrate(x^(1/2)*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//11*A*b^2*x^11//2+2//15*b*x^15//2*(B*b+2*A*c)+2//19*c*x^19//2*(A*c+2*B*b)+2//23*B*c^2*x^23//2)
@test integrate(x^-1//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//9*A*b^2*x^9//2+2//13*b*x^13//2*(B*b+2*A*c)+2//17*c*x^17//2*(A*c+2*B*b)+2//21*B*c^2*x^21//2)
@test integrate(x^-3//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//7*A*b^2*x^7//2+2//11*b*x^11//2*(B*b+2*A*c)+2//15*c*x^15//2*(A*c+2*B*b)+2//19*B*c^2*x^19//2)
@test integrate(x^-5//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//5*A*b^2*x^5//2+2//9*b*x^9//2*(B*b+2*A*c)+2//13*c*x^13//2*(A*c+2*B*b)+2//17*B*c^2*x^17//2)
@test integrate(x^-7//2*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(2//3*A*b^2*x^3//2+2//7*b*x^7//2*(B*b+2*A*c)+2//11*c*x^11//2*(A*c+2*B*b)+2//15*B*c^2*x^15//2)
@test integrate(x^7//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//21*A*b^3*x^21//2+2//25*b^2*x^25//2*(B*b+3*A*c)+2//33*c^2*x^33//2*(A*c+3*B*b)+2//37*B*c^3*x^37//2+6//29*b*c*x^29//2*(A*c+B*b))
@test integrate(x^5//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//19*A*b^3*x^19//2+2//23*b^2*x^23//2*(B*b+3*A*c)+2//31*c^2*x^31//2*(A*c+3*B*b)+2//35*B*c^3*x^35//2+2//9*b*c*x^27//2*(A*c+B*b))
@test integrate(x^3//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//17*A*b^3*x^17//2+2//21*b^2*x^21//2*(B*b+3*A*c)+2//29*c^2*x^29//2*(A*c+3*B*b)+2//33*B*c^3*x^33//2+6//25*b*c*x^25//2*(A*c+B*b))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//15*A*b^3*x^15//2+2//19*b^2*x^19//2*(B*b+3*A*c)+2//27*c^2*x^27//2*(A*c+3*B*b)+2//31*B*c^3*x^31//2+6//23*b*c*x^23//2*(A*c+B*b))
@test integrate(x^-1//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//13*A*b^3*x^13//2+2//17*b^2*x^17//2*(B*b+3*A*c)+2//25*c^2*x^25//2*(A*c+3*B*b)+2//29*B*c^3*x^29//2+2//7*b*c*x^21//2*(A*c+B*b))
@test integrate(x^-3//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//11*A*b^3*x^11//2+2//15*b^2*x^15//2*(B*b+3*A*c)+2//23*c^2*x^23//2*(A*c+3*B*b)+2//27*B*c^3*x^27//2+6//19*b*c*x^19//2*(A*c+B*b))
@test integrate(x^-5//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//9*A*b^3*x^9//2+2//13*b^2*x^13//2*(B*b+3*A*c)+2//21*c^2*x^21//2*(A*c+3*B*b)+2//25*B*c^3*x^25//2+6//17*b*c*x^17//2*(A*c+B*b))
@test integrate(x^-7//2*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(2//7*A*b^3*x^7//2+2//11*b^2*x^11//2*(B*b+3*A*c)+2//19*c^2*x^19//2*(A*c+3*B*b)+2//23*B*c^3*x^23//2+2//5*b*c*x^15//2*(A*c+B*b))
@test integrate(x^13//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//7*c^-2*x^7//2*(-2*A*c+2*B*b)+2//11*B*c^-1*x^11//2+2//3*b*c^-3*x^3//2*(B*b+-1*A*c)+(1/2)*2^(1/2)*b^7//4*c^-15//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^7//4*c^-15//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^7//4*c^-15//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^7//4*c^-15//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^11//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1//5*c^-2*x^5//2*(-2*A*c+2*B*b)+2//9*B*c^-1*x^9//2+2*b*c^-3*x^(1/2)*(B*b+-1*A*c)+(1/2)*2^(1/2)*b^5//4*c^-13//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^5//4*c^-13//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^5//4*c^-13//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^5//4*c^-13//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^9//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(1//3*c^-2*x^3//2*(-2*B*b+2*A*c)+2//7*B*c^-1*x^7//2+(1/2)*2^(1/2)*b^3//4*c^-11//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^3//4*c^-11//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^3//4*c^-11//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^3//4*c^-11//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^7//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(c^-2*x^(1/2)*(-2*B*b+2*A*c)+2//5*B*c^-1*x^5//2+(1/2)*2^(1/2)*b^1//4*c^-9//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^1//4*c^-9//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^1//4*c^-9//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^1//4*c^-9//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^5//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(2//3*B*c^-1*x^3//2+(1/2)*2^(1/2)*b^-1//4*c^-7//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-1//4*c^-7//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-1//4*c^-7//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-1//4*c^-7//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^3//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(2*B*c^-1*x^(1/2)+(1/2)*2^(1/2)*b^-3//4*c^-5//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-3//4*c^-5//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-3//4*c^-5//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-3//4*c^-5//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-2*A*b^-1*x^-1//2+(1/2)*2^(1/2)*b^-5//4*c^-3//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-5//4*c^-3//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-5//4*c^-3//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-5//4*c^-3//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-1//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-2//3*A*b^-1*x^-3//2+(1/2)*2^(1/2)*b^-7//4*c^-1//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-7//4*c^-1//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-7//4*c^-1//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-7//4*c^-1//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-3//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-1*b^-2*x^-1//2*(-2*A*c+2*B*b)+-2//5*A*b^-1*x^-5//2+(1/2)*2^(1/2)*b^-9//4*c^1//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-9//4*c^1//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-9//4*c^1//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-9//4*c^1//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-5//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-2//7*A*b^-1*x^-7//2+-1//3*b^-2*x^-3//2*(-2*A*c+2*B*b)+(1/2)*2^(1/2)*b^-11//4*c^3//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-11//4*c^3//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-11//4*c^3//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-11//4*c^3//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-7//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-2//9*A*b^-1*x^-9//2+-1//5*b^-2*x^-5//2*(-2*A*c+2*B*b)+2*c*b^-3*x^-1//2*(B*b+-1*A*c)+(1/2)*2^(1/2)*b^-13//4*c^5//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-13//4*c^5//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-13//4*c^5//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-13//4*c^5//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-9//2*(b*x^2+c*x^4)^-1*(A+B*x^2), x) == :(-2//11*A*b^-1*x^-11//2+-1//7*b^-2*x^-7//2*(-2*A*c+2*B*b)+2//3*c*b^-3*x^-3//2*(B*b+-1*A*c)+(1/2)*2^(1/2)*b^-15//4*c^7//4*(B*b+-1*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//2*2^(1/2)*b^-15//4*c^7//4*(B*b+-1*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//4*2^(1/2)*b^-15//4*c^7//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//4*2^(1/2)*b^-15//4*c^7//4*(B*b+-1*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^19//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//10*c^-3*x^5//2*(-9*A*c+13*B*b)+(1/2)*b*c^-4*x^(1/2)*(-9*A*c+13*B*b)+1//18*b^-1*c^-2*x^9//2*(-9*A*c+13*B*b)+-1//2*b^-1*c^-1*x^13//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^5//4*c^-17//4*(-9*A*c+13*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^5//4*c^-17//4*(-9*A*c+13*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^5//4*c^-17//4*(-9*A*c+13*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^5//4*c^-17//4*(-9*A*c+13*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^17//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//6*c^-3*x^3//2*(-7*A*c+11*B*b)+1//14*b^-1*c^-2*x^7//2*(-7*A*c+11*B*b)+-1//2*b^-1*c^-1*x^11//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^3//4*c^-15//4*(-7*A*c+11*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^3//4*c^-15//4*(-7*A*c+11*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^3//4*c^-15//4*(-7*A*c+11*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^3//4*c^-15//4*(-7*A*c+11*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^15//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//2*c^-3*x^(1/2)*(-5*A*c+9*B*b)+1//10*b^-1*c^-2*x^5//2*(-5*A*c+9*B*b)+-1//2*b^-1*c^-1*x^9//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^1//4*c^-13//4*(-5*A*c+9*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^1//4*c^-13//4*(-5*A*c+9*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^1//4*c^-13//4*(-5*A*c+9*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^1//4*c^-13//4*(-5*A*c+9*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^13//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(1//6*b^-1*c^-2*x^3//2*(-3*A*c+7*B*b)+-1//2*b^-1*c^-1*x^7//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-1//4*c^-11//4*(-3*A*c+7*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-1//4*c^-11//4*(-3*A*c+7*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-1//4*c^-11//4*(-3*A*c+7*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-1//4*c^-11//4*(-3*A*c+7*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^11//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :((1/2)*b^-1*c^-2*x^(1/2)*(-1*A*c+5*B*b)+-1//2*b^-1*c^-1*x^5//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-3//4*c^-9//4*(-1*A*c+5*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-3//4*c^-9//4*(-1*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-3//4*c^-9//4*(-1*A*c+5*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-3//4*c^-9//4*(-1*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^9//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//2*b^-1*c^-1*x^3//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-5//4*c^-7//4*(A*c+3*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-5//4*c^-7//4*(A*c+3*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-5//4*c^-7//4*(A*c+3*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-5//4*c^-7//4*(A*c+3*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^7//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//2*b^-1*c^-1*x^(1/2)*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-7//4*c^-5//4*(B*b+3*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-7//4*c^-5//4*(B*b+3*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-7//4*c^-5//4*(B*b+3*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-7//4*c^-5//4*(B*b+3*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^5//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :((1/2)*b^-2*c^-1*x^-1//2*(B*b+-5*A*c)+-1//2*b^-1*c^-1*x^-1//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-9//4*c^-3//4*(B*b+-5*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-9//4*c^-3//4*(B*b+-5*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-9//4*c^-3//4*(B*b+-5*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-9//4*c^-3//4*(B*b+-5*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^3//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(1//6*b^-2*c^-1*x^-3//2*(-7*A*c+3*B*b)+-1//2*b^-1*c^-1*x^-3//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-11//4*c^-1//4*(-7*A*c+3*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-11//4*c^-1//4*(-7*A*c+3*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-11//4*c^-1//4*(-7*A*c+3*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-11//4*c^-1//4*(-7*A*c+3*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//2*b^-3*x^-1//2*(-9*A*c+5*B*b)+1//10*b^-2*c^-1*x^-5//2*(-9*A*c+5*B*b)+-1//2*b^-1*c^-1*x^-5//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-13//4*c^1//4*(-9*A*c+5*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-13//4*c^1//4*(-9*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-13//4*c^1//4*(-9*A*c+5*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-13//4*c^1//4*(-9*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-1//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//6*b^-3*x^-3//2*(-11*A*c+7*B*b)+1//14*b^-2*c^-1*x^-7//2*(-11*A*c+7*B*b)+-1//2*b^-1*c^-1*x^-7//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-15//4*c^3//4*(-11*A*c+7*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-15//4*c^3//4*(-11*A*c+7*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-15//4*c^3//4*(-11*A*c+7*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-15//4*c^3//4*(-11*A*c+7*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-3//2*(b*x^2+c*x^4)^-2*(A+B*x^2), x) == :(-1//10*b^-3*x^-5//2*(-13*A*c+9*B*b)+(1/2)*c*b^-4*x^-1//2*(-13*A*c+9*B*b)+1//18*b^-2*c^-1*x^-9//2*(-13*A*c+9*B*b)+-1//2*b^-1*c^-1*x^-9//2*(b+c*x^2)^-1*(B*b+-1*A*c)+-1//8*2^(1/2)*b^-17//4*c^5//4*(-13*A*c+9*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//16*2^(1/2)*b^-17//4*c^5//4*(-13*A*c+9*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//8*2^(1/2)*b^-17//4*c^5//4*(-13*A*c+9*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//16*2^(1/2)*b^-17//4*c^5//4*(-13*A*c+9*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^23//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//16*c^-4*x^(1/2)*(-117*B*b+45*A*c)+1//80*b^-1*c^-3*x^5//2*(-45*A*c+117*B*b)+-9//64*2^(1/2)*b^1//4*c^-17//4*(-5*A*c+13*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-9//128*2^(1/2)*b^1//4*c^-17//4*(-5*A*c+13*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+-1//4*b^-1*c^-1*x^13//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-1*c^-2*x^9//2*(b+c*x^2)^-1*(-5*A*c+13*B*b)+9//64*2^(1/2)*b^1//4*c^-17//4*(-5*A*c+13*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+9//128*2^(1/2)*b^1//4*c^-17//4*(-5*A*c+13*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^21//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//48*b^-1*c^-3*x^3//2*(-21*A*c+77*B*b)+-1//4*b^-1*c^-1*x^11//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-1*c^-2*x^7//2*(b+c*x^2)^-1*(-3*A*c+11*B*b)+-1//64*2^(1/2)*b^-1//4*c^-15//4*(-21*A*c+77*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-1//4*c^-15//4*(-21*A*c+77*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//64*2^(1/2)*b^-1//4*c^-15//4*(-21*A*c+77*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-1//4*c^-15//4*(-21*A*c+77*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^19//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//16*b^-1*c^-3*x^(1/2)*(-5*A*c+45*B*b)+-1//4*b^-1*c^-1*x^9//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-1*c^-2*x^5//2*(b+c*x^2)^-1*(-1*A*c+9*B*b)+-1//64*2^(1/2)*b^-3//4*c^-13//4*(-5*A*c+45*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-3//4*c^-13//4*(-5*A*c+45*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//64*2^(1/2)*b^-3//4*c^-13//4*(-5*A*c+45*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-3//4*c^-13//4*(-5*A*c+45*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^17//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//4*b^-1*c^-1*x^7//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-1*c^-2*x^3//2*(b+c*x^2)^-1*(A*c+7*B*b)+-1//64*2^(1/2)*b^-5//4*c^-11//4*(3*A*c+21*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-5//4*c^-11//4*(3*A*c+21*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//64*2^(1/2)*b^-5//4*c^-11//4*(3*A*c+21*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-5//4*c^-11//4*(3*A*c+21*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^15//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//4*b^-1*c^-1*x^5//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-1*c^-2*x^(1/2)*(b+c*x^2)^-1*(3*A*c+5*B*b)+-1//64*2^(1/2)*b^-7//4*c^-9//4*(3*A*c+5*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-7//4*c^-9//4*(3*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//64*2^(1/2)*b^-7//4*c^-9//4*(3*A*c+5*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-7//4*c^-9//4*(3*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^13//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//4*b^-1*c^-1*x^3//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//64*2^(1/2)*b^-9//4*c^-7//4*(3*B*b+5*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-9//4*c^-7//4*(3*B*b+5*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//16*b^-2*c^-1*x^3//2*(b+c*x^2)^-1*(3*B*b+5*A*c)+1//64*2^(1/2)*b^-9//4*c^-7//4*(3*B*b+5*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-9//4*c^-7//4*(3*B*b+5*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^11//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//4*b^-1*c^-1*x^(1/2)*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//64*2^(1/2)*b^-11//4*c^-5//4*(3*B*b+21*A*c)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-11//4*c^-5//4*(3*B*b+21*A*c)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//16*b^-2*c^-1*x^(1/2)*(b+c*x^2)^-1*(B*b+7*A*c)+1//64*2^(1/2)*b^-11//4*c^-5//4*(3*B*b+21*A*c)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-11//4*c^-5//4*(3*B*b+21*A*c)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^9//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//16*b^-3*c^-1*x^-1//2*(-45*A*c+5*B*b)+-1//4*b^-1*c^-1*x^-1//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-2*c^-1*x^-1//2*(b+c*x^2)^-1*(B*b+-9*A*c)+-1//64*2^(1/2)*b^-13//4*c^-3//4*(-45*A*c+5*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-13//4*c^-3//4*(-45*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//64*2^(1/2)*b^-13//4*c^-3//4*(-45*A*c+5*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-13//4*c^-3//4*(-45*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^7//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(1//48*b^-3*c^-1*x^-3//2*(-77*A*c+21*B*b)+-1//4*b^-1*c^-1*x^-3//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-2*c^-1*x^-3//2*(b+c*x^2)^-1*(-11*A*c+3*B*b)+-1//64*2^(1/2)*b^-15//4*c^-1//4*(-77*A*c+21*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-1//128*2^(1/2)*b^-15//4*c^-1//4*(-77*A*c+21*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+1//64*2^(1/2)*b^-15//4*c^-1//4*(-77*A*c+21*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+1//128*2^(1/2)*b^-15//4*c^-1//4*(-77*A*c+21*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^5//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//16*b^-4*x^-1//2*(-117*A*c+45*B*b)+1//80*b^-3*c^-1*x^-5//2*(-117*A*c+45*B*b)+-9//64*2^(1/2)*b^-17//4*c^1//4*(-13*A*c+5*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-9//128*2^(1/2)*b^-17//4*c^1//4*(-13*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+-1//4*b^-1*c^-1*x^-5//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-2*c^-1*x^-5//2*(b+c*x^2)^-1*(-13*A*c+5*B*b)+9//64*2^(1/2)*b^-17//4*c^1//4*(-13*A*c+5*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+9//128*2^(1/2)*b^-17//4*c^1//4*(-13*A*c+5*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^3//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//48*b^-4*x^-3//2*(-165*A*c+77*B*b)+1//112*b^-3*c^-1*x^-7//2*(-165*A*c+77*B*b)+-11//64*2^(1/2)*b^-19//4*c^3//4*(-15*A*c+7*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-11//128*2^(1/2)*b^-19//4*c^3//4*(-15*A*c+7*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+-1//4*b^-1*c^-1*x^-7//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-2*c^-1*x^-7//2*(b+c*x^2)^-1*(-15*A*c+7*B*b)+11//64*2^(1/2)*b^-19//4*c^3//4*(-15*A*c+7*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+11//128*2^(1/2)*b^-19//4*c^3//4*(-15*A*c+7*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//80*b^-4*x^-5//2*(-221*A*c+117*B*b)+1//144*b^-3*c^-1*x^-9//2*(-221*A*c+117*B*b)+13//16*c*b^-5*x^-1//2*(-17*A*c+9*B*b)+-13//64*2^(1/2)*b^-21//4*c^5//4*(-17*A*c+9*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-13//128*2^(1/2)*b^-21//4*c^5//4*(-17*A*c+9*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2))+-1//4*b^-1*c^-1*x^-9//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-2*c^-1*x^-9//2*(b+c*x^2)^-1*(-17*A*c+9*B*b)+13//64*2^(1/2)*b^-21//4*c^5//4*(-17*A*c+9*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+13//128*2^(1/2)*b^-21//4*c^5//4*(-17*A*c+9*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^-1//2*(b*x^2+c*x^4)^-3*(A+B*x^2), x) == :(-1//112*b^-4*x^-7//2*(-285*A*c+165*B*b)+1//176*b^-3*c^-1*x^-11//2*(-285*A*c+165*B*b)+5//16*c*b^-5*x^-3//2*(-19*A*c+11*B*b)+-15//64*2^(1/2)*b^-23//4*c^7//4*(-19*A*c+11*B*b)*arctan(1+-1*2^(1/2)*b^-1//4*c^1//4*x^(1/2))+-15//128*2^(1/2)*b^-23//4*c^7//4*(-19*A*c+11*B*b)*log(b^(1/2)+x*c^(1/2)+-1*2^(1/2)*b^1//4*c^1//4*x^(1/2))+-1//4*b^-1*c^-1*x^-11//2*(b+c*x^2)^-2*(B*b+-1*A*c)+-1//16*b^-2*c^-1*x^-11//2*(b+c*x^2)^-1*(-19*A*c+11*B*b)+15//64*2^(1/2)*b^-23//4*c^7//4*(-19*A*c+11*B*b)*arctan(1+2^(1/2)*b^-1//4*c^1//4*x^(1/2))+15//128*2^(1/2)*b^-23//4*c^7//4*(-19*A*c+11*B*b)*log(b^(1/2)+x*c^(1/2)+2^(1/2)*b^1//4*c^1//4*x^(1/2)))
@test integrate(x^5//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//55*c^-1*x^7//2*(b*x^2+c*x^4)^(1/2)*(-10*A*c+6*B*b)+2//15*B*c^-1*x^3//2*(b*x^2+c*x^4)^3//2+-4//385*b*c^-2*x^3//2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+3*B*b)+4//231*b^2*c^-3*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+3*B*b)+-2//231*x*b^11//4*c^-13//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^3//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//117*c^-1*x^5//2*(b*x^2+c*x^4)^(1/2)*(-26*A*c+14*B*b)+2//13*B*c^-1*x^(1/2)*(b*x^2+c*x^4)^3//2+-4//585*b*c^-2*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-13*A*c+7*B*b)+4//195*b^2*c^-5//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-13*A*c+7*B*b)+-4//195*x*b^9//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-13*A*c+7*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+2//195*x*b^9//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-13*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//77*c^-1*x^3//2*(b*x^2+c*x^4)^(1/2)*(-22*A*c+10*B*b)+2//11*B*c^-1*x^-1//2*(b*x^2+c*x^4)^3//2+-4//231*b*c^-2*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-11*A*c+5*B*b)+2//231*x*b^7//4*c^-9//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-11*A*c+5*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-1//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//15*c^-1*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-6*A*c+2*B*b)+2//9*B*c^-1*x^-3//2*(b*x^2+c*x^4)^3//2+-4//15*b*c^-3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(B*b+-3*A*c)+-2//15*x*b^5//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-3*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+4//15*x*b^5//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-3*A*c)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-3//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-1//21*c^-1*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-14*A*c+2*B*b)+2//7*B*c^-1*x^-5//2*(b*x^2+c*x^4)^3//2+-2//21*x*b^3//4*c^-5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-7*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-5//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-2*A*b^-1*x^-7//2*(b*x^2+c*x^4)^3//2+1//5*b^-1*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(2*B*b+10*A*c)+1//5*c^-1//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(4*B*b+20*A*c)+-4//5*x*b^1//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+5*A*c)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+2//5*x*b^1//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+5*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-7//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-2//3*A*b^-1*x^-9//2*(b*x^2+c*x^4)^3//2+1//3*b^-1*x^-1//2*(b*x^2+c*x^4)^(1/2)*(2*A*c+2*B*b)+1//3*x*b^-1//4*c^-1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(2*A*c+2*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-9//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-2//5*A*b^-1*x^-11//2*(b*x^2+c*x^4)^3//2+-1//5*b^-1*x^-3//2*(b*x^2+c*x^4)^(1/2)*(2*A*c+10*B*b)+4//5*b^-1*c^(1/2)*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(A*c+5*B*b)+-4//5*x*b^-3//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+5*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+2//5*x*b^-3//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+5*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-11//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-2//7*A*b^-1*x^-13//2*(b*x^2+c*x^4)^3//2+-1//21*b^-1*x^-5//2*(b*x^2+c*x^4)^(1/2)*(-2*A*c+14*B*b)+2//21*x*b^-5//4*c^3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-1*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-13//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-2//9*A*b^-1*x^-15//2*(b*x^2+c*x^4)^3//2+-1//15*b^-1*x^-7//2*(b*x^2+c*x^4)^(1/2)*(-2*A*c+6*B*b)+-4//15*c*b^-2*x^-3//2*(b*x^2+c*x^4)^(1/2)*(-1*A*c+3*B*b)+4//15*b^-2*c^3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-1*A*c+3*B*b)+-4//15*x*b^-7//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-1*A*c+3*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+2//15*x*b^-7//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-1*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-15//2*(b*x^2+c*x^4)^(1/2)*(A+B*x^2), x) == :(-2//11*A*b^-1*x^-17//2*(b*x^2+c*x^4)^3//2+-1//77*b^-1*x^-9//2*(b*x^2+c*x^4)^(1/2)*(-10*A*c+22*B*b)+-4//231*c*b^-2*x^-5//2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+11*B*b)+-2//231*x*b^-9//4*c^7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+11*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^7//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//105*c^-1*x^9//2*(b*x^2+c*x^4)^3//2*(-10*A*c+6*B*b)+2//25*B*c^-1*x^5//2*(b*x^2+c*x^4)^5//2+-88//49725*b^4*c^-4*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-5*A*c+3*B*b)+-8//7735*b^2*c^-2*x^9//2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+3*B*b)+-4//595*b*c^-1*x^13//2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+3*B*b)+88//69615*b^3*c^-3*x^5//2*(b*x^2+c*x^4)^(1/2)*(-5*A*c+3*B*b)+88//16575*b^5*c^-9//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-5*A*c+3*B*b)+-88//16575*x*b^21//4*c^-19//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+3*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+44//16575*x*b^21//4*c^-19//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^5//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//437*c^-1*x^7//2*(b*x^2+c*x^4)^3//2*(-46*A*c+26*B*b)+2//23*B*c^-1*x^3//2*(b*x^2+c*x^4)^5//2+-24//33649*b^4*c^-4*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-23*A*c+13*B*b)+-8//24035*b^2*c^-2*x^7//2*(b*x^2+c*x^4)^(1/2)*(-23*A*c+13*B*b)+-4//2185*b*c^-1*x^11//2*(b*x^2+c*x^4)^(1/2)*(-23*A*c+13*B*b)+72//168245*b^3*c^-3*x^3//2*(b*x^2+c*x^4)^(1/2)*(-23*A*c+13*B*b)+12//33649*x*b^19//4*c^-17//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-23*A*c+13*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^3//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//357*c^-1*x^5//2*(b*x^2+c*x^4)^3//2*(-42*A*c+22*B*b)+2//21*B*c^-1*x^(1/2)*(b*x^2+c*x^4)^5//2+-8//13923*b^2*c^-2*x^5//2*(b*x^2+c*x^4)^(1/2)*(-21*A*c+11*B*b)+-4//1547*b*c^-1*x^9//2*(b*x^2+c*x^4)^(1/2)*(-21*A*c+11*B*b)+8//9945*b^3*c^-3*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-21*A*c+11*B*b)+-8//3315*b^4*c^-7//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-21*A*c+11*B*b)+-4//3315*x*b^17//4*c^-15//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-21*A*c+11*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+8//3315*x*b^17//4*c^-15//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-21*A*c+11*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//285*c^-1*x^3//2*(b*x^2+c*x^4)^3//2*(-38*A*c+18*B*b)+2//19*B*c^-1*x^-1//2*(b*x^2+c*x^4)^5//2+-8//7315*b^2*c^-2*x^3//2*(b*x^2+c*x^4)^(1/2)*(-19*A*c+9*B*b)+-4//1045*b*c^-1*x^7//2*(b*x^2+c*x^4)^(1/2)*(-19*A*c+9*B*b)+8//4389*b^3*c^-3*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-19*A*c+9*B*b)+-4//4389*x*b^15//4*c^-13//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-19*A*c+9*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-1//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//221*c^-1*x^(1/2)*(b*x^2+c*x^4)^3//2*(-34*A*c+14*B*b)+2//17*B*c^-1*x^-3//2*(b*x^2+c*x^4)^5//2+-8//3315*b^2*c^-2*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-17*A*c+7*B*b)+-4//663*b*c^-1*x^5//2*(b*x^2+c*x^4)^(1/2)*(-17*A*c+7*B*b)+8//1105*b^3*c^-5//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-17*A*c+7*B*b)+-8//1105*x*b^13//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-17*A*c+7*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+4//1105*x*b^13//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-17*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-3//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//33*c^-1*x^-1//2*(b*x^2+c*x^4)^3//2*(-6*A*c+2*B*b)+2//15*B*c^-1*x^-5//2*(b*x^2+c*x^4)^5//2+-8//231*b^2*c^-2*x^-1//2*(b*x^2+c*x^4)^(1/2)*(B*b+-3*A*c)+-4//77*b*c^-1*x^3//2*(b*x^2+c*x^4)^(1/2)*(B*b+-3*A*c)+4//231*x*b^11//4*c^-9//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-3*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-5//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//117*c^-1*x^-3//2*(b*x^2+c*x^4)^3//2*(-26*A*c+6*B*b)+2//13*B*c^-1*x^-7//2*(b*x^2+c*x^4)^5//2+-4//195*b*c^-1*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-13*A*c+3*B*b)+-8//195*b^2*c^-3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-13*A*c+3*B*b)+-4//195*x*b^9//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-13*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+8//195*x*b^9//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-13*A*c+3*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-7//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1//77*c^-1*x^-5//2*(b*x^2+c*x^4)^3//2*(-22*A*c+2*B*b)+2//11*B*c^-1*x^-9//2*(b*x^2+c*x^4)^5//2+-4//77*b*c^-1*x^-1//2*(b*x^2+c*x^4)^(1/2)*(B*b+-11*A*c)+-4//77*x*b^7//4*c^-5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-11*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-9//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(x^(1/2)*(b*x^2+c*x^4)^(1/2)*(4//15*B*b+12//5*A*c)+-2*A*b^-1*x^-11//2*(b*x^2+c*x^4)^5//2+1//9*b^-1*x^-3//2*(b*x^2+c*x^4)^3//2*(2*B*b+18*A*c)+8//15*b*c^-1//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(B*b+9*A*c)+-8//15*x*b^5//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+9*A*c)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+4//15*x*b^5//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+9*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-11//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(1//21*x^-1//2*(b*x^2+c*x^4)^(1/2)*(12*B*b+28*A*c)+-2//3*A*b^-1*x^-13//2*(b*x^2+c*x^4)^5//2+1//21*b^-1*x^-5//2*(b*x^2+c*x^4)^3//2*(6*B*b+14*A*c)+4//21*x*b^3//4*c^-1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(3*B*b+7*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-13//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-1*b^-1*x^-7//2*(b*x^2+c*x^4)^3//2*(2*A*c+2*B*b)+-2//5*A*b^-1*x^-15//2*(b*x^2+c*x^4)^5//2+12//5*c*b^-1*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(A*c+B*b)+24*c^(1/2)*x^3//2*(5*b^(1/2)+5*x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(A*c+B*b)+-24//5*x*b^1//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+12//5*x*b^1//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-15//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-2//7*A*b^-1*x^-17//2*(b*x^2+c*x^4)^5//2+-1//21*b^-1*x^-9//2*(b*x^2+c*x^4)^3//2*(6*A*c+14*B*b)+4//21*c*b^-1*x^-1//2*(b*x^2+c*x^4)^(1/2)*(3*A*c+7*B*b)+4//21*x*b^-1//4*c^3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(3*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-17//2*(b*x^2+c*x^4)^3//2*(A+B*x^2), x) == :(-2//9*A*b^-1*x^-19//2*(b*x^2+c*x^4)^5//2+-1//45*b^-1*x^-11//2*(b*x^2+c*x^4)^3//2*(2*A*c+18*B*b)+-4//15*c*b^-1*x^-3//2*(b*x^2+c*x^4)^(1/2)*(A*c+9*B*b)+8//15*b^-1*c^3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(A*c+9*B*b)+-8//15*x*b^-3//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+9*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+4//15*x*b^-3//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+9*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^13//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//165*c^-2*x^7//2*(b*x^2+c*x^4)^(1/2)*(-30*A*c+26*B*b)+2//15*B*c^-1*x^11//2*(b*x^2+c*x^4)^(1/2)+-2//77*b^2*c^-4*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-15*A*c+13*B*b)+6//385*b*c^-3*x^3//2*(b*x^2+c*x^4)^(1/2)*(-15*A*c+13*B*b)+1//77*x*b^11//4*c^-17//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-15*A*c+13*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^11//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//117*c^-2*x^5//2*(b*x^2+c*x^4)^(1/2)*(-26*A*c+22*B*b)+2//13*B*c^-1*x^9//2*(b*x^2+c*x^4)^(1/2)+14//585*b*c^-3*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-13*A*c+11*B*b)+-14//195*b^2*c^-7//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-13*A*c+11*B*b)+-7//195*x*b^9//4*c^-15//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-13*A*c+11*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+14//195*x*b^9//4*c^-15//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-13*A*c+11*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^9//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//77*c^-2*x^3//2*(b*x^2+c*x^4)^(1/2)*(-22*A*c+18*B*b)+2//11*B*c^-1*x^7//2*(b*x^2+c*x^4)^(1/2)+10//231*b*c^-3*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-11*A*c+9*B*b)+-5//231*x*b^7//4*c^-13//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-11*A*c+9*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^7//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//45*c^-2*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-18*A*c+14*B*b)+2//9*B*c^-1*x^5//2*(b*x^2+c*x^4)^(1/2)+2//15*b*c^-5//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-9*A*c+7*B*b)+-2//15*x*b^5//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-9*A*c+7*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+1//15*x*b^5//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-9*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^5//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-1//21*c^-2*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-14*A*c+10*B*b)+2//7*B*c^-1*x^3//2*(b*x^2+c*x^4)^(1/2)+1//21*x*b^3//4*c^-9//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-7*A*c+5*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^3//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(2//5*B*c^-1*x^(1/2)*(b*x^2+c*x^4)^(1/2)+-1//5*c^-3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-10*A*c+6*B*b)+-1//5*x*b^1//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+2//5*x*b^1//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+3*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(2//3*B*c^-1*x^-1//2*(b*x^2+c*x^4)^(1/2)+-1//3*x*b^-1//4*c^-5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-3*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-1//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-2*A*b^-1*x^-3//2*(b*x^2+c*x^4)^(1/2)+b^-1*c^-1//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(2*A*c+2*B*b)+x*b^-3//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+-1*x*b^-3//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(2*A*c+2*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-3//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-2//3*A*b^-1*x^-5//2*(b*x^2+c*x^4)^(1/2)+1//3*x*b^-5//4*c^-1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-1*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-5//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-2//5*A*b^-1*x^-7//2*(b*x^2+c*x^4)^(1/2)+-1//5*b^-2*x^-3//2*(b*x^2+c*x^4)^(1/2)*(-6*A*c+10*B*b)+2//5*b^-2*c^(1/2)*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-3*A*c+5*B*b)+-2//5*x*b^-7//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-3*A*c+5*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+1//5*x*b^-7//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-3*A*c+5*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-7//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-2//7*A*b^-1*x^-9//2*(b*x^2+c*x^4)^(1/2)+-1//21*b^-2*x^-5//2*(b*x^2+c*x^4)^(1/2)*(-10*A*c+14*B*b)+-1//21*x*b^-9//4*c^3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-9//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-2//9*A*b^-1*x^-11//2*(b*x^2+c*x^4)^(1/2)+-1//45*b^-2*x^-7//2*(b*x^2+c*x^4)^(1/2)*(-14*A*c+18*B*b)+2//15*c*b^-3*x^-3//2*(b*x^2+c*x^4)^(1/2)*(-7*A*c+9*B*b)+-2//15*b^-3*c^3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-7*A*c+9*B*b)+-1//15*x*b^-11//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-7*A*c+9*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+2//15*x*b^-11//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-7*A*c+9*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-11//2*(b*x^2+c*x^4)^-1//2*(A+B*x^2), x) == :(-2//11*A*b^-1*x^-13//2*(b*x^2+c*x^4)^(1/2)+-1//77*b^-2*x^-9//2*(b*x^2+c*x^4)^(1/2)*(-18*A*c+22*B*b)+10//231*c*b^-3*x^-5//2*(b*x^2+c*x^4)^(1/2)*(-9*A*c+11*B*b)+5//231*x*b^-13//4*c^7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-9*A*c+11*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^17//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//77*c^-3*x^3//2*(b*x^2+c*x^4)^(1/2)*(-99*A*c+117*B*b)+-1*b^-1*c^-1*x^15//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//11*b^-1*c^-2*x^7//2*(b*x^2+c*x^4)^(1/2)*(-11*A*c+13*B*b)+15//77*b*c^-4*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-11*A*c+13*B*b)+-15//154*x*b^7//4*c^-17//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-11*A*c+13*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^15//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//45*c^-3*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-63*A*c+77*B*b)+-1*b^-1*c^-1*x^13//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//9*b^-1*c^-2*x^5//2*(b*x^2+c*x^4)^(1/2)*(-9*A*c+11*B*b)+7//15*b*c^-7//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-9*A*c+11*B*b)+-7//15*x*b^5//4*c^-15//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-9*A*c+11*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+7//30*x*b^5//4*c^-15//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-9*A*c+11*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^13//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1//21*c^-3*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-35*A*c+45*B*b)+-1*b^-1*c^-1*x^11//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//7*b^-1*c^-2*x^3//2*(b*x^2+c*x^4)^(1/2)*(-7*A*c+9*B*b)+5//42*x*b^3//4*c^-13//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-7*A*c+9*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^11//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1*b^-1*c^-1*x^9//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//5*b^-1*c^-2*x^(1/2)*(b*x^2+c*x^4)^(1/2)*(-5*A*c+7*B*b)+-1//5*c^-5//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-15*A*c+21*B*b)+-3//10*x*b^1//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+3//5*x*b^1//4*c^-11//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+7*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^9//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1*b^-1*c^-1*x^7//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+1//3*b^-1*c^-2*x^-1//2*(b*x^2+c*x^4)^(1/2)*(-3*A*c+5*B*b)+-1//6*x*b^-1//4*c^-9//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-3*A*c+5*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^7//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1*b^-1*c^-1*x^5//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+b^-1*c^-3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-1*A*c+3*B*b)+(1/2)*x*b^-3//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-1*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+-1*x*b^-3//4*c^-7//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-1*A*c+3*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^5//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-1*b^-1*c^-1*x^3//2*(b*x^2+c*x^4)^-1//2*(B*b+-1*A*c)+(1/2)*x*b^-5//4*c^-5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(A*c+B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^3//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(b^-2*x^5//2*(b*x^2+c*x^4)^-1//2*(B*b+-3*A*c)+-2*A*b^-1*x^(1/2)*(b*x^2+c*x^4)^-1//2+-1*b^-2*c^-1//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(B*b+-3*A*c)+x*b^-7//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-3*A*c)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+-1//2*x*b^-7//4*c^-3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(B*b+-3*A*c)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^(1/2)*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-2//3*A*b^-1*x^-1//2*(b*x^2+c*x^4)^-1//2+1//3*b^-2*x^3//2*(b*x^2+c*x^4)^-1//2*(-5*A*c+3*B*b)+1//6*x*b^-9//4*c^-1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-5*A*c+3*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-1//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-2//5*A*b^-1*x^-3//2*(b*x^2+c*x^4)^-1//2+-1//5*b^-3*x^-3//2*(b*x^2+c*x^4)^(1/2)*(-21*A*c+15*B*b)+1//5*b^-2*x^(1/2)*(b*x^2+c*x^4)^-1//2*(-7*A*c+5*B*b)+3//5*b^-3*c^(1/2)*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-7*A*c+5*B*b)+-3//5*x*b^-11//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-7*A*c+5*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+3//10*x*b^-11//4*c^1//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-7*A*c+5*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-3//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-2//7*A*b^-1*x^-5//2*(b*x^2+c*x^4)^-1//2+-1//21*b^-3*x^-5//2*(b*x^2+c*x^4)^(1/2)*(-45*A*c+35*B*b)+1//7*b^-2*x^-1//2*(b*x^2+c*x^4)^-1//2*(-9*A*c+7*B*b)+-5//42*x*b^-13//4*c^3//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-9*A*c+7*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^-5//2*(b*x^2+c*x^4)^-3//2*(A+B*x^2), x) == :(-2//9*A*b^-1*x^-7//2*(b*x^2+c*x^4)^-1//2+-1//45*b^-3*x^-7//2*(b*x^2+c*x^4)^(1/2)*(-77*A*c+63*B*b)+1//9*b^-2*x^-3//2*(b*x^2+c*x^4)^-1//2*(-11*A*c+9*B*b)+7//15*c*b^-4*x^-3//2*(b*x^2+c*x^4)^(1/2)*(-11*A*c+9*B*b)+-7//15*b^-4*c^3//2*x^3//2*(b^(1/2)+x*c^(1/2))^-1*(b*x^2+c*x^4)^-1//2*(b+c*x^2)*(-11*A*c+9*B*b)+-7//30*x*b^-15//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-11*A*c+9*B*b)*Elliptic.F(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2)+7//15*x*b^-15//4*c^5//4*((b^(1/2)+x*c^(1/2))^-2*(b+c*x^2))^(1/2)*(b*x^2+c*x^4)^-1//2*(b^(1/2)+x*c^(1/2))*(-11*A*c+9*B*b)*Elliptic.E(2*arctan(b^-1//4*c^1//4*x^(1/2)),1/2))
@test integrate(x^m*(b*x^2+c*x^4)^3*(A+B*x^2), x) == :(A*b^3*x^(7+m)*(7+m)^-1+B*c^3*x^(15+m)*(15+m)^-1+b^2*x^(9+m)*(9+m)^-1*(B*b+3*A*c)+c^2*x^(13+m)*(13+m)^-1*(A*c+3*B*b)+3*b*c*x^(11+m)*(11+m)^-1*(A*c+B*b))
@test integrate(x^m*(b*x^2+c*x^4)^2*(A+B*x^2), x) == :(A*b^2*x^(5+m)*(5+m)^-1+B*c^2*x^(11+m)*(11+m)^-1+b*x^(7+m)*(7+m)^-1*(B*b+2*A*c)+c*x^(9+m)*(9+m)^-1*(A*c+2*B*b))
@test integrate(x^m*(A+B*x^2)*(b*x^2+c*x^4), x) == :(x^(5+m)*(5+m)^-1*(A*c+B*b)+A*b*x^(3+m)*(3+m)^-1+B*c*x^(7+m)*(7+m)^-1)
@test integrate((2*x^5+5x)^-1*(4+3*x^4), x) == :(4//5*log(x)+7//40*log(5+2*x^4))
@test integrate((x+-1*x^7)^-1*(1+x^6), x) == :(-1//3*log(1+-1*x^6)+log(x))
@test integrate((-1*x^11+2x)^-1*(8+5*x^10), x) == :(4*log(x)+-9//10*log(2+-1*x^10))
@test integrate((x^3+-1*x^2)^-1*(-3+2x), x) == :(-1*log(1+-1x)+-3*x^-1+log(x))
@test integrate(x^m*(a+b*x^n)^p*(a*x^q*(1+m+q)+b*x^(n+q)*(1+m+q+n*(1+p))), x) == :(x^(1+m+q)*(a+b*x^n)^(1+p))

max_stars_repo_path: test/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q.jl


text:
using Fatou
using SyntaxTree
using LaTeXStrings
using Test

Fatou.Reduce.load_package(:rlfi)
@test newton(:(z^3-1)) |> typeof <: Fatou.Define
#@test orbit(:(1*x),x->x, [-1.7 2π -1.2],17,3,147) == nothing
#@test orbit(:(1*x),x->x, [-1.7 2π -1.2],0,1) == nothing
@test basin(juliafill(:(z^3-1)),1) |> typeof == LaTeXStrings.LaTeXString
@test basin(newton(:(z^3-1)),1) |> typeof == LaTeXStrings.LaTeXString
@test newton(:(z^3-1)) |> fatou |> typeof <: Fatou.FilledSet
@test mandelbrot(:(z^2+c)) |> fatou |> typeof <: Fatou.FilledSet
@test juliafill(:(z^2-0.06+0.67im)) |> fatou |> typeof <: Fatou.FilledSet
#@test (η = Fatou.newton_raphson(:(z^3-1),1); ξ = genfun(η,[:z,:c]); ζ = 2.1; [ξ(ζ,0), [Fatou.recomp(η,ζ,k) for k ∈ 2:3]...]) |> typeof <: Array
# fix for case k ∈ 2:4+

ext: jl


text:
using NeoVim
using FactCheck
FactCheck.setstyle(:compact)

facts("Testing sanedict") do
    @fact NeoVim.sanedict(10) => 10

    s = "Here is string!"
    b = convert(Vector{UInt8}, s)
    @fact NeoVim.sanedict(b) => s

    d = [
        Dict{Any,Any}(
            UInt8[0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77] => Dict{Any,Any}(UInt8[0x69, 0x64] => 1),
            UInt8[0x42, 0x75, 0x66, 0x66, 0x65, 0x72] => Dict{Any,Any}(UInt8[0x69, 0x64] => 0),
            UInt8[0x54, 0x61, 0x62, 0x70, 0x61, 0x67, 0x65] => Dict{Any,Any}(UInt8[0x69, 0x64] => 2)
        ),
        Dict{Any,Any}(
            UInt8[0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e] => Dict{Any,Any}(UInt8[0x69, 0x64] => 0),
            UInt8[0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e] => Dict{Any,Any}(UInt8[0x69, 0x64]=>1)
        )
    ]
    saned = [
        Dict{Any,Any}(
            :Buffer => Dict{Any,Any}(:id => 0),
            :Window => Dict{Any,Any}(:id => 1),
            :Tabpage => Dict{Any,Any}(:id => 2)
        ),
        Dict{Any,Any}(
            :Exception => Dict{Any,Any}(:id => 0),
            :Validation => Dict{Any,Any}(:id => 1)
        )
    ]
    @fact NeoVim.sanedict(d) => saned
end

FactCheck.exitstatus()


text:
module operators_lazyproduct

export LazyProduct

import Base: ==, *, /, +, -
import ..operators

using ..bases, ..states, ..operators, ..operators_dense

"""
    LazyProduct(operators[, factor=1])
    LazyProduct(op1, op2...)

Lazy evaluation of products of operators.

The factors of the product are stored in the `operators` field. Additionally a
complex factor is stored in the `factor` field which allows for fast
multiplication with numbers.
"""
mutable struct LazyProduct <: Operator
    basis_l::Basis
    basis_r::Basis
    factor::Complex128
    operators::Vector{Operator}

    function LazyProduct(operators::Vector{Operator}, factor::Number=1)
        if length(operators) < 1
            throw(ArgumentError("LazyProduct needs at least one operator."))
        end
        for i = 2:length(operators)
            check_multiplicable(operators[i-1], operators[i])
        end
        new(operators[1].basis_l, operators[end].basis_r, factor, operators)
    end
end
LazyProduct(operators::Vector, factor::Number=1) = LazyProduct(convert(Vector{Operator}, operators), factor)
LazyProduct(operators::Operator...) = LazyProduct(Operator[operators...])

Base.copy(x::LazyProduct) = LazyProduct([copy(op) for op in x.operators], x.factor)

Base.full(op::LazyProduct) = op.factor*prod(full.(op.operators))
Base.sparse(op::LazyProduct) = op.factor*prod(sparse.(op.operators))

==(x::LazyProduct, y::LazyProduct) = (x.basis_l == y.basis_l) && (x.basis_r == y.basis_r) && x.operators==y.operators && x.factor == y.factor

# Arithmetic operations
-(a::LazyProduct) = LazyProduct(a.operators, -a.factor)

*(a::LazyProduct, b::LazyProduct) = (check_multiplicable(a, b); LazyProduct([a.operators; b.operators], a.factor*b.factor))
*(a::LazyProduct, b::Number) = LazyProduct(a.operators, a.factor*b)
*(a::Number, b::LazyProduct) = LazyProduct(b.operators, a*b.factor)

/(a::LazyProduct, b::Number) = LazyProduct(a.operators, a.factor/b)

operators.dagger(op::LazyProduct) = LazyProduct(dagger.(reverse(op.operators)), conj(op.factor))

operators.trace(op::LazyProduct) = throw(ArgumentError("Trace of LazyProduct is not defined. Try to convert to another operator type first with e.g. full() or sparse()."))

operators.ptrace(op::LazyProduct, indices::Vector{Int}) = throw(ArgumentError("Partial trace of LazyProduct is not defined. Try to convert to another operator type first with e.g. full() or sparse()."))

operators.permutesystems(op::LazyProduct, perm::Vector{Int}) = LazyProduct(Operator[permutesystems(op_i, perm) for op_i in op.operators], op.factor)

operators.identityoperator(::Type{LazyProduct}, b1::Basis, b2::Basis) = LazyProduct(identityoperator(b1, b2))

# Fast in-place multiplication
function operators.gemv!(alpha, a::LazyProduct, b::Ket, beta, result::Ket)
    tmp1 = Ket(a.operators[end].basis_l)
    operators.gemv!(a.factor, a.operators[end], b, 0, tmp1)
    for i=length(a.operators)-1:-1:2
        tmp2 = Ket(a.operators[i].basis_l)
        operators.gemv!(1, a.operators[i], tmp1, 0, tmp2)
        tmp1 = tmp2
    end
    operators.gemv!(alpha, a.operators[1], tmp1, beta, result)
end

function operators.gemv!(alpha, a::Bra, b::LazyProduct, beta, result::Bra)
    tmp1 = Bra(b.operators[1].basis_r)
    operators.gemv!(b.factor, a, b.operators[1], 0, tmp1)
    for i=2:length(b.operators)-1
        tmp2 = Bra(b.operators[i].basis_r)
        operators.gemv!(1, tmp1, b.operators[i], 0, tmp2)
        tmp1 = tmp2
    end
    operators.gemv!(alpha, tmp1, b.operators[end], beta, result)
end

end # module


text:
function getdivisors(n::Int)::Set{Int}
    ret = Set{Int}(n)
    for i=2:floor(Int, √n)
        if n % i == 0
            push!(ret, i)
            push!(ret, n÷i)
        end
    end
    ret
end

function solve()
    N = parse(Int, readline())
    ks = Set{Int}()
    if N > 2
        union!(ks, getdivisors(N-1))
    end
    for d in getdivisors(N)
        n = N
        while n % d == 0
            n ÷= d
        end
        if n % d == 1
            push!(ks, d)
        end
    end
    println(length(ks))
end

solve()

max_stars_repo_name: aishikawa/atcoder-julia

max_issues_repo_name: aishikawa/atcoder-julia

max_forks_repo_name: aishikawa/atcoder-julia


text:
#!/usr/bin/env julia

using VibronicToolkit

using ArgParse

s = ArgParseSettings()
s.autofix_names = true
@add_arg_table s begin
    "--conf"
        metavar = "FILE"
        help = "path to config file"
        required = true
    "--beta"
        metavar = "T"
        help = "reciprocal temperature"
        arg_type = Float64
        required = true
    "--dbeta"
        metavar = "T"
        help = "finite difference step (in units of beta)"
        arg_type = Float64
    "--num-links"
        metavar = "P"
        help = "number of Trotter links"
        arg_type = Int
        required = true
    "--num-samples"
        metavar = "N"
        help = "number of samples"
        arg_type = Int
        required = true
    "--sampling-conf"
        metavar = "FILE"
        help = "path to sampling config file"
    "--quiet"
        help = "suppress progress meter"
        action = :store_true
end
c = parse_args(ARGS, s, as_symbols=true)

sys = read(c[:conf], DenseSystem)
beta = c[:beta]
if c[:dbeta] !== nothing
    dbeta = c[:dbeta] * beta
else
    dbeta = nothing
end
P = c[:num_links]
num_samples = c[:num_samples]
if c[:sampling_conf] !== nothing
    sampling_sys = read(c[:sampling_conf], DiagonalSystem)
else
    sampling_sys = nothing
end
if c[:quiet]
    progress_output=devnull
else
    progress_output=stderr
end

if dbeta !== nothing
    sampling = SamplingFiniteDifference(sys, beta, dbeta, P, num_samples; sampling_sys=sampling_sys, progress_output=progress_output)
else
    sampling = SamplingPrimitiveThermodynamic(sys, beta, P, num_samples; sampling_sys=sampling_sys, progress_output=progress_output)
end

println("Z: $(sampling.Z) ± $(sampling.Z_err)")
println("E: $(sampling.E) ± $(sampling.E_err)")
println("Cv: $(sampling.Cv) ± $(sampling.Cv_err)")


text:
import Pkg; Pkg.activate("../../")
println("pid: $(getpid())"); flush(stdout)

println("Loading packages...")
using Cytof5
using Random, Distributions
using JLD2, FileIO
using ArgParse
include("compress_data.jl")
include("PreProcess.jl")
include("post_process_defs.jl")

function loadSingleObj(objPath)
  data = load(objPath)
  return data[collect(keys(data))[1]]
end

#{{{1
# ARG PARSING

# Define behavior for vector numerical args (input as space delimited string)
ArgParse.parse_item(::Type{Vector{T}}, x::AbstractString) where {T <: Number} = parse.(T, split(x))

function parse_cmd()
  s = ArgParseSettings()

  @add_arg_table s begin
    "--MCMC_ITER"
      arg_type = Int
      required = true
    "--BURN"
      arg_type = Int
      required = true
    "--K_MCMC"
      arg_type = Int
      required = true
    "--L0_MCMC"
      arg_type = Int
      required = true
    "--L1_MCMC"
      arg_type = Int
      required = true
    "--tau0"
      arg_type = Float64
      default = 0.0
    "--tau1"
      arg_type = Float64
      default = 0.0
    "--SEED"
      arg_type = Int
      default = 0
    "--subsample"
      arg_type = Float64
      default = 0.0
    "--USE_REPULSIVE"
      arg_type = Bool
      default = false
    "--smartinit"
      arg_type = Bool
      default = true
    "--dnoisy"
      arg_type = String
      default = "cauchy"
    "--noisy_scale"
      arg_type = Float64
      default = 10.0

    # Missin mechanism
    "--pBounds"
      arg_type = Vector{Float64}
      default = [.05, .8, .05]
    "--yQuantiles"
      arg_type = Vector{Float64}
      default = [0.0, .25, .5]

    "--RESULTS_DIR"
      arg_type = String
      required = true
    "--EXP_NAME"
      arg_type = String
      required = true
    "--DATA_PATH"
      arg_type = String
      required=true
  end

  return parse_args(s)
end
#}}}1

println("Parsing command args ...")
PARSED_ARGS = parse_cmd()
for (k,v) in PARSED_ARGS
  Cytof5.Model.logger("$k => $v")
end

MCMC_ITER = PARSED_ARGS["MCMC_ITER"]
BURN = PARSED_ARGS["BURN"]
K_MCMC = PARSED_ARGS["K_MCMC"]
L_MCMC = Dict(0 => PARSED_ARGS["L0_MCMC"], 1 => PARSED_ARGS["L1_MCMC"])
TAU0= PARSED_ARGS["tau0"]
TAU1= PARSED_ARGS["tau1"]
SEED = PARSED_ARGS["SEED"]
RESULTS_DIR = PARSED_ARGS["RESULTS_DIR"]
EXP_NAME = PARSED_ARGS["EXP_NAME"]
USE_REPULSIVE = PARSED_ARGS["USE_REPULSIVE"]
cbDataPath = PARSED_ARGS["DATA_PATH"]
subsample = PARSED_ARGS["subsample"]
SMARTINIT = PARSED_ARGS["smartinit"]
noisy_scale = PARSED_ARGS["noisy_scale"]
dnoisy = PARSED_ARGS["dnoisy"] == "normal" ? Normal(0.0, noisy_scale) : Cauchy(0.0, noisy_scale)

# missing mechanism
yQuantiles = PARSED_ARGS["yQuantiles"]
pBounds = PARSED_ARGS["pBounds"]

Random.seed!(SEED);
# End of ArgParse

# CREATE RESULTS DIR
OUTDIR = "$(RESULTS_DIR)/$(EXP_NAME)/"
mkpath(OUTDIR)

# Read CB Data
cbData = loadSingleObj(cbDataPath)
# Reduce Data by removing highly non-expressive / expressive columns
goodColumns, J = PreProcess.preprocess!(cbData, maxNanOrNegProp=.9, maxPosProp=.9,
                                        subsample=subsample, rowThresh=-6.0)
Cytof5.Model.logger("good columns: $goodColumns")

# TODO: Get rid of this when done
# REMOVE ALL CELLS WITH MISSING VALUES IN ANY MARKER
# for i in 1:length(cbData)
#   idx_no_missing = findall(vec(sum(isnan.(cbData[i]), dims=2) .== 0))
#   cbData[i] = cbData[i][idx_no_missing, :]
# end

# Possibly reduce data size
Cytof5.Model.logger(size.(cbData))

# Save Reduced Data
mkpath("$(OUTDIR)/reduced_data")
@save "$(OUTDIR)/reduced_data/reduced_cb.jld2" deepcopy(cbData)

# Create Data Object
dat = Cytof5.Model.Data(cbData)

# MAIN
Cytof5.Model.logger("\nGenerating priors ...");
# sig2_a, sig2_b = Cytof5.Model.solve_ig_params(mu=.1, sig2=.000001)
@time c = Cytof5.Model.defaultConstants(dat, K_MCMC, L_MCMC,
                                        tau0=TAU0, tau1=TAU1,
                                        # sig2_prior=InverseGamma(sig2_a, sig2_b),
                                        # sig2_range=[0.0, 10.0],
                                        sig2_prior=InverseGamma(3.0, 2.0),
                                        alpha_prior=Gamma(0.1, 10.0),
                                        # yQuantiles=[.1, .25, .4], pBounds=[.05, .8, .05],
                                        # yQuantiles=[0.0, .01, .05], pBounds=[.05, .8, .05], # far
                                        # yQuantiles=[0.0, .35, .7], pBounds=[.05, .8, .05], # near
                                        # yQuantiles=[0.0, .25, .5], pBounds=[.05, .8, .05], # paper
                                        yQuantiles=yQuantiles, pBounds=pBounds,
                                        # yBounds=[-5., -3.5, -2.], pBounds=[.05, .8, .05], # custom
                                        # TODO: CHECK
                                        similarity_Z=Cytof5.Model.sim_fn_abs(10000),
                                        probFlip_Z=2.0 / (dat.J * K_MCMC),
                                        #
                                        noisyDist=dnoisy)
# c.eta_prior[0] = Dirichlet(L_MCMC[0], 1.0)
# c.eta_prior[1] = Dirichlet(L_MCMC[1], 1.0)

# Print model constants
Cytof5.Model.printConstants(c)

# Plot missing mechanism
util.plotPdf("$(OUTDIR)/prob_miss.pdf")
R"par(mfrow=c($(dat.I), 1))"
for i in 1:dat.I
  util.plotProbMiss(c.beta, i)
end
R"par(mfrow=c(1,1))"
util.devOff()

Cytof5.Model.logger("\nGenerating initial state ...");
if SMARTINIT
  println("use smart init ...")
  @time init = Cytof5.Model.smartInit(c, dat)
else
  println("init from priors ...")
  @time init = Cytof5.Model.genInitialState(c, dat)
end

# Plot initial Z
util.plotPdf("$(OUTDIR)/Z_init.pdf")
addGridLines(J::Int, K::Int, col="grey") = util.abline(v=(1:K) .+ .5, h=(1:J) .+ .5, col=col)
util.myImage(init.Z, xlab="Features", ylab="Markers", addL=false, f=Z->addGridLines(dat.J, c.K))
util.devOff()

Cytof5.Model.logger("Fitting Model ...");

nsamps_to_thin(nsamps::Int, nmcmc::Int) = max(1, div(nmcmc, nsamps))

# init.sig2 = fill(.3, dat.I) # TODO: remove this?
@time out, lastState, ll, metrics, dden=
  Cytof5.Model.cytof5_fit(init, c, dat,
                          monitors=[[:Z, :lam, :W,
                                     :sig2, :delta,
                                     :alpha, :v,
                                     :eta, :eps],
                                    [:y_imputed, :gam]],
                          thins=[2, nsamps_to_thin(10, MCMC_ITER)],
                          # fix=[:sig2], # TODO: remove this?
                          nmcmc=MCMC_ITER, nburn=BURN,
                          computeLPML=true, computeDIC=true,
                          # computeLPML=true, computeDIC=false,
                          computedden=true, thin_dden=nsamps_to_thin(200, MCMC_ITER),
                          #computedden=true, thin_dden=1,
                          use_repulsive=USE_REPULSIVE,
                          joint_update_Z=true, # TODO CHECK
                          printFreq=10, flushOutput=true)

Cytof5.Model.logger("Saving Data ...");
println("length of dden: $(length(dden))")
@save "$(OUTDIR)/output.jld2" out ll lastState c metrics init dden
@save "$(OUTDIR)/reduced_data/reduced_cb.jld2" compress_data(cbData)

Cytof5.Model.logger("MCMC Completed.");