MATLAB: Is there a reason MuPad doesn’t find the obvious cancellation

mupad simplify

I have:
f := 1/2* sqrt( 16-x^2 )
df := diff( f, x )
simplify( f * sqrt( 1 + df^2 ) )
mupad doesn't find the obvious cancellation (sqrt( 16-x^2 ) should go away)
Why not? Is there an algebraic reason I'm missing, or am I using the simplify function incorrectly, or is it something else?

Best Answer

I'm guessing it's something to do with assumptions about squares and square roots, and maybe denominators. Wouldn't swear to it, though. If you want it to do what you'd probably do by hand, you can try this:
Simplify(f * sqrt( 1 + df^2 ),IgnoreAnalyticConstraints)
(Note the capital S)