Arduino vs Math precision

When printing float variables using Serial.print, which derives from the Print class, the default behavior is to print float values using two decimal places. This is what you are seeing.

You can specify an optional argument to the Serial.print function, when the first argument is a float, to specify the number of decimal places to print.

Try using

Serial.print("Julian date: ");
Serial.print(result, 4);
Serial.println();

This should print the value with 4 decimal places.