No, you will never get exactly zero. You are doing numeric calculations, using limited precision (IEEE 64 bit format uses a 53 bit mantissa). While the mathematical theory is based on real numbers, which are dense and uncountably infinite in number, the actual numbers you get to use are a finite subset of the rational numbers. There will always be rounding error.
To get exact results you would have to use only integer inputs (no decimal points, fraction values represented as ratios of integers) and then use the symbolic processor. That, in principle, can get you exact results. But ..... the results will be rational numbers (ratios of integers) and the integers can be very long. Commonly too long to be of any practical use, and not infrequently too long for even the symbolic processor to handle.
__________________
� � � � Tom Gutman