Fyi,
I think I mentioned this before at a different forum.
This is just FYI, that Fricas still gives zero for some integrals instead of returning the input if it can't solve it. This confuses the CAS integration test program, as it thinks it solved the integral. I will try to add special check for Fricas to filter these results as not solved. The only legal antiderivative of zero should be when the integrand itself is zero, and there is only one such integral in the whole test suite.
>fricas
Checking for foreign routines
FRICAS="/usr/local/lib/fricas/target/x86_64-linux-gnu"
spad-lib="/usr/local/lib/fricas/target/x86_64-linux-gnu/lib/libspad.so"
FriCAS Computer Algebra System
Version: FriCAS 1.3.8
(1) -> integrate(x/sqrt(1-x^3),x)
(1) 0
1) -> integrate(x/(-x^3+1)^(1/2),x)
(1) 0
(2) -> integrate(x/(-x^3+1)^(1/2),x)
(2) 0
(3) -> integrate(1/2*(log(a*x-1)-2*log(-(a*x-1)^(1/2)))/pi/(a*x-1)^(1/2),x)
(3) 0
etc.. The following is partial list of such integrands.
sqlite> select command_in_sage,fricas_anti from main where fricas_anti="0";
integrate(x/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate(cos(x)*cos(2*x)*sin(3*x)/(-5+4*sin(x)^2)^(5/2),x, algorithm="fricas")|0
integrate(1/2*(log(a*x-1)-2*log(-(a*x-1)^(1/2)))/pi/(a*x-1)^(1/2),x, algorithm="fricas")|0
integrate(0,x, algorithm="fricas")|0
integrate(1/(-2-3*x)^(1/2)/(2+3*x)^(1/2),x, algorithm="fricas")|0
integrate(1/(-b*x-2)^(1/2)/(b*x+2)^(1/2),x, algorithm="fricas")|0
integrate(x^2*(b*x+a)^(1/2)/(-b*x-a)^(1/2),x, algorithm="fricas")|0
integrate(x*(b*x+a)^(1/2)/(-b*x-a)^(1/2),x, algorithm="fricas")|0
integrate((b*x+a)^(1/2)/(-b*x-a)^(1/2),x, algorithm="fricas")|0
integrate((b*x+a)^(1/2)/x/(-b*x-a)^(1/2),x, algorithm="fricas")|0
integrate((b*x+a)^(1/2)/x^2/(-b*x-a)^(1/2),x, algorithm="fricas")|0
integrate((b*x+a)^(1/2)/x^3/(-b*x-a)^(1/2),x, algorithm="fricas")|0
integrate(1/x^(1/2)/(-b*x+a)^(1/2)/(b*x+a)^(1/2),x, algorithm="fricas")|0
integrate(1/x^(1/2)/(-b*x+2)^(1/2)/(b*x+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(2-3*x)^(1/2)/x^(1/2)/(2+3*x)^(1/2),x, algorithm="fricas")|0
integrate(1/(1-x)^(1/2)/x^(1/2)/(1+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(1+x)^(1/2)/(-x^2+x)^(1/2),x, algorithm="fricas")|0
integrate((1+x)^(1/2)/(1-x)^(1/2)/x^(1/2),x, algorithm="fricas")|0
integrate((1+x)^(1/2)/(-x^2+x)^(1/2),x, algorithm="fricas")|0
integrate((1-x)^(1/2)/x^(1/2)/(1+x)^(1/2),x, algorithm="fricas")|0
integrate((-1+1/x)^(1/2)*(1/x)^(1/2)*x^(1/2)/(1+x)^(1/2),x, algorithm="fricas")|0
integrate((1-2*x)^(1/2)/(2+3*x)^(1/2)/(3+5*x)^(1/2),x, algorithm="fricas")|0
integrate((3+5*x)^(1/2)/(1-2*x)^(1/2)/(2+3*x)^(1/2),x, algorithm="fricas")|0
integrate(1/(3-x)^(1/2)/(1+x)^(1/2)/(2+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(2-x)^(1/2)/(1+x)^(1/2)/(3+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(1-x)^(1/2)/(2+x)^(1/2)/(3+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(1-x)^(1/2)/(2-x)^(1/2)/(3-x)^(1/2),x, algorithm="fricas")|0
integrate(1/(-3-x)^(1/2)/(-2+x)^(1/2)/(-1+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(-2-x)^(1/2)/(-3+x)^(1/2)/(-1+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(-1-x)^(1/2)/(-3+x)^(1/2)/(-2+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(-3-x)^(1/2)/(-2-x)^(1/2)/(-1-x)^(1/2),x, algorithm="fricas")|0
integrate((2+3*x)^(1/2)/(1-2*x)^(1/2)/(3+5*x)^(1/2),x, algorithm="fricas")|0
integrate(1/(1-2*x)^(1/2)/(2+3*x)^(1/2)/(3+5*x)^(1/2),x, algorithm="fricas")|0
integrate(1/(6-x)^(1/2)/(-2+x)^(1/2)/(-1+x)^(1/2),x, algorithm="fricas")|0
integrate(1/((6-x)*(-2+x))^(1/2)/(-1+x)^(1/2),x, algorithm="fricas")|0
integrate(1/(-1+x)^(1/2)/(-x^2+8*x-12)^(1/2),x, algorithm="fricas")|0
integrate((2-3*x)^(1/2)/(-5+2*x)^(1/2)/(1+4*x)^(1/2),x, algorithm="fricas")|0
integrate((7+5*x)/(2-3*x)^(1/2)/(-5+2*x)^(1/2)/(1+4*x)^(1/2),x, algorithm="fricas")|0
integrate(1/(2-3*x)^(1/2)/(-5+2*x)^(1/2)/(1+4*x)^(1/2),x, algorithm="fricas")|0
integrate(1/x^(1/2)/(-a^2*x^2+1)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^2-1)^(1/2)/(5*x^2+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^2-1)^(1/2)/(4*x^2+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^2-1)^(1/2)/(3*x^2+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^2-1)^(1/2)/(2*x^2+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^2-1)^(1/2)/(x^2+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(-x^2+2)^(1/2)/(x^2-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(-3*x^2+2)^(1/2)/(x^2-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(-4*x^2+2)^(1/2)/(x^2-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(-5*x^2+2)^(1/2)/(x^2-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(-x^2+1)^(1/2)/(2*x^2-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^2-1)^(1/2)/(7+x^2-4*3^(1/2))^(1/2),x, algorithm="fricas")|0
integrate(1/(3+x^2*(-3+3^(1/2)))^(1/2)/(3-3*3^(1/2)+2*3^(1/2)*x^2)^(1/2),x, algorithm="fricas")|0
integrate(1/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate(x/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate(1/(-x^3-1)^(1/2),x, algorithm="fricas")|0
integrate(x/(-x^3-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(x^4-1)^(1/2),x, algorithm="fricas")|0
integrate((1-x+3^(1/2))/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate((1+x+3^(1/2))/(-x^3-1)^(1/2),x, algorithm="fricas")|0
integrate((1-x-3^(1/2))/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate((1+x-3^(1/2))/(-x^3-1)^(1/2),x, algorithm="fricas")|0
integrate((-1+x+3^(1/2))/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate((-1-x+3^(1/2))/(-x^3-1)^(1/2),x, algorithm="fricas")|0
integrate((d*x+c)/(-x^3+1)^(1/2),x, algorithm="fricas")|0
integrate((d*x+c)/(-x^3-1)^(1/2),x, algorithm="fricas")|0
integrate(1/(3-2*x)^(1/2)/(x^2-3*x+1)^(1/2),x, algorithm="fricas")|0
integrate((3-2*x)^(1/2)/(x^2-3*x+1)^(1/2),x, algorithm="fricas")|0
integrate((3+5*x)^(1/2)/(-12*x^2+5*x+2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4+5*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4+4*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4+3*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4+2*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4+x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4-x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4-2*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4-3*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4-4*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(3*x^4-5*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+7*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+6*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+5*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+4*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+3*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+2*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4+x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4-x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4-2*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4-3*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4-4*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(2*x^4-5*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(-2*x^4+7*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(-2*x^4+6*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(-2*x^4+5*x^2-3)^(1/2),x, algorithm="fricas")|0
integrate(1/(-3*x^4+6*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(-3*x^4+5*x^2-2)^(1/2),x, algorithm="fricas")|0
integrate(1/(-x^4+5*x^2-1)^(1/2),x, algorithm="fricas")|0
etc..
--Nasser