There is nothing wrong with the code you have shown us. If the inputs are given by the comments, then the result should not be 0.0
.
So if it is then either:
the actual inputs do not have the values that you think that they do,
the actual output value is different to what you think it is; e.g. you are printing a different variable ... or something after this code is changing it, or
that is not the code you are executing it; e.g. you've not recompiled it and the code you are running no longer matches the source code.
If this does not help you find the real cause of the problem, you will need to write an SSCCE ... so that other people can actually reproduce your problem for themselves.