I disagree with the key point of this paper that claims that this way preserve only 7% of entropy bits. At least I think it is not true for x86_64 architecture. Here is the assembly output of this code snippet:
~~~assembler
        cvtsi2sdq       %rax, %xmm0
        movl    $1, %eax
        mulsd   .LC0(%rip), %xmm0
.LC0:
        .long   0
        .long   1018167296
~~~
The `cvtsi2sdq` converts 64 bit register to the 52 bits of mantissa setting exponent if needed. I think that in the case if the integer value is exactly 52 bits, then exponent bits are all 0. The second `mulsd` operation actually sets exponent only to the value 971 (971-1023 = -52). Therefore this code should use 52 bits of entropy. Please tell me if my claims are wrong.