why a double and not a uint64_t?