This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
Conversion of an int or a long value to float, or of a long value to double, may result in loss of precision
As long as you cast ints to doubles, you may assume the resulting value will be an exact integer representation. However, as soon as you start performing floating point arithmetic on those values, you will lose any such guarantees. So no, the operations you describe are not safe. Whether or not they lose information, they can not guarantee they won't lose information.
It would be wise to treat any operation you perform on floating point values as lossy.