integrate(sqrt(x+sqrt(x)),x)



See http://sourceforge.net/p/maxima/bugs/2526/.

The code in abs_integrate has little to do with finding the antiderivative of sqrt(x+sqrt(x)). Somewhere Maxima's integrator changes the 
integrand to sqrt(sqrt(x)+1)*x^(1/4).  On this, integrate returns a nounform, so sqrt(sqrt(x)+1)*x^(1/4) is sent to extra_integrate, the top-level function in abs_integrate.

Extra_integrate sends this to signum_int. Since this expression doesn't involve the signum function, the integration is turned back to integrate.  But Maxima's
integrator has no problem with sqrt(sqrt(x)+1)*x^(1/4).  This seems like a weakness in Maxima's integrator--it seems that abs_integrate shouldn't be needed.

Also, the person that filed the bug report, says that s/he is unable to find my commit--if my fix is in the wrong place, let me know. I see it here

http://sourceforge.net/mailarchive/forum.php?thread_name=From_willisbl%40users.sourceforge.net_Sun_Dec_30_14%3A34%3A20_2012&forum_name=maxima-commits

The fixed signum_int--you can see how it punts to integrate when the integrand doesn't involve signum:

signum_int(q,x) := block([w : 1, acc : [], sgn, v, f, listconstvars : true],
  q : convert_to_signum(q),
  if freeof('signum, q) then (
    q : block([extra_integration_methods : []], integrate(trigsimp(q),x)),
    if freeof('integrate, nounify('integrate),q) then q else false)
  else (
    .....)

--Barton


(%i3) trace(extra_integrate,integrate)$
(%i4) integrate(sqrt(x+sqrt(x)),x);
1" Enter "integrate[sqrt(x+sqrt(x)),x]
 .1" Enter "extra_integrate[sqrt(sqrt(x)+1)*x^(1/4),x]
 ..2" Enter "integrate[sqrt(sqrt(x)+1)*x^(1/4),x]
 ..2" Exit  "integrate-(-(3*sqrt(sqrt(x)+1))/x^(1/4)-(8*(sqrt(x)+1)^(3/2))/x^(3/4)+(3*(sqrt(x)+1)^(5/2))/x^(5/4))/((36*(sqrt(x)+1))/sqrt(x)-(36*(sqrt(x)+1)^2)/x+(12*(sqrt(x)+1)^3)/x^(3/2)-12)+log(sqrt(sqrt(x)+1)/x^(1/4)+1)/8-log(sqrt(sqrt(x)+1)/x^(1/4)-1)/8
 .1" Exit  "extra_integrate-(-(3*sqrt(sqrt(x)+1))/x^(1/4)-(8*(sqrt(x)+1)^(3/2))/x^(3/4)+(3*(sqrt(x)+1)^(5/2))/x^(5/4))/((36*(sqrt(x)+1))/sqrt(x)-(36*(sqrt(x)+1)^2)/x+(12*(sqrt(x)+1)^3)/x^(3/2)-12)+log(sqrt(sqrt(x)+1)/x^(1/4)+1)/8-log(sqrt(sqrt(x)+1)/x^(1/4)-1)/8
1" Exit  "integrate-(-(3*sqrt(sqrt(x)+1))/x^(1/4)-(8*(sqrt(x)+1)^(3/2))/x^(3/4)+(3*(sqrt(x)+1)^(5/2))/x^(5/4))/((36*(sqrt(x)+1))/sqrt(x)-(36*(sqrt(x)+1)^2)/x+(12*(sqrt(x)+1)^3)/x^(3/2)-12)+log(sqrt(sqrt(x)+1)/x^(1/4)+1)/8-log(sqrt(sqrt(x)+1)/x^(1/4)-1)/8
(%o4) -(-(3*sqrt(sqrt(x)+1))/x^(1/4)-(8*(sqrt(x)+1)^(3/2))/x^(3/4)+(3*(sqrt(x)+1)^(5/2))/x^(5/4))/((36*(sqrt(x)+1))/sqrt(x)-(36*(sqrt(x)+1)^2)/x+(12*(sqrt(x)+1)^3)/x^(3/2)-12)+log(sqrt(sqrt(x)+1)/x^(1/4)+1)/8-log(sqrt(sqrt(x)+1)/x^(1/4)-1)/8