The following appears to give two different answers.
Any suggestions?
> restart:
> Re(z);
> Re(a);
> Re(b);
> assume(a>0,b>0,z>0);
> H:=sqrt(b*(1+z)^3+a);
> bot:=int(1/H,z=0..infinity);
> evalf(subs(a=3/4,b=1/4,bot));
> H1:=sqrt((1/4)*(1+z)^3+3/4);
> int(1/H1,z=0..infinity);
> evalf(%);
Branch cuts
This seems to be another branch cut problem.
I think it's a bit more convenient to take a = 1.
Now EllipticF(z,k) has a branch point at z=1, corresponding to b = -10 + 6*sqrt(3) = .39230485..., and plotting J and W near there shows that J (the actual integral, as evaluated numerically) appears to be smooth there but W is not.
My guess is that for b < -10 + 6*sqrt(3), the wrong branch of EllipticF is being used.