I speculate that you have
in effect (because it is the default),
and that you are taking the 4-decimal-place results that are being displayed, and typing them in by hand as inputs to the function, and are finding that the function does not return (nearly) 0 for those inputs.
When you use fsolve, you should assign the first output to a variable, and pass the variable into the function if you want to test, not type in the results by hand. Especially with nonlinear functions, every bit of the coefficients returned by fsolve might be important.