I don't know exactly which MCU you are using but generally try to avoid floating point numbers in XC8, only becasue the MCUs that it targets don't have any form of arithemtic unit - everything is done in firmware library functions that can take a lot of FLASH and can be (relatively) slow to execute.
Also remember that many compilers for embedded devices try not to automatically perform promotions which is why your original expression is completely performed in integer arithmetic (even if you were to delare the result as floating point).
You can often find ways to get around this using scaled integers and similar techniques.
Susan