I'm reverse engineering an application which commonly adds
4.294967296e9 to a double if the number is negative. Part of the disassembly:
mov eax, label_to_memory fild label_to_memory test eax, eax jge short some_label fadd ds:some_double_value some_label:
If I'm correct, it takes the jump if the highest bit isn't set, i.e. its a positive number.
some_double_value points to the constant
To understand what the piece of code is doing I need to know why it adds this specific number, the only piece of Information I found was a line of code in http://web.mit.edu/~mkgray/afs/bar/afs/net/project/attic/quipu/isode-8.0/others/ntp/ntpsubs.c which says
#ifdef VAX_COMPILER_FLT_BUG if (b < 0.0) b += 4.294967296e9; #endif
So, what is the significance of that number?
Additional Info: The number can not be negative, so this can actually never happen.